Create Account User

Beta
POST/v1/identity/account-users

Idempotent with Idempotency-Key header. Learn more

Adds a user to the target account.

If no user with the given email or username exists, a new user is created and sent a welcome email containing a generated password. If a matching user already exists, that user is added to the account instead.

include[]optional arrayenumValues:userroledepartment

Sub-objects to expand in the response. When omitted, sub-objects are returned as null.

nameoptional string

User display name.

emailoptional string

User email address.

Either email or username must be provided. If a user with this email already exists, that user is added to the account instead of a new user being created.

usernameoptional string

Unique username.

3–255 characters; letters, numbers, underscores, and hyphens. Either email or username must be provided. Providing a username without an email creates a scanning station user.

passwordoptional string

Password for scanning station users.

Required when creating a scanning station user (username without email) and rejected for all other users, who instead receive a generated password in their welcome email. Must be 8–72 characters and include an uppercase letter, a lowercase letter, a number, and a special character.

role_idoptional string

ID of the role to assign to the user.

Ignored for scanning station users, which are always assigned the scanner role.

department_idoptional string

ID of the department to assign to the user.

preferencesoptional array of object

Notification preference toggles for the new user.

Only applies when creating a user in another account you manage (cross-account); ignored when creating a user in your own account.

notification_typestringenumValues:invoiceorder_acknowledgementpurchase_order_submission

Notification type.

enabledboolean

Whether this notification type is enabled for the account user.

idstring

Account user ID.

userobjectExpandablenullable

Underlying user.

idstring

User ID.

objectstringenumValues:user

Resource type identifier.

emailstringnullable

Email address.

namestringnullable

User's full display name.

usernamestringnullable

Username.

email_verified_atstring (date-time)nullable

When the user verified their email address.

image_urlstringnullable

URL of the user's profile image.

created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

objectstringenumValues:account_user

Resource type identifier.

statusstringenumValues:activedisabledremoved

Account user status.

  • active: the user can access the account.
  • disabled: the user is locked out of the account.
  • removed: the user has been removed (soft-deleted) from the account.
roleobjectExpandablenullable

Assigned role.

idstring

Role ID.

objectstringenumValues:role

Resource type identifier.

namestring

Display name, unique within the account.

typestringenumValues:adminuserscanner

The kind of role.

The role's type is sometimes used to gate special behaviors and to restrict some actions to only certain types of roles. For example, only roles with the type admin can create and manage API keys.

  • admin: full administrative access, including managing API keys.
  • user: a custom role tailored to a specific need (its permissions are defined explicitly). Roles created through the API always have this type.
  • scanner: a role for scanning-station operators.
  • sales_rep: a role for sales representatives.
  • agent: a role assigned to an automated agent rather than a person.
ownerobjectnullable

Provenance of this role.

System-owned roles are global defaults shared across all accounts and cannot be modified or deleted; account-owned roles are custom roles created by that account.

Always returned as null in this endpoint.
permissionsarray of stringnullable

Permissions granted by this role, in {domain}:{action} format, such as customers:read.

created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last updated timestamp.

departmentobjectExpandablenullable

Assigned department.

idstring

Department ID.

objectstringenumValues:department

Resource type identifier.

namestring

Display name of the department.

Unique within the account.

notesstringnullable

Free-form notes about the department.

locationobjectnullable

The storage location where this department operates.

Always returned as null in this endpoint.
scanning_stationsobjectnullable

Scanning stations in this department.

Always returned as null in this endpoint.
machinesobjectnullable

Machines in this department.

Always returned as null in this endpoint.
created_atstring (date-time)

Creation timestamp.

updated_atstring (date-time)

Last update timestamp.

last_used_atstring (date-time)nullable

When the user last accessed this account.

created_atstring (date-time)

When the account user was created.

updated_atstring (date-time)

When the account user was last updated.

Responses

201

Successful response for Create Account User