Users
Create a user
Create a new account user with explicit invite control.
Invite modes
- NONE — add the user directly with no invitation (for SSO-only accounts). The user is immediately active and can log in via the configured identity provider.
- EMAIL_LINK — create an INVITED invitation and send the user an email with a verification link to complete registration.
- TEMPORARY_PASSWORD — create an INVITED invitation with a temporary password (returned once in the response). The user must reset it on first login.
Idempotency on email (applies when invite_mode != "NONE")
| Existing state | Behavior | Response |
|---|---|---|
| No prior invitation | Create a new INVITED invitation | 201 Created |
| INVITED (not yet accepted) | Return the existing invitation as-is; do not resend | 200 OK |
| ACTIVE | Email belongs to an existing member | 409 Conflict |
| EXPIRED | Create a new INVITED invitation | 201 Created |
| inactive | User has been deactivated and cannot be re-invited | 409 Conflict |
When invite_mode is NONE and the email already belongs to an active account member, the request returns 409 Conflict.
Payload requirements
- name — required, 1–255 characters
- email — required, must be a valid email address; used as the idempotency key
- role — required, one of ADMIN, MEMBER, ANNOTATOR; sets the account-level role
- invite_mode — required, one of NONE, EMAIL_LINK, TEMPORARY_PASSWORD
Requires account admin role or USER_CREATE permission.
<Note>This endpoint is in beta, read more here.</Note>
post/v2/users
Request body
Example request
{
"email": "user@example.com",
"role": {
"id": "RW50aXR5OjEyMzQ1"
}
}Response
An account user object
Example response
{
"id": "RW50aXR5OjEyMzQ1",
"email": "user@example.com",
"role": {
"id": "RW50aXR5OjEyMzQ1"
}
}