Skip to main content
PATCH
Update a user
Send only the fields to change: an omitted field, or an empty firstName, lastName or cpf, keeps the current value. Listing an organization the user doesn’t belong to yet adds them to it with a personal wallet, like POST /realms/{realmId}/users/{userId}/organizations/{organizationId}/assign; organizations you don’t list are kept. The e-mail address can’t be changed. Only a realm administrator can update another user: an API client, which is an organization admin, gets 403.

Path Parameters

realmId
string<uuid>
required

ID of your realm.

Format: UUID

userId
string<uuid>
required

ID of the user to update.

Format: UUID

Body

application/json
firstName
string

First name. An empty value keeps the current one.

Example:

"Ana"

lastName
string

Last name. An empty value keeps the current one.

Example:

"Souza"

cpf
string

CPF, digits only. Must be a valid CPF; an empty value keeps the current one.

Example:

"52998224725"

birthdate
string<date-time>

Date of birth, as an ISO 8601 date-time at midnight UTC. A plain YYYY-MM-DD date is also accepted.

Example:

"1990-05-17T00:00:00.000Z"

phone
string

Phone number in E.164 format: +, the country code and the number, digits only. Mobile or landline, Brazilian or not.

Pattern: ^\+[1-9]\d{7,14}$
Example:

"+5511987654321"

realm
object

The user's realm.

organizations
object[]

Organizations to update or add. A listed organization the user already belongs to gets the new level; one they don't belong to yet is added, with a personal wallet. Organizations you don't list are kept.

customFields
object

Values of the realm's user custom fields, keyed by the custom field's slug, for example {"cost-center": "Marketing"}. Replaces every stored value: send {} to clear them, or omit the field to keep them.

Response

Successful response

A user of the realm.

id
string<uuid>
required

ID of the user.

Example:

"8f1c2d3e-4b5a-4c6d-9e7f-a1b2c3d4e5f6"

email
string
required

E-mail address the user signs in with. It can't be changed.

Example:

"ana.souza@acme.com.br"

firstName
string
required

First name.

Example:

"Ana"

lastName
string
required

Last name.

Example:

"Souza"

cpf
string
required

CPF, digits only.

Example:

"52998224725"

status
enum<string>
required

Lifecycle status. IN_ONBOARDING: invited, still completing onboarding. ACTIVE: can sign in. DEACTIVATED: access removed by an administrator. BLOCKED: access suspended, for example after too many wrong PINs. CREATING: being set up.

Available options:
IN_ONBOARDING,
CREATING,
ACTIVE,
DEACTIVATED,
BLOCKED
Example:

"ACTIVE"

statusCode
enum<string>
required

Reason behind status: USER_ACTIVE, USER_DEACTIVATED, ONLY_ONBOARDING, or the cause of a block (BLOCKED_BY_PIN, BLOCKED_BY_MFA, BLOCKED_BY_ADMIN).

Available options:
BLOCKED_BY_PIN,
BLOCKED_BY_MFA,
BLOCKED_BY_ADMIN,
USER_ACTIVE,
USER_DEACTIVATED,
ONLY_ONBOARDING
Example:

"USER_ACTIVE"

realm
object
required

The user's realm and their access level in it.

hasMfa
boolean
required

Whether the user has set up multi-factor authentication.

Example:

true

hasPin
boolean
required

Whether the user has created a transaction PIN.

Example:

true

hasFacialBiometric
boolean
required

Whether the user's face was validated during onboarding.

Example:

true

pinErrorsCount
number
required

Consecutive wrong PIN attempts. At 3 the user is blocked (BLOCKED_BY_PIN).

Example:

0

mfaErrorsCount
number
required

Consecutive wrong multi-factor codes.

Example:

0

createdAt
string<date-time>
required

When the user was created.

Example:

"2026-03-02T14:21:07.512Z"

updatedAt
string<date-time>
required

When the user last changed.

Example:

"2026-10-13T18:43:50.746Z"

createdBy
string
required

ID of the user or API client that created this user. Empty when unknown.

Example:

"43230779-2cfb-4525-a40c-77fbf15e68f0"

updatedBy
string
required

ID of the user or API client that last changed this user. Empty when unknown.

Example:

"43230779-2cfb-4525-a40c-77fbf15e68f0"

deletedBy
string
required

ID of the user or API client that deactivated this user. Empty unless the user was deactivated.

Example:

""

organizations
object[]
required

Organizations of the realm the user belongs to.

birthdate
string<date-time>

Date of birth, at midnight UTC.

Example:

"1990-05-17T00:00:00.000Z"

phone
string

Phone number in E.164 format. Omitted when the user has none.

Example:

"+5511987654321"

customFields
object

Values of the realm's user custom fields, keyed by the custom field's slug, for example {"cost-center": "Marketing"}. Omitted when the user has none.