Clerk
App · Compliance & Security · 20 actions
Manage Clerk users, organizations, memberships and invitations with a Clerk secret key.
Actions
| Action | What it does |
|---|---|
| Add a member to a Clerk organization | Add an existing user to an organization with a role. |
| Add an email address to a Clerk user | Attach another email address to an existing user. |
| Ban a Clerk user | Ban a user: they are signed out of every session and cannot sign in again until unbanned. |
| Count Clerk users | Count the users in the instance, optionally narrowed by the same search filters as List users. |
| Create a Clerk invitation | Invite an email address to sign up. |
| Create a Clerk organization | Create an organization. |
| Create a Clerk user | Create a user directly, without a sign-up flow. |
| Delete a Clerk organization | Delete an organization and every membership in it. |
| Delete a Clerk user | Delete a user permanently. |
| Get a Clerk organization | Fetch one organization by its id or its slug. |
| Get a Clerk user | Fetch one user by id, with their email addresses. |
| List Clerk organization members | List an organization's members, optionally filtered to one role. |
| List Clerk organizations | List the instance's organizations, newest first. |
| List Clerk users | List users in the Clerk instance, with optional search, created-date and banned filters. |
| Remove a Clerk email address | Remove an email address from the user it belongs to. |
| Revoke a Clerk invitation | Revoke a pending invitation so its link stops working. |
| Unban a Clerk user | Lift a ban so the user can sign in again. |
| Update a Clerk organization | Change an organization's name, slug or member cap. |
| Update a Clerk user | Change a user's profile fields. |
| Update Clerk user metadata | Merge metadata into a user. |
Add a member to a Clerk organization
Add an existing user to an organization with a role. The user must already exist in the instance.
Inputs
- Organization ID
organization_idtextRequired - The organization, as an org_... id.
- User ID
user_idtextRequired - The user to add to the organization.
- Role
roletextRequired - The role key to give them, such as org:member. Pick from the instance's roles or type one.
Outputs
created_atnumberidtextobjecttextorganizationobjectpermissionslistprivate_metadataobjectpublic_metadataobjectpublic_user_dataobjectroletextrole_nametextupdated_atnumber
Example output
{
"created_at": 1772452500000,
"id": "orgmem_2c8VwKtOsNgQzUzW7pBeKvDhZmI",
"object": "organization_membership",
"organization": {
"admin_delete_enabled": true,
"created_at": 1772452400000,
"created_by": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"has_image": false,
"id": "org_2c8VwJsNrMfPzTzV6oAdJuCgYlH",
"image_url": "https://img.clerk.com/org-preview.png",
"max_allowed_memberships": 5,
"members_count": 1,
"name": "Avery Consulting",
"object": "organization",
"pending_invitations_count": 0,
"private_metadata": {},
"public_metadata": {},
"slug": "avery-consulting",
"updated_at": 1772452400000
},
"permissions": [
"org:sys_profile:read"
],
"private_metadata": {},
"public_metadata": {},
"public_user_data": {
"first_name": "Jordan",
"has_image": false,
"identifier": "jordan.avery@example.com",
"image_url": "https://img.clerk.com/preview.png",
"last_name": "Avery",
"user_id": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF"
},
"role": "org:member",
"role_name": "Member",
"updated_at": 1772452500000
}Add an email address to a Clerk user
Attach another email address to an existing user. Created verified unless you say otherwise.
Inputs
- User ID
user_idtextRequired - The user to add the address to.
- Email address
email_addresstextRequired - The address to add.
- Verified
verifiedtrue/false - On by default. Switch off to add an address the user must confirm themselves.Default:
true. - Make primary
primarytrue/false - Make this the user's primary address.
Outputs
created_atnumberemail_addresstextidtextlinked_tolistobjecttextreservedtrue/falseupdated_atnumberverificationobject
Example output
{
"created_at": 1772452600000,
"email_address": "jordan.work@example.com",
"id": "idn_2c8VwMvQuPiSzWzY9rDgMxFjBoK",
"linked_to": [],
"object": "email_address",
"reserved": false,
"updated_at": 1772452600000,
"verification": {
"status": "verified",
"strategy": "admin"
}
}Ban a Clerk user
Ban a user: they are signed out of every session and cannot sign in again until unbanned.
Inputs
- User ID
user_idtextRequired - The Clerk user, as a user_... id or a Dashboard URL.
Outputs
bannedtrue/falsecreated_atnumberemail_addresseslistexternal_idtextfirst_nametexthas_imagetrue/falseidtextimage_urltextlast_active_atnumberlast_nametextlast_sign_in_atnumberlockedtrue/falseobjecttextpassword_enabledtrue/falseprimary_email_address_idtextprivate_metadataobjectpublic_metadataobjecttwo_factor_enabledtrue/falseunsafe_metadataobjectupdated_atnumberusernametext
Example output
{
"banned": true,
"created_at": 1772452353000,
"email_addresses": [
{
"created_at": 1772452353000,
"email_address": "jordan.avery@example.com",
"id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"linked_to": [],
"object": "email_address",
"reserved": false,
"updated_at": 1772452353000,
"verification": {
"status": "verified",
"strategy": "admin"
}
}
],
"external_id": null,
"first_name": "Jordan",
"has_image": false,
"id": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"image_url": "https://img.clerk.com/preview.png",
"last_active_at": null,
"last_name": "Avery",
"last_sign_in_at": null,
"locked": false,
"object": "user",
"password_enabled": false,
"primary_email_address_id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"private_metadata": {},
"public_metadata": {
"plan": "starter"
},
"two_factor_enabled": false,
"unsafe_metadata": {},
"updated_at": 1772452353000,
"username": "jordan.avery"
}Count Clerk users
Count the users in the instance, optionally narrowed by the same search filters as List users. This is the only endpoint that reports a total: the user list does not.
Inputs
- Search
querytext - Count only users matching this text. Leave blank to count everyone.
- Email address
email_addresstext - Count only the user with this exact address.
Outputs
objecttexttotal_countnumber
Example output
{
"object": "total_count",
"total_count": 42
}Create a Clerk invitation
Invite an email address to sign up. The returned record carries the invitation link whether or not Clerk emails it.
Inputs
- Email address
email_addresstextRequired - Who to invite.
- Redirect URL
redirect_urltext - Where the invitation link sends them, usually your sign-up page.
- Expires in (days)
expires_in_daysnumber - How long the invitation stays valid. Clerk's default is 30 days.From 1 to 365.
- Send the email
notifytrue/false - Let Clerk email the invitation. Switch off to deliver the returned link yourself.
- Ignore existing
ignore_existingtrue/false - Do not fail if this address already has a pending invitation.
- Public metadata
public_metadataobject - Carried onto the user created from this invitation.
Outputs
created_atnumberemail_addresstextexpires_atnumberidtextobjecttextpublic_metadataobjectrevokedtrue/falsestatustextupdated_atnumberurltext
Example output
{
"created_at": 1772452353000,
"email_address": "newcomer@example.com",
"expires_at": 1775044353000,
"id": "inv_2c8VwLuPtOhRzVzX8qCfLwEiAnJ",
"object": "invitation",
"public_metadata": {},
"revoked": false,
"status": "pending",
"updated_at": 1772452353000,
"url": "https://accounts.example.com/sign-up?__clerk_ticket=abc123"
}Create a Clerk organization
Create an organization. Naming a creator makes that user its first administrator.
Inputs
- Name
nametextRequired - The organization's display name.
- Slug
slugtext - URL-friendly identifier, unique in the instance. Capitals, spaces and underscores are converted for you, so a value carried in from an earlier step is accepted as-is. Leave blank unless you need one: organization slugs are a Clerk instance setting of their own, and sending one to an instance that has them switched off fails.
- Created by (user ID)
created_bytext - A user_... id. That user becomes the organization's administrator. Leave blank to create it with no members.
- Maximum members
max_allowed_membershipsnumber - Cap on members. Your Clerk plan's own cap still applies.At least 1.
- Public metadata
public_metadataobject - Readable by the frontend.
- Private metadata
private_metadataobject - Readable only by your backend.
Outputs
admin_delete_enabledtrue/falsecreated_atnumbercreated_bytexthas_imagetrue/falseidtextimage_urltextmax_allowed_membershipsnumbermembers_countnumbernametextobjecttextpending_invitations_countnumberprivate_metadataobjectpublic_metadataobjectslugtextupdated_atnumber
Example output
{
"admin_delete_enabled": true,
"created_at": 1772452400000,
"created_by": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"has_image": false,
"id": "org_2c8VwJsNrMfPzTzV6oAdJuCgYlH",
"image_url": "https://img.clerk.com/org-preview.png",
"max_allowed_memberships": 5,
"members_count": 1,
"name": "Avery Consulting",
"object": "organization",
"pending_invitations_count": 0,
"private_metadata": {},
"public_metadata": {},
"slug": "avery-consulting",
"updated_at": 1772452400000
}Create a Clerk user
Create a user directly, without a sign-up flow. The email address is created already verified.
Inputs
- Email address
email_addresstext - The user's email address.
- First name
first_nametext - Given name.
- Last name
last_nametext - Family name.
- Username
usernametext - Only usable if usernames are enabled for the instance.
- Password
passwordtext - Optional. Clerk rejects passwords found in known breach lists. Leave blank to create a user who signs in by link or OAuth instead.
- External ID
external_idtext - Your own system's id for this user.
- Public metadata
public_metadataobject - Readable by the frontend and by the user.
- Private metadata
private_metadataobject - Readable only by your backend.
Outputs
bannedtrue/falsecreated_atnumberemail_addresseslistexternal_idtextfirst_nametexthas_imagetrue/falseidtextimage_urltextlast_active_atnumberlast_nametextlast_sign_in_atnumberlockedtrue/falseobjecttextpassword_enabledtrue/falseprimary_email_address_idtextprivate_metadataobjectpublic_metadataobjecttwo_factor_enabledtrue/falseunsafe_metadataobjectupdated_atnumberusernametext
Example output
{
"banned": false,
"created_at": 1772452353000,
"email_addresses": [
{
"created_at": 1772452353000,
"email_address": "jordan.avery@example.com",
"id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"linked_to": [],
"object": "email_address",
"reserved": false,
"updated_at": 1772452353000,
"verification": {
"status": "verified",
"strategy": "admin"
}
}
],
"external_id": null,
"first_name": "Jordan",
"has_image": false,
"id": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"image_url": "https://img.clerk.com/preview.png",
"last_active_at": null,
"last_name": "Avery",
"last_sign_in_at": null,
"locked": false,
"object": "user",
"password_enabled": false,
"primary_email_address_id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"private_metadata": {},
"public_metadata": {
"plan": "starter"
},
"two_factor_enabled": false,
"unsafe_metadata": {},
"updated_at": 1772452353000,
"username": "jordan.avery"
}Delete a Clerk organization
Delete an organization and every membership in it. Clerk keeps no restorable copy.
Inputs
- Organization ID
organization_idtextRequired - The organization, as an org_... id.
Outputs
deletedtrue/falseidtextobjecttextslugtext
Example output
{
"deleted": true,
"id": "org_2c8VwJsNrMfPzTzV6oAdJuCgYlH",
"object": "organization",
"slug": "avery-consulting"
}Delete a Clerk user
Delete a user permanently. Clerk keeps no restorable copy.
Inputs
- User ID
user_idtextRequired - The Clerk user, as a user_... id or a Dashboard URL.
Outputs
deletedtrue/falseidtextobjecttextslugtext
Example output
{
"deleted": true,
"id": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"object": "user"
}Get a Clerk organization
Fetch one organization by its id or its slug.
Inputs
- Organization ID
organization_idtextRequired - The organization, as an org_... id or its slug.
- Include member count
include_members_counttrue/false - Ask Clerk to fill in members_count.
Outputs
admin_delete_enabledtrue/falsecreated_atnumbercreated_bytexthas_imagetrue/falseidtextimage_urltextmax_allowed_membershipsnumbermembers_countnumbernametextobjecttextpending_invitations_countnumberprivate_metadataobjectpublic_metadataobjectslugtextupdated_atnumber
Example output
{
"admin_delete_enabled": true,
"created_at": 1772452400000,
"created_by": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"has_image": false,
"id": "org_2c8VwJsNrMfPzTzV6oAdJuCgYlH",
"image_url": "https://img.clerk.com/org-preview.png",
"max_allowed_memberships": 5,
"members_count": 1,
"name": "Avery Consulting",
"object": "organization",
"pending_invitations_count": 0,
"private_metadata": {},
"public_metadata": {},
"slug": "avery-consulting",
"updated_at": 1772452400000
}Get a Clerk user
Fetch one user by id, with their email addresses.
Inputs
- User ID
user_idtextRequired - The Clerk user, as a user_... id or a Dashboard URL.
Outputs
bannedtrue/falsecreated_atnumberemail_addresseslistexternal_idtextfirst_nametexthas_imagetrue/falseidtextimage_urltextlast_active_atnumberlast_nametextlast_sign_in_atnumberlockedtrue/falseobjecttextpassword_enabledtrue/falseprimary_email_address_idtextprivate_metadataobjectpublic_metadataobjecttwo_factor_enabledtrue/falseunsafe_metadataobjectupdated_atnumberusernametext
Example output
{
"banned": false,
"created_at": 1772452353000,
"email_addresses": [
{
"created_at": 1772452353000,
"email_address": "jordan.avery@example.com",
"id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"linked_to": [],
"object": "email_address",
"reserved": false,
"updated_at": 1772452353000,
"verification": {
"status": "verified",
"strategy": "admin"
}
}
],
"external_id": null,
"first_name": "Jordan",
"has_image": false,
"id": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"image_url": "https://img.clerk.com/preview.png",
"last_active_at": null,
"last_name": "Avery",
"last_sign_in_at": null,
"locked": false,
"object": "user",
"password_enabled": false,
"primary_email_address_id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"private_metadata": {},
"public_metadata": {
"plan": "starter"
},
"two_factor_enabled": false,
"unsafe_metadata": {},
"updated_at": 1772452353000,
"username": "jordan.avery"
}List Clerk organization members
List an organization's members, optionally filtered to one role.
Inputs
- Organization ID
organization_idtextRequired - The organization, as an org_... id.
- Role
roletext - Return only members holding this role.
- Sort by
order_bytext - How to order the returned members.One of:
-created_at(Newest first),created_at(Oldest first),email_address(Email address A-Z),first_name(First name A-Z),last_name(Last name A-Z),username(Username A-Z). Default:-created_at. - Limit
limitnumber - How many records to return, 1-500.From 1 to 500. Default:
10. - Offset
offsetnumber - Skip this many records first, to page through results.At least 0. Default:
0.
Outputs
datalisttotal_countnumber
Example output
{
"data": [
{
"created_at": 1772452500000,
"id": "orgmem_2c8VwKtOsNgQzUzW7pBeKvDhZmI",
"object": "organization_membership",
"organization": {
"admin_delete_enabled": true,
"created_at": 1772452400000,
"created_by": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"has_image": false,
"id": "org_2c8VwJsNrMfPzTzV6oAdJuCgYlH",
"image_url": "https://img.clerk.com/org-preview.png",
"max_allowed_memberships": 5,
"members_count": 1,
"name": "Avery Consulting",
"object": "organization",
"pending_invitations_count": 0,
"private_metadata": {},
"public_metadata": {},
"slug": "avery-consulting",
"updated_at": 1772452400000
},
"permissions": [
"org:sys_profile:read"
],
"private_metadata": {},
"public_metadata": {},
"public_user_data": {
"first_name": "Jordan",
"has_image": false,
"identifier": "jordan.avery@example.com",
"image_url": "https://img.clerk.com/preview.png",
"last_name": "Avery",
"user_id": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF"
},
"role": "org:member",
"role_name": "Member",
"updated_at": 1772452500000
}
],
"total_count": 1
}List Clerk organizations
List the instance's organizations, newest first.
Inputs
- Search
querytext - Match against organization name or slug.
- Include member counts
include_members_counttrue/false - Ask Clerk to fill in members_count.
- Sort by
order_bytext - How to order the returned organizations.One of:
-created_at(Newest first),created_at(Oldest first),name(Name A-Z),-name(Name Z-A),-members_count(Most members first). Default:-created_at. - Limit
limitnumber - How many records to return, 1-500.From 1 to 500. Default:
10. - Offset
offsetnumber - Skip this many records first, to page through results.At least 0. Default:
0.
Outputs
datalisttotal_countnumber
Example output
{
"data": [
{
"admin_delete_enabled": true,
"created_at": 1772452400000,
"created_by": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"has_image": false,
"id": "org_2c8VwJsNrMfPzTzV6oAdJuCgYlH",
"image_url": "https://img.clerk.com/org-preview.png",
"max_allowed_memberships": 5,
"members_count": 1,
"name": "Avery Consulting",
"object": "organization",
"pending_invitations_count": 0,
"private_metadata": {},
"public_metadata": {},
"slug": "avery-consulting",
"updated_at": 1772452400000
}
],
"total_count": 1
}List Clerk users
List users in the Clerk instance, with optional search, created-date and banned filters.
Inputs
- Search
querytext - Match against name, email address, username or user id. Leave blank to list everyone.
- Email address
email_addresstext - Return only the user with this exact address.
- Banned only
bannedtrue/false - Return only banned users when switched on.
- Created after
created_afterdate and time - Only users created at or after this moment.
- Created before
created_beforedate and time - Only users created at or before this moment.
- Sort by
order_bytext - How to order the returned users.One of:
-created_at(Newest first),created_at(Oldest first),-last_sign_in_at(Most recent sign-in first),-last_active_at(Most recently active first),email_address(Email address A-Z),first_name(First name A-Z),last_name(Last name A-Z),username(Username A-Z). Default:-created_at. - Limit
limitnumber - How many records to return, 1-500.From 1 to 500. Default:
10. - Offset
offsetnumber - Skip this many records first, to page through results.At least 0. Default:
0.
Outputs
datalisttotal_countnumber
Example output
{
"data": [
{
"banned": false,
"created_at": 1772452353000,
"email_addresses": [
{
"created_at": 1772452353000,
"email_address": "jordan.avery@example.com",
"id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"linked_to": [],
"object": "email_address",
"reserved": false,
"updated_at": 1772452353000,
"verification": {
"status": "verified",
"strategy": "admin"
}
}
],
"external_id": null,
"first_name": "Jordan",
"has_image": false,
"id": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"image_url": "https://img.clerk.com/preview.png",
"last_active_at": null,
"last_name": "Avery",
"last_sign_in_at": null,
"locked": false,
"object": "user",
"password_enabled": false,
"primary_email_address_id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"private_metadata": {},
"public_metadata": {
"plan": "starter"
},
"two_factor_enabled": false,
"unsafe_metadata": {},
"updated_at": 1772452353000,
"username": "jordan.avery"
}
],
"total_count": 1
}Remove a Clerk email address
Remove an email address from the user it belongs to.
Inputs
- Email address ID
email_address_idtextRequired - The idn_... id of the address, from the user's email_addresses list.
Outputs
deletedtrue/falseidtextobjecttextslugtext
Example output
{
"deleted": true,
"id": "idn_2c8VwMvQuPiSzWzY9rDgMxFjBoK",
"object": "email_address"
}Revoke a Clerk invitation
Revoke a pending invitation so its link stops working. Clerk only accepts this while the invitation is still pending.
Inputs
- Invitation ID
invitation_idtextRequired - The inv_... id returned when it was created.
Outputs
created_atnumberemail_addresstextexpires_atnumberidtextobjecttextpublic_metadataobjectrevokedtrue/falsestatustextupdated_atnumberurltext
Example output
{
"created_at": 1772452353000,
"email_address": "newcomer@example.com",
"expires_at": 1775044353000,
"id": "inv_2c8VwLuPtOhRzVzX8qCfLwEiAnJ",
"object": "invitation",
"public_metadata": {},
"revoked": true,
"status": "revoked",
"updated_at": 1772452353000,
"url": "https://accounts.example.com/sign-up?__clerk_ticket=abc123"
}Unban a Clerk user
Lift a ban so the user can sign in again.
Inputs
- User ID
user_idtextRequired - The Clerk user, as a user_... id or a Dashboard URL.
Outputs
bannedtrue/falsecreated_atnumberemail_addresseslistexternal_idtextfirst_nametexthas_imagetrue/falseidtextimage_urltextlast_active_atnumberlast_nametextlast_sign_in_atnumberlockedtrue/falseobjecttextpassword_enabledtrue/falseprimary_email_address_idtextprivate_metadataobjectpublic_metadataobjecttwo_factor_enabledtrue/falseunsafe_metadataobjectupdated_atnumberusernametext
Example output
{
"banned": false,
"created_at": 1772452353000,
"email_addresses": [
{
"created_at": 1772452353000,
"email_address": "jordan.avery@example.com",
"id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"linked_to": [],
"object": "email_address",
"reserved": false,
"updated_at": 1772452353000,
"verification": {
"status": "verified",
"strategy": "admin"
}
}
],
"external_id": null,
"first_name": "Jordan",
"has_image": false,
"id": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"image_url": "https://img.clerk.com/preview.png",
"last_active_at": null,
"last_name": "Avery",
"last_sign_in_at": null,
"locked": false,
"object": "user",
"password_enabled": false,
"primary_email_address_id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"private_metadata": {},
"public_metadata": {
"plan": "starter"
},
"two_factor_enabled": false,
"unsafe_metadata": {},
"updated_at": 1772452353000,
"username": "jordan.avery"
}Update a Clerk organization
Change an organization's name, slug or member cap. Fields left blank are not touched.
Inputs
- Organization ID
organization_idtextRequired - The organization, as an org_... id or its slug.
- Name
nametext - New display name.
- Slug
slugtext - New URL-friendly identifier. Capitals, spaces and underscores are converted for you.
- Maximum members
max_allowed_membershipsnumber - New cap on members.At least 1.
Outputs
admin_delete_enabledtrue/falsecreated_atnumbercreated_bytexthas_imagetrue/falseidtextimage_urltextmax_allowed_membershipsnumbermembers_countnumbernametextobjecttextpending_invitations_countnumberprivate_metadataobjectpublic_metadataobjectslugtextupdated_atnumber
Example output
{
"admin_delete_enabled": true,
"created_at": 1772452400000,
"created_by": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"has_image": false,
"id": "org_2c8VwJsNrMfPzTzV6oAdJuCgYlH",
"image_url": "https://img.clerk.com/org-preview.png",
"max_allowed_memberships": 5,
"members_count": 1,
"name": "Avery Consulting",
"object": "organization",
"pending_invitations_count": 0,
"private_metadata": {},
"public_metadata": {},
"slug": "avery-consulting",
"updated_at": 1772452400000
}Update a Clerk user
Change a user's profile fields. Fields left blank are not touched.
Inputs
- User ID
user_idtextRequired - The Clerk user, as a user_... id or a Dashboard URL.
- First name
first_nametext - Given name.
- Last name
last_nametext - Family name.
- Username
usernametext - New username, if usernames are enabled.
- External ID
external_idtext - Your own system's id for this user.
- Primary email address ID
primary_email_address_idtext - An idn_... id from this user's email addresses, to make it the primary one.
Outputs
bannedtrue/falsecreated_atnumberemail_addresseslistexternal_idtextfirst_nametexthas_imagetrue/falseidtextimage_urltextlast_active_atnumberlast_nametextlast_sign_in_atnumberlockedtrue/falseobjecttextpassword_enabledtrue/falseprimary_email_address_idtextprivate_metadataobjectpublic_metadataobjecttwo_factor_enabledtrue/falseunsafe_metadataobjectupdated_atnumberusernametext
Example output
{
"banned": false,
"created_at": 1772452353000,
"email_addresses": [
{
"created_at": 1772452353000,
"email_address": "jordan.avery@example.com",
"id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"linked_to": [],
"object": "email_address",
"reserved": false,
"updated_at": 1772452353000,
"verification": {
"status": "verified",
"strategy": "admin"
}
}
],
"external_id": null,
"first_name": "Jordan",
"has_image": false,
"id": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"image_url": "https://img.clerk.com/preview.png",
"last_active_at": null,
"last_name": "Avery",
"last_sign_in_at": null,
"locked": false,
"object": "user",
"password_enabled": false,
"primary_email_address_id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"private_metadata": {},
"public_metadata": {
"plan": "starter"
},
"two_factor_enabled": false,
"unsafe_metadata": {},
"updated_at": 1772452353000,
"username": "jordan.avery"
}Update Clerk user metadata
Merge metadata into a user. Keys given here replace those keys; keys left out keep their current values.
Inputs
- User ID
user_idtextRequired - The Clerk user, as a user_... id or a Dashboard URL.
- Public metadata
public_metadataobject - Readable by the frontend and by the user.
- Private metadata
private_metadataobject - Readable only by your backend.
- Unsafe metadata
unsafe_metadataobject - Writable by the user from the frontend.
Outputs
bannedtrue/falsecreated_atnumberemail_addresseslistexternal_idtextfirst_nametexthas_imagetrue/falseidtextimage_urltextlast_active_atnumberlast_nametextlast_sign_in_atnumberlockedtrue/falseobjecttextpassword_enabledtrue/falseprimary_email_address_idtextprivate_metadataobjectpublic_metadataobjecttwo_factor_enabledtrue/falseunsafe_metadataobjectupdated_atnumberusernametext
Example output
{
"banned": false,
"created_at": 1772452353000,
"email_addresses": [
{
"created_at": 1772452353000,
"email_address": "jordan.avery@example.com",
"id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"linked_to": [],
"object": "email_address",
"reserved": false,
"updated_at": 1772452353000,
"verification": {
"status": "verified",
"strategy": "admin"
}
}
],
"external_id": null,
"first_name": "Jordan",
"has_image": false,
"id": "user_2c8VwGqLpKdNzRxT4mYbHsAeWjF",
"image_url": "https://img.clerk.com/preview.png",
"last_active_at": null,
"last_name": "Avery",
"last_sign_in_at": null,
"locked": false,
"object": "user",
"password_enabled": false,
"primary_email_address_id": "idn_2c8VwHrMqLeOzSyU5nZcItBfXkG",
"private_metadata": {},
"public_metadata": {
"plan": "starter"
},
"two_factor_enabled": false,
"unsafe_metadata": {},
"updated_at": 1772452353000,
"username": "jordan.avery"
}