# Create a user Endpoint: POST /v1/users Version: 1.0.0_Beta ## Request fields (application/json): - `firstName` (string, required) First Name of the user Example: "John" - `lastName` (string, required) Last Name of the user Example: "Doe" - `displayName` (string) Display name of the user Example: "John Doe" - `emailAddress` (string, required) Email address of the user Example: "johndoe@xyz.com" - `phoneNumber` (string) User’s phone number Example: "989915487" - `faxNumber` (string) User’s fax number Example: "01154785" - `street` (string) Street portion of address Example: "High Street" - `city` (string) City portion of address Example: "New York" - `state` (string) State portion of address Example: "The Empire State" - `zipcode` (string) Postal code of address Example: "10118" - `country` (string) Two-letter country code Example: "US" - `locale` (string) User’s locale Example: "en_US" - `portalLogin` (boolean) Whether the User requires portal login or not? Example: true - `userName` (string) Important: The user name must match the email address for the user. If canLogin is set to false, this field is ignored. if canLogin is set to true, this field is required. Example: "johndoe@xyz.com" - `status` (string) Flag to indicate if the user should be Active or Inactive, Status can be one of the following values: Active, Inactive Example: "Active" - `timezone` (string) Provide time zone setting in the format: GMT#.#DST#. When a user is saved, this offset is converted to a time zone string and the time zone string is displayed when a user is retrieved. Example: "GMT-6.0DST0" - `shared` (boolean) Is this a shared login among several users? - `accountRoles` (array, required) List of account associated with user. Set user's account and list of the user’s roles. User name and roles are required if the user can log in - `accountRoles.accountName` (string, required) Account Name [unique identifier of Account - short name] which needs to be linked to User Example: "123456" - `accountRoles.expiryDate` (string) Expiry date of the user in YYYY-MM-DD format. Expiry date should be provided when canLogin flag is true. It is the date when user is no longer linked to the account. If included, the value cannot be null. If not included, the user's access to the account will not expire. Example: "2025-12-30" - `accountRoles.roles` (array, required) List of roles. Example: ["USER","ADMIN"] - `attributes` (array) List of user custom attributes. Note that mandatory custom attributes must be included in this list - `attributes.name` (string) Name of the custom attribute Example: "REGION" - `attributes.value` (object) Value assigned to the custom attribute. Format and example depend on the type: - Single Text: "EMEA" - Multi-valued text: provide list of values between brackets [] delimited by , (e.g. ["Text1", "Text2"]) - Date: "YYYY/MM/DD" (e.g. "2025/12/31") - Number: 12345 Example: "EMEA" - `optIn` (boolean) Whether the User should opt to receive email notifications - `canLogin` (boolean) Indicates whether created user can login to portal or not. If canLogin is false, the user is treated as a contact. Example: true ## Response 201 fields (application/json): - `status` (string) ## Response 400 fields (application/json): - `status` (string) - `message` (string) ## Response 500 fields (application/json): - `status` (string) - `message` (string)