Integrate Clerk authentication and user management into your workflow. Create, update, delete, ban, lock, and list users. Manage organizations, their memberships, and invitations. Monitor and control user sessions. Maintain allowlist/blocklist identifiers, JWT templates, and actor tokens.
List all users in your Clerk application with optional filtering and pagination
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
limit | number | No | Number of results per page (e.g., 10, 50, 100; range: 1-500, default: 10) |
offset | number | No | Number of results to skip for pagination (e.g., 0, 10, 20) |
orderBy | string | No | Sort field with optional +/- prefix for direction (default: -created_at) |
emailAddress | string | No | Filter by email address (e.g., user@example.com or user1@example.com,user2@example.com) |
phoneNumber | string | No | Filter by phone number (comma-separated for multiple) |
externalId | string | No | Filter by external ID (comma-separated for multiple) |
username | string | No | Filter by username (comma-separated for multiple) |
userId | string | No | Filter by user ID (e.g., user_2NNEqL2nrIRdJ194ndJqAHwEfxC or comma-separated for multiple) |
query | string | No | Search query to match across email, phone, username, and names (e.g., john or john@example.com) |
| Parameter | Type | Description |
|---|
users | array | Array of Clerk user objects |
totalCount | number | Total number of users matching the query |
success | boolean | Operation success status |
Retrieve a single user by their ID from Clerk
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
userId | string | Yes | The ID of the user to retrieve (e.g., user_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
| Parameter | Type | Description |
|---|
id | string | User ID |
username | string | Username |
firstName | string | First name |
lastName | string | Last name |
imageUrl | string | Profile image URL |
hasImage | boolean | Whether user has a profile image |
primaryEmailAddressId | string | Primary email address ID |
primaryPhoneNumberId | string | Primary phone number ID |
primaryWeb3WalletId | string | Primary Web3 wallet ID |
emailAddresses | array | User email addresses |
phoneNumbers | array | User phone numbers |
externalId | string | External system ID |
passwordEnabled | boolean | Whether password is enabled |
twoFactorEnabled | boolean | Whether 2FA is enabled |
totpEnabled | boolean | Whether TOTP is enabled |
backupCodeEnabled | boolean | Whether backup codes are enabled |
banned | boolean | Whether user is banned |
locked | boolean | Whether user is locked |
deleteSelfEnabled | boolean | Whether user can delete themselves |
createOrganizationEnabled | boolean | Whether user can create organizations |
lastSignInAt | number | Last sign-in timestamp |
lastActiveAt | number | Last activity timestamp |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
publicMetadata | json | Public metadata (readable from frontend) |
privateMetadata | json | Private metadata (backend only) |
unsafeMetadata | json | Unsafe metadata (modifiable from frontend) |
success | boolean | Operation success status |
Create a new user in your Clerk application
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
emailAddress | string | No | Email addresses for the user (comma-separated for multiple) |
phoneNumber | string | No | Phone numbers for the user (comma-separated for multiple) |
username | string | No | Username for the user (must be unique) |
password | string | No | Password for the user (minimum 8 characters) |
firstName | string | No | First name of the user |
lastName | string | No | Last name of the user |
externalId | string | No | External system identifier (must be unique) |
publicMetadata | json | No | Public metadata (JSON object, readable from frontend) |
privateMetadata | json | No | Private metadata (JSON object, backend only) |
unsafeMetadata | json | No | Unsafe metadata (JSON object, modifiable from frontend) |
skipPasswordChecks | boolean | No | Skip password validation checks |
skipPasswordRequirement | boolean | No | Make password optional |
| Parameter | Type | Description |
|---|
id | string | Created user ID |
username | string | Username |
firstName | string | First name |
lastName | string | Last name |
imageUrl | string | Profile image URL |
primaryEmailAddressId | string | Primary email address ID |
primaryPhoneNumberId | string | Primary phone number ID |
emailAddresses | array | User email addresses |
phoneNumbers | array | User phone numbers |
externalId | string | External system ID |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
publicMetadata | json | Public metadata |
success | boolean | Operation success status |
Update an existing user in your Clerk application
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
userId | string | Yes | The ID of the user to update (e.g., user_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
firstName | string | No | First name of the user |
lastName | string | No | Last name of the user |
username | string | No | Username (must be unique) |
password | string | No | New password (minimum 8 characters) |
externalId | string | No | External system identifier |
primaryEmailAddressId | string | No | ID of verified email to set as primary |
primaryPhoneNumberId | string | No | ID of verified phone to set as primary |
publicMetadata | json | No | Public metadata (JSON object) |
privateMetadata | json | No | Private metadata (JSON object) |
unsafeMetadata | json | No | Unsafe metadata (JSON object) |
skipPasswordChecks | boolean | No | Skip password validation checks |
| Parameter | Type | Description |
|---|
id | string | Updated user ID |
username | string | Username |
firstName | string | First name |
lastName | string | Last name |
imageUrl | string | Profile image URL |
primaryEmailAddressId | string | Primary email address ID |
primaryPhoneNumberId | string | Primary phone number ID |
emailAddresses | array | User email addresses |
phoneNumbers | array | User phone numbers |
externalId | string | External system ID |
banned | boolean | Whether user is banned |
locked | boolean | Whether user is locked |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
publicMetadata | json | Public metadata |
success | boolean | Operation success status |
Delete a user from your Clerk application
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
userId | string | Yes | The ID of the user to delete (e.g., user_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
| Parameter | Type | Description |
|---|
id | string | Deleted user ID |
object | string | Object type (user) |
deleted | boolean | Whether the user was deleted |
success | boolean | Operation success status |
Ban a user, preventing them from signing in
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
userId | string | Yes | The ID of the user to ban (e.g., user_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
| Parameter | Type | Description |
|---|
id | string | User ID |
username | string | Username |
firstName | string | First name |
lastName | string | Last name |
banned | boolean | Whether the user is banned |
locked | boolean | Whether the user is locked |
lockoutExpiresInSeconds | number | Seconds until lockout expires |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Remove a ban from a user, allowing them to sign in again
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
userId | string | Yes | The ID of the user to unban (e.g., user_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
| Parameter | Type | Description |
|---|
id | string | User ID |
username | string | Username |
firstName | string | First name |
lastName | string | Last name |
banned | boolean | Whether the user is banned |
locked | boolean | Whether the user is locked |
lockoutExpiresInSeconds | number | Seconds until lockout expires |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Lock a user account, blocking sign-in attempts
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
userId | string | Yes | The ID of the user to lock (e.g., user_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
| Parameter | Type | Description |
|---|
id | string | User ID |
username | string | Username |
firstName | string | First name |
lastName | string | Last name |
banned | boolean | Whether the user is banned |
locked | boolean | Whether the user is locked |
lockoutExpiresInSeconds | number | Seconds until lockout expires |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Unlock a previously locked user account
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
userId | string | Yes | The ID of the user to unlock (e.g., user_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
| Parameter | Type | Description |
|---|
id | string | User ID |
username | string | Username |
firstName | string | First name |
lastName | string | Last name |
banned | boolean | Whether the user is banned |
locked | boolean | Whether the user is locked |
lockoutExpiresInSeconds | number | Seconds until lockout expires |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Retrieve a user's OAuth access token for a connected external provider (e.g. Google, GitHub, Microsoft) obtained via Clerk SSO
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
userId | string | Yes | The ID of the user (e.g., user_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
provider | string | Yes | OAuth provider slug, e.g. google, github, microsoft, discord (without the oauth_ prefix) |
| Parameter | Type | Description |
|---|
accessTokens | array | OAuth access tokens for the connected provider |
success | boolean | Operation success status |
List all organizations in your Clerk application with optional filtering
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
limit | number | No | Number of results per page (e.g., 10, 50, 100; range: 1-500, default: 10) |
offset | number | No | Number of results to skip for pagination (e.g., 0, 10, 20) |
includeMembersCount | boolean | No | Include member count for each organization |
query | string | No | Search by organization ID, name, or slug (e.g., Acme Corp or acme-corp) |
orderBy | string | No | Sort field (name, created_at, members_count) with +/- prefix |
| Parameter | Type | Description |
|---|
organizations | array | Array of Clerk organization objects |
totalCount | number | Total number of organizations |
success | boolean | Operation success status |
Retrieve a single organization by ID or slug from Clerk
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
organizationId | string | Yes | The ID or slug of the organization to retrieve (e.g., org_2NNEqL2nrIRdJ194ndJqAHwEfxC or my-org-slug) |
| Parameter | Type | Description |
|---|
id | string | Organization ID |
name | string | Organization name |
slug | string | Organization slug |
imageUrl | string | Organization image URL |
hasImage | boolean | Whether organization has an image |
membersCount | number | Number of members |
pendingInvitationsCount | number | Number of pending invitations |
maxAllowedMemberships | number | Max allowed memberships |
adminDeleteEnabled | boolean | Whether admin delete is enabled |
createdBy | string | Creator user ID |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
publicMetadata | json | Public metadata |
success | boolean | Operation success status |
Create a new organization in your Clerk application
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
name | string | Yes | Name of the organization |
createdBy | string | Yes | User ID of the creator who will become admin (e.g., user_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
slug | string | No | Slug identifier for the organization |
maxAllowedMemberships | number | No | Maximum member capacity (0 for unlimited) |
publicMetadata | json | No | Public metadata (JSON object) |
privateMetadata | json | No | Private metadata (JSON object) |
| Parameter | Type | Description |
|---|
id | string | Created organization ID |
name | string | Organization name |
slug | string | Organization slug |
imageUrl | string | Organization image URL |
hasImage | boolean | Whether organization has an image |
membersCount | number | Number of members |
pendingInvitationsCount | number | Number of pending invitations |
maxAllowedMemberships | number | Max allowed memberships |
adminDeleteEnabled | boolean | Whether admin delete is enabled |
createdBy | string | Creator user ID |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
publicMetadata | json | Public metadata |
success | boolean | Operation success status |
Update an existing organization in your Clerk application
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
organizationId | string | Yes | The ID of the organization to update (e.g., org_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
name | string | No | Name of the organization |
slug | string | No | Slug identifier for the organization |
maxAllowedMemberships | number | No | Maximum member capacity (0 for unlimited) |
adminDeleteEnabled | boolean | No | Whether admins can delete the organization |
| Parameter | Type | Description |
|---|
id | string | Organization ID |
name | string | Organization name |
slug | string | Organization slug |
imageUrl | string | Organization image URL |
hasImage | boolean | Whether organization has an image |
membersCount | number | Number of members |
pendingInvitationsCount | number | Number of pending invitations |
maxAllowedMemberships | number | Max allowed memberships |
adminDeleteEnabled | boolean | Whether admin delete is enabled |
createdBy | string | Creator user ID |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
publicMetadata | json | Public metadata |
success | boolean | Operation success status |
Delete an organization from your Clerk application
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
organizationId | string | Yes | The ID of the organization to delete (e.g., org_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
| Parameter | Type | Description |
|---|
id | string | Deleted organization ID |
object | string | Object type (organization) |
deleted | boolean | Whether the organization was deleted |
success | boolean | Operation success status |
List members of a Clerk organization with optional filtering and pagination
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
organizationId | string | Yes | The ID of the organization (e.g., org_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
limit | number | No | Number of results per page (e.g., 10, 50, 100; range: 1-500, default: 10) |
offset | number | No | Number of results to skip for pagination (e.g., 0, 10, 20) |
orderBy | string | No | Sort field (e.g., created_at) with +/- prefix for direction |
role | string | No | Filter by role, comma-separated for multiple (e.g., org:admin,org:member) |
| Parameter | Type | Description |
|---|
memberships | array | Array of Clerk organization membership objects |
totalCount | number | Total number of memberships |
success | boolean | Operation success status |
Add a user as a member of a Clerk organization with a given role
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
organizationId | string | Yes | The ID of the organization (e.g., org_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
userId | string | Yes | ID of the user to add as a member |
role | string | Yes | Role to assign, e.g. org:admin or org:member |
| Parameter | Type | Description |
|---|
id | string | Membership ID |
role | string | Member role |
roleName | string | Human-readable role name |
permissions | array | Permissions granted by the role |
organizationId | string | Organization ID |
userId | string | Member user ID |
firstName | string | Member first name |
lastName | string | Member last name |
imageUrl | string | Member profile image URL |
identifier | string | Member identifier (e.g., email) |
username | string | Member username |
banned | boolean | Whether the member is banned |
publicMetadata | json | Public metadata |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Change a member's role within a Clerk organization
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
organizationId | string | Yes | The ID of the organization (e.g., org_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
userId | string | Yes | ID of the member whose role is being changed |
role | string | Yes | New role to assign, e.g. org:admin or org:member |
| Parameter | Type | Description |
|---|
id | string | Membership ID |
role | string | Member role |
roleName | string | Human-readable role name |
permissions | array | Permissions granted by the role |
organizationId | string | Organization ID |
userId | string | Member user ID |
firstName | string | Member first name |
lastName | string | Member last name |
imageUrl | string | Member profile image URL |
identifier | string | Member identifier (e.g., email) |
username | string | Member username |
banned | boolean | Whether the member is banned |
publicMetadata | json | Public metadata |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Remove a member from a Clerk organization
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
organizationId | string | Yes | The ID of the organization (e.g., org_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
userId | string | Yes | ID of the member to remove |
| Parameter | Type | Description |
|---|
id | string | Membership ID |
role | string | Member role |
roleName | string | Human-readable role name |
permissions | array | Permissions granted by the role |
organizationId | string | Organization ID |
userId | string | Member user ID |
firstName | string | Member first name |
lastName | string | Member last name |
imageUrl | string | Member profile image URL |
identifier | string | Member identifier (e.g., email) |
username | string | Member username |
banned | boolean | Whether the member is banned |
publicMetadata | json | Public metadata |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Invite a user by email to join a Clerk organization with a given role
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
organizationId | string | Yes | The ID of the organization (e.g., org_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
emailAddress | string | Yes | Email address of the user to invite |
role | string | Yes | Role to assign on acceptance, e.g. org:admin or org:member |
inviterUserId | string | No | User ID of the inviter |
redirectUrl | string | No | URL to redirect to after the invitation is accepted |
expiresInDays | number | No | Days until the invitation expires (1-365, default 30) |
publicMetadata | json | No | Public metadata (JSON object) |
privateMetadata | json | No | Private metadata (JSON object) |
notify | boolean | No | Whether Clerk sends the invitation email (default true) |
| Parameter | Type | Description |
|---|
id | string | Invitation ID |
emailAddress | string | Invited email address |
role | string | Role to assign on acceptance |
roleName | string | Human-readable role name |
organizationId | string | Organization ID |
inviterId | string | User ID of the inviter |
inviterEmail | string | Inviter's email address |
inviterFirstName | string | Inviter's first name |
inviterLastName | string | Inviter's last name |
status | string | Invitation status |
url | string | Invitation URL |
expiresAt | number | Expiration timestamp |
publicMetadata | json | Public metadata |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
List pending and past invitations for a Clerk organization
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
organizationId | string | Yes | The ID of the organization (e.g., org_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
status | string | No | Filter by status: pending, accepted, revoked, or expired |
emailAddress | string | No | Filter by invited email address |
orderBy | string | No | Sort field (created_at, email_address) with +/- prefix (default: -created_at) |
limit | number | No | Number of results per page (e.g., 10, 50, 100; range: 1-500, default: 10) |
offset | number | No | Number of results to skip for pagination (e.g., 0, 10, 20) |
| Parameter | Type | Description |
|---|
invitations | array | Array of Clerk organization invitation objects |
totalCount | number | Total number of invitations |
success | boolean | Operation success status |
List sessions for a user or client in your Clerk application
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
userId | string | No | User ID to list sessions for (e.g., user_2NNEqL2nrIRdJ194ndJqAHwEfxC; required if clientId not provided) |
clientId | string | No | Client ID to list sessions for (required if userId not provided) |
status | string | No | Filter by session status (abandoned, active, ended, expired, pending, removed, replaced, revoked) |
limit | number | No | Number of results per page (e.g., 10, 50, 100; range: 1-500, default: 10) |
offset | number | No | Number of results to skip for pagination (e.g., 0, 10, 20) |
| Parameter | Type | Description |
|---|
sessions | array | Array of Clerk session objects |
totalCount | number | Total number of sessions |
success | boolean | Operation success status |
Retrieve a single session by ID from Clerk
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
sessionId | string | Yes | The ID of the session to retrieve (e.g., sess_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
| Parameter | Type | Description |
|---|
id | string | Session ID |
userId | string | User ID |
clientId | string | Client ID |
status | string | Session status |
lastActiveAt | number | Last activity timestamp |
lastActiveOrganizationId | string | Last active organization ID |
expireAt | number | Expiration timestamp |
abandonAt | number | Abandon timestamp |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Revoke a session to immediately invalidate it
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
sessionId | string | Yes | The ID of the session to revoke (e.g., sess_2NNEqL2nrIRdJ194ndJqAHwEfxC) |
| Parameter | Type | Description |
|---|
id | string | Session ID |
userId | string | User ID |
clientId | string | Client ID |
status | string | Session status (should be revoked) |
lastActiveAt | number | Last activity timestamp |
lastActiveOrganizationId | string | Last active organization ID |
expireAt | number | Expiration timestamp |
abandonAt | number | Abandon timestamp |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
List email/phone/web3-wallet identifiers on your Clerk instance allowlist
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
limit | number | No | Number of results per page (e.g., 10, 50, 100; range: 1-500, default: 10) |
offset | number | No | Number of results to skip for pagination (e.g., 0, 10, 20) |
| Parameter | Type | Description |
|---|
identifiers | array | Array of Clerk allowlist identifier objects |
totalCount | number | Total number of allowlist identifiers |
success | boolean | Operation success status |
Add an email, phone number, or web3 wallet to your Clerk instance allowlist
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
identifier | string | Yes | Email address, phone number, or web3 wallet to allow (wildcards like *@example.com supported for email) |
notify | boolean | No | Whether to notify the identifier owner by email (default false) |
| Parameter | Type | Description |
|---|
id | string | Allowlist identifier ID |
identifier | string | Email, phone, or web3 wallet identifier |
identifierType | string | Type of identifier |
invitationId | string | Associated invitation ID |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Remove an identifier from your Clerk instance allowlist
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
identifierId | string | Yes | ID of the allowlist identifier to delete |
| Parameter | Type | Description |
|---|
id | string | Deleted allowlist identifier ID |
object | string | Object type (allowlist_identifier) |
deleted | boolean | Whether the identifier was deleted |
success | boolean | Operation success status |
List email/phone/web3-wallet identifiers on your Clerk instance blocklist
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
| Parameter | Type | Description |
|---|
identifiers | array | Array of Clerk blocklist identifier objects |
totalCount | number | Total number of blocklist identifiers |
success | boolean | Operation success status |
Add an email, phone number, or web3 wallet to your Clerk instance blocklist to prevent sign-ups
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
identifier | string | Yes | Email address, phone number, or web3 wallet to block |
| Parameter | Type | Description |
|---|
id | string | Blocklist identifier ID |
identifier | string | Email, phone, or web3 wallet identifier |
identifierType | string | Type of identifier |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Remove an identifier from your Clerk instance blocklist
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
identifierId | string | Yes | ID of the blocklist identifier to delete |
| Parameter | Type | Description |
|---|
id | string | Deleted blocklist identifier ID |
object | string | Object type (blocklist_identifier) |
deleted | boolean | Whether the identifier was deleted |
success | boolean | Operation success status |
List custom JWT templates configured on your Clerk instance
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
| Parameter | Type | Description |
|---|
templates | array | Array of Clerk JWT template objects |
totalCount | number | Total number of JWT templates |
success | boolean | Operation success status |
Retrieve a single custom JWT template by ID from Clerk
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
templateId | string | Yes | ID of the JWT template to retrieve |
| Parameter | Type | Description |
|---|
id | string | JWT template ID |
name | string | JWT template name |
claims | json | Custom claims defined on the template |
lifetime | number | Token lifetime in seconds |
allowedClockSkew | number | Allowed clock skew in seconds |
customSigningKey | boolean | Whether a custom signing key is configured |
signingAlgorithm | string | Signing algorithm used |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Create an actor token to impersonate a user (God Mode / act-as-user), e.g. for support tooling
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
userId | string | Yes | ID of the user to impersonate |
actor | json | Yes | Actor JSON object identifying who is impersonating, must include a "sub" field, e.g. {"sub": "user_support_agent_id"} |
expiresInSeconds | number | No | Seconds until the token expires (default 3600) |
sessionMaxDurationInSeconds | number | No | Max duration in seconds for sessions created with this token (default 1800) |
| Parameter | Type | Description |
|---|
id | string | Actor token ID |
status | string | Actor token status |
userId | string | ID of the impersonated user |
actor | json | Actor object identifying who is impersonating |
token | string | Signed actor token (JWT) |
url | string | Sign-in URL for the actor token |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Revoke an actor token before it is used or expires
| Parameter | Type | Required | Description |
|---|
secretKey | string | Yes | The Clerk Secret Key for API authentication |
actorTokenId | string | Yes | ID of the actor token to revoke |
| Parameter | Type | Description |
|---|
id | string | Actor token ID |
status | string | Actor token status (should be revoked) |
userId | string | ID of the impersonated user |
actor | json | Actor object identifying who is impersonating |
token | string | Signed actor token (JWT) |
url | string | Sign-in URL for the actor token |
createdAt | number | Creation timestamp |
updatedAt | number | Last update timestamp |
success | boolean | Operation success status |
Trigger workflow when a Clerk user is created
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
userId | string | Clerk user ID (data.id) |
firstName | string | User's first name |
lastName | string | User's last name |
username | string | User's username |
imageUrl | string | Profile image URL |
primaryEmailAddressId | string | Primary email address ID |
emailAddresses | json | Array of email address objects |
phoneNumbers | json | Array of phone number objects |
externalId | string | External system ID linked to the user |
createdAt | number | User creation timestamp (data.created_at) |
updatedAt | number | User last update timestamp (data.updated_at) |
Trigger workflow when a Clerk user is updated
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
userId | string | Clerk user ID (data.id) |
firstName | string | User's first name |
lastName | string | User's last name |
username | string | User's username |
imageUrl | string | Profile image URL |
primaryEmailAddressId | string | Primary email address ID |
emailAddresses | json | Array of email address objects |
phoneNumbers | json | Array of phone number objects |
externalId | string | External system ID linked to the user |
createdAt | number | User creation timestamp (data.created_at) |
updatedAt | number | User last update timestamp (data.updated_at) |
Trigger workflow when a Clerk user is deleted
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
userId | string | Deleted Clerk user ID (data.id) |
deleted | boolean | Whether the user was deleted (data.deleted) |
Trigger workflow when a Clerk session is created
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
sessionId | string | Clerk session ID (data.id) |
userId | string | User the session belongs to (data.user_id) |
clientId | string | Client ID for the session (data.client_id) |
status | string | Session status (data.status) |
createdAt | number | Session creation timestamp (data.created_at) |
Trigger workflow when a Clerk session ends
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
sessionId | string | Clerk session ID (data.id) |
userId | string | User the session belongs to (data.user_id) |
clientId | string | Client ID for the session (data.client_id) |
status | string | Session status (data.status) |
createdAt | number | Session creation timestamp (data.created_at) |
Trigger workflow when a Clerk session is removed
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
sessionId | string | Clerk session ID (data.id) |
userId | string | User the session belongs to (data.user_id) |
clientId | string | Client ID for the session (data.client_id) |
status | string | Session status (data.status) |
createdAt | number | Session creation timestamp (data.created_at) |
Trigger workflow when a Clerk session is revoked
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
sessionId | string | Clerk session ID (data.id) |
userId | string | User the session belongs to (data.user_id) |
clientId | string | Client ID for the session (data.client_id) |
status | string | Session status (data.status) |
createdAt | number | Session creation timestamp (data.created_at) |
Trigger workflow when a Clerk organization is created
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
organizationId | string | Clerk organization ID (data.id) |
name | string | Organization name (data.name) |
slug | string | Organization slug (data.slug) |
createdBy | string | User ID of the creator (data.created_by) |
membersCount | number | Number of members (data.members_count) |
maxAllowedMemberships | number | Maximum allowed memberships (data.max_allowed_memberships) |
createdAt | number | Organization creation timestamp (data.created_at) |
Trigger workflow when a Clerk organization is updated
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
organizationId | string | Clerk organization ID (data.id) |
name | string | Organization name (data.name) |
slug | string | Organization slug (data.slug) |
createdBy | string | User ID of the creator (data.created_by) |
membersCount | number | Number of members (data.members_count) |
maxAllowedMemberships | number | Maximum allowed memberships (data.max_allowed_memberships) |
createdAt | number | Organization creation timestamp (data.created_at) |
Trigger workflow when a Clerk organization is deleted
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
organizationId | string | Deleted Clerk organization ID (data.id) |
deleted | boolean | Whether the organization was deleted (data.deleted) |
Trigger workflow when a Clerk organization membership is created
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
membershipId | string | Membership ID (data.id) |
role | string | Membership role, e.g. org:admin (data.role) |
organizationId | string | Organization ID (data.organization.id) |
userId | string | User ID of the member (data.public_user_data.user_id) |
createdAt | number | Membership creation timestamp (data.created_at) |
Trigger workflow when a Clerk organization membership is updated
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
membershipId | string | Membership ID (data.id) |
role | string | Membership role, e.g. org:admin (data.role) |
organizationId | string | Organization ID (data.organization.id) |
userId | string | User ID of the member (data.public_user_data.user_id) |
createdAt | number | Membership creation timestamp (data.created_at) |
Trigger workflow when a Clerk organization membership is deleted
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
membershipId | string | Deleted membership ID (data.id) |
deleted | boolean | Whether the membership was deleted (data.deleted) |
Trigger workflow on any Clerk webhook event
| Parameter | Type | Description |
|---|
type | string | Event type (e.g., user.created, session.created) |
object | string | Always "event" |
timestamp | number | Timestamp in milliseconds when the event occurred |
instance_id | string | Identifier of your Clerk instance |
data | json | Raw event data object (shape varies by event type) |
- Category:
tools
- Type:
clerk