# Edit user details Updates user details on the caller's active account. Requires EM_ACCOUNT.USER edit permission. The target user is identified by login and must belong to the active account. Required fields: login, firstName, lastName, and status. Endpoint: POST /users/action/edit Version: 1.0.0-beta Security: bearerToken ## Request fields (application/json): - `firstName` (string, required) Must not contain digits (0-9). Special characters are allowed. Same validation as legacy EMA UI. Example: "John" - `middleName` (string) Must not contain digits (0-9). Special characters are allowed. Same validation as legacy EMA UI. Example: "Jackson" - `lastName` (string, required) Must not contain digits (0-9). Special characters are allowed. Same validation as legacy EMA UI. Example: "Doe" - `email` (string, required) Example: "john.doe@example.com" - `jobTitle` (string, required) Example: "Portfolio Manager" - `telephone` (string) Example: "555-123-4567" - `authSubject` (string) Example: "auth0|asdfghjkl1234567890" - `login` (string) User login name. Required when editing an existing user. Example: "johndoe" - `address` (object, required) - `address.postalCode` (string, required) Example: "12345" - `address.city` (string, required) Example: "New York" - `address.country` (string, required) Ref.Data.COUNTRY - `address.addressLineOne` (string, required) Example: "5 Broadway" - `address.addressLineTwo` (string) Example: "5th floor" - `address.stateProvince` (string) Ref.Data.STATE_PROVINCE - `organizationRelationship` (string) Ref.Data.USER_ORGANIZATION_RELATIONSHIP - `roles` (array) Account-scoped entitlement roles only. Enum: "ACCOUNT_ADMIN", "ACCOUNT_MANAGER", "EXCHANGE_READ", "EXCHANGE_WRITE", "PORTFOLIO_READ", "PORTFOLIO_WRITE" - `status` (string) Ref.Data.USER_STATUS ## Response 200 fields (application/json): - `firstName` (string, required) Must not contain digits (0-9). Special characters are allowed. Same validation as legacy EMA UI. Example: "John" - `middleName` (string) Must not contain digits (0-9). Special characters are allowed. Same validation as legacy EMA UI. Example: "Jackson" - `lastName` (string, required) Must not contain digits (0-9). Special characters are allowed. Same validation as legacy EMA UI. Example: "Doe" - `email` (string, required) Example: "john.doe@example.com" - `jobTitle` (string, required) Example: "Portfolio Manager" - `telephone` (string) Example: "555-123-4567" - `authSubject` (string) Example: "auth0|asdfghjkl1234567890" - `login` (string) User login name. Required when editing an existing user. Example: "johndoe" - `address` (object, required) - `address.postalCode` (string, required) Example: "12345" - `address.city` (string, required) Example: "New York" - `address.country` (string, required) Ref.Data.COUNTRY - `address.addressLineOne` (string, required) Example: "5 Broadway" - `address.addressLineTwo` (string) Example: "5th floor" - `address.stateProvince` (string) Ref.Data.STATE_PROVINCE - `organizationRelationship` (string) Ref.Data.USER_ORGANIZATION_RELATIONSHIP - `roles` (array) Account-scoped entitlement roles only. Enum: "ACCOUNT_ADMIN", "ACCOUNT_MANAGER", "EXCHANGE_READ", "EXCHANGE_WRITE", "PORTFOLIO_READ", "PORTFOLIO_WRITE" - `account` (object) Optional property. Use include param. - `account.id` (integer, required) - `account.identifier` (string, required) Example: "0980A123" - `account.noOfUsers` (integer, required) - `account.status` (string, required) Ref.Data.ACCOUNT_STATUS Example: "APPROVED" - `account.maxUsers` (number, required) - `account.childAccounts` (array, required) - `account.registryLinks` (array, required) - `account.registryLinks.program` (string, required) Ref.Data.PROGRAM - `account.registryLinks.registryAccountId` (string, required) - `account.registryLinks.status` (string, required) Ref.Data.REGISTRY_LINK_STATUS - `account.registryLinks.lastSyncDate` (string,null) Incremental sync watermark (RFC 3339 date-time), equivalent to the server's sync time identifier used for incremental sync. Omitted or null when the registry link has never been synced. - `account.organization` (object, required) - `account.organization.iamOrgId` (string) - `account.organization.legalName` (string, required) Example: "RVCMC Sub Default" - `account.organization.structure` (string, required) Ref.Data.ORGANIZATION_LEGAL_STRUCTURE Example: "PRIVATELY_OWNED_CORP" - `account.organization.type` (string, required) Ref.Data.ORGANIZATION_TYPE Example: "BROKER" - `account.services` (array, required) Service accounts for this EMA account. Each item is an AccountService - `account.services.status` (string, required) Ref.Data.SERVICE_ACCOUNT_STATUS Example: "APPROVED" - `account.services.type` (string, required) Ref.Data.SERVICE_TYPE Example: "ACX" - `account.services.attributes` (any) Shape is determined by the parent service type (Ref.ServiceType), using mapping: ACX → AcxAccountServiceAttributes; SUBACCOUNT_SERVICE → SubaccountAccountServiceAttributes; CUSTODIAN_SERVICE → CustodianAccountServiceAttributes. If there are no service attributes (all other service types), do not display this object — omit attributes, or return attributes as an empty object. - `status` (string) Ref.Data.USER_STATUS - `lastLogin` (string) Last login timestamp - `isAdmin` (boolean) ## Response 400 fields (application/json): - `code` (string) Enum: "INVALID_REQUEST" - `message` (string) ## Response 401 fields (application/json): - `message` (string) ## Response 404 fields (application/json): - `message` (string) ## Response 500 fields (application/json): - `message` (string)