create()
Creates a new API key. Returns an APIKeyResource object.
function create(params: CreateAPIKeyParams): Promise<APIKeyResource>- Name
name- Type
string- Description
A descriptive name for the API key (e.g., "Production API Key", "Development Key").
- Name
subject- Type
string- Description
The user ID (
user_xxx) or organization ID (org_xxx) to associate the API key with.
- Name
description?- Type
string | null- Description
A longer description of what the API key is used for.
- Name
scopes?- Type
string[]- Description
An array of scope strings that define what the API key can access.
- Name
claims?- Type
Record<string, unknown> | null- Description
Additional custom claims to store additional information about the API key.
- Name
createdBy?- Type
string | null- Description
The user ID of the user creating the API key (for audit purposes).
- Name
secondsUntilExpiration?- Type
number | null- Description
Number of seconds until the API key expires. Defaults to
null(API key does not expire).
const userId = 'user_123'
const apiKey = await clerkClient.apiKeys.create({
name: 'My API Key',
subject: userId,
})const userId = 'user_123'
const apiKey = await clerkClient.apiKeys.create({
name: 'Production API Key',
subject: userId,
description: 'API key for accessing my application',
scopes: ['read:users', 'write:users'],
secondsUntilExpiration: 86400, // expires in 24 hours
})Backend API (BAPI) endpoint
This method in the SDK is a wrapper around the BAPI endpoint POST/api_keys. See the BAPI reference for more information.
Feedback
Last updated on