title: API Keys url: https://platform.claude.com/docs/en/api/beta/organization/api_keys
API Keys
List API Keys
GET /v1/organizations/api_keys
List API Keys
Query parameters
-
after_id: optional stringID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object.
-
before_id: optional stringID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object.
-
created_by_user_id: optional stringFilter by the ID of the User who created the object.
-
limit: optional numberNumber of items to return per page.
Defaults to
20. Ranges from1to1000.default: 20, maximum: 1000, minimum: 1
-
status: optional "active" or "archived" or "expired" or "inactive"Filter by API key status.
-
"active" -
"archived" -
"expired" -
"inactive"
-
-
workspace_id: optional stringFilter by Workspace ID.
Returns
-
data: array of BetaAPIKey-
type: "api_key"Object type.
For API Keys, this is always
"api_key".default: api_key
-
id: stringID of the API key.
-
created_at: stringRFC 3339 datetime string indicating when the API Key was created.
format: date-time
-
created_by: BetaAPIKeyCreatedBy or nullThe ID and type of the actor that created the API key, or
nullwhen the creator is not recorded (legacy, workload-identity-federated, or system-created keys).-
type: "service_account" or "user"Type of the actor that created the object.
-
"service_account" -
"user"
-
-
id: stringID of the actor that created the object.
-
-
expires_at: string or nullRFC 3339 datetime string indicating when the API Key expires, or
nullif it never expires.format: date-time
-
name: stringName of the API key.
-
partial_key_hint: string or nullPartially redacted hint for the API key.
-
principal: BetaAPIKeyUserActor or BetaAPIKeyServiceAccountActor or nullThe principal the API key acts as (a User or a Service Account), or
nullif the API key is not bound to a principal.-
BetaAPIKeyUserActor object-
type: "user_actor"Principal type. Always
"user_actor"for a User.default: user_actor
-
user_id: stringID of the User the API key acts as.
-
-
BetaAPIKeyServiceAccountActor object-
type: "service_account_actor"Principal type. Always
"service_account_actor"for a Service Account.default: service_account_actor
-
service_account_id: stringID of the Service Account the API key acts as.
-
-
-
scope: BetaAPIKeyOrganizationScope or BetaAPIKeyWorkspaceScopeWhere the API key belongs: its Workspace (
{"type": "workspace", "workspace_id": "wrkspc_..."}, with the Workspace's real ID even when it is the organization's default Workspace), or the organization ({"type": "organization"}) for a principal-bound API key that has no Workspace.-
BetaAPIKeyOrganizationScope object-
type: "organization"Scope type. Always
"organization": the API key has no Workspace. Only a principal-bound API key can have this scope.default: organization
-
-
BetaAPIKeyWorkspaceScope object-
type: "workspace"Scope type. Always
"workspace": the API key belongs to one Workspace.default: workspace
-
workspace_id: stringID of the Workspace the API key belongs to. Unlike the deprecated top-level
workspace_id, this is the Workspace's real ID even for the organization's default Workspace.
-
-
-
status: "active" or "archived" or "expired" or "inactive"Status of the API key.
-
"active" -
"archived" -
"expired" -
"inactive"
-
-
workspace_id: string or nullDeprecated: Use
scopeinstead.workspace_idisnullboth for an API key in the default Workspace and for a principal-bound API key that has no Workspace.Deprecated: use
scopeinstead. ID of the Workspace associated with the API key, ornullif the API key belongs to the default Workspace. Alsonullfor a principal-bound API key that has no Workspace;scopetells the two apart.
-
-
first_id: string or nullFirst ID in the
datalist. Can be used as thebefore_idfor the previous page. -
has_more: booleanIndicates if there are more results in the requested page direction.
-
last_id: string or nullLast ID in the
datalist. Can be used as theafter_idfor the next page.
Example
curl https://api.anthropic.com/v1/organizations/api_keys \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"data": [
{
"id": "apikey_01Rj2N8SVvo6BePZj99NhmiT",
"created_at": "2024-10-30T23:58:27.427722Z",
"created_by": {
"id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
"type": "user"
},
"expires_at": "2024-10-30T23:58:27.427722Z",
"name": "Developer Key",
"partial_key_hint": "sk-ant-api03-R2D...igAA",
"principal": {
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"scope": {
"type": "workspace",
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
},
"status": "active",
"type": "api_key",
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
}
],
"first_id": "first_id",
"has_more": true,
"last_id": "last_id"
}Retrieve API Key (Admin API)
GET /v1/organizations/api_keys/{api_key_id}
Retrieve information about a single API key in your organization, looked up by its ID. This Admin API endpoint requires an Admin API key, is intended for programmatic key management, and never returns the key's secret value. To view or create your own API keys, go to API keys in the Claude Console.
Path parameters
-
api_key_id: stringID of the API key.
Returns
-
BetaAPIKey object-
type: "api_key"Object type.
For API Keys, this is always
"api_key".default: api_key
-
id: stringID of the API key.
-
created_at: stringRFC 3339 datetime string indicating when the API Key was created.
format: date-time
-
created_by: BetaAPIKeyCreatedBy or nullThe ID and type of the actor that created the API key, or
nullwhen the creator is not recorded (legacy, workload-identity-federated, or system-created keys).-
type: "service_account" or "user"Type of the actor that created the object.
-
"service_account" -
"user"
-
-
id: stringID of the actor that created the object.
-
-
expires_at: string or nullRFC 3339 datetime string indicating when the API Key expires, or
nullif it never expires.format: date-time
-
name: stringName of the API key.
-
partial_key_hint: string or nullPartially redacted hint for the API key.
-
principal: BetaAPIKeyUserActor or BetaAPIKeyServiceAccountActor or nullThe principal the API key acts as (a User or a Service Account), or
nullif the API key is not bound to a principal.-
BetaAPIKeyUserActor object-
type: "user_actor"Principal type. Always
"user_actor"for a User.default: user_actor
-
user_id: stringID of the User the API key acts as.
-
-
BetaAPIKeyServiceAccountActor object-
type: "service_account_actor"Principal type. Always
"service_account_actor"for a Service Account.default: service_account_actor
-
service_account_id: stringID of the Service Account the API key acts as.
-
-
-
scope: BetaAPIKeyOrganizationScope or BetaAPIKeyWorkspaceScopeWhere the API key belongs: its Workspace (
{"type": "workspace", "workspace_id": "wrkspc_..."}, with the Workspace's real ID even when it is the organization's default Workspace), or the organization ({"type": "organization"}) for a principal-bound API key that has no Workspace.-
BetaAPIKeyOrganizationScope object-
type: "organization"Scope type. Always
"organization": the API key has no Workspace. Only a principal-bound API key can have this scope.default: organization
-
-
BetaAPIKeyWorkspaceScope object-
type: "workspace"Scope type. Always
"workspace": the API key belongs to one Workspace.default: workspace
-
workspace_id: stringID of the Workspace the API key belongs to. Unlike the deprecated top-level
workspace_id, this is the Workspace's real ID even for the organization's default Workspace.
-
-
-
status: "active" or "archived" or "expired" or "inactive"Status of the API key.
-
"active" -
"archived" -
"expired" -
"inactive"
-
-
workspace_id: string or nullDeprecated: Use
scopeinstead.workspace_idisnullboth for an API key in the default Workspace and for a principal-bound API key that has no Workspace.Deprecated: use
scopeinstead. ID of the Workspace associated with the API key, ornullif the API key belongs to the default Workspace. Alsonullfor a principal-bound API key that has no Workspace;scopetells the two apart.
-
Example
curl https://api.anthropic.com/v1/organizations/api_keys/$API_KEY_ID \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"Response (200)
{
"id": "apikey_01Rj2N8SVvo6BePZj99NhmiT",
"created_at": "2024-10-30T23:58:27.427722Z",
"created_by": {
"id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
"type": "user"
},
"expires_at": "2024-10-30T23:58:27.427722Z",
"name": "Developer Key",
"partial_key_hint": "sk-ant-api03-R2D...igAA",
"principal": {
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"scope": {
"type": "workspace",
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
},
"status": "active",
"type": "api_key",
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
}Update API Key
POST /v1/organizations/api_keys/{api_key_id}
Update API Key
Path parameters
-
api_key_id: stringID of the API key.
Body parameters
-
name: optional string or nullName of the API key.
maxLength: 500, minLength: 1
-
status: optional "active" or "archived" or "inactive" or nullStatus of the API key.
-
"active" -
"archived" -
"inactive"
-
Returns
-
BetaAPIKey object-
type: "api_key"Object type.
For API Keys, this is always
"api_key".default: api_key
-
id: stringID of the API key.
-
created_at: stringRFC 3339 datetime string indicating when the API Key was created.
format: date-time
-
created_by: BetaAPIKeyCreatedBy or nullThe ID and type of the actor that created the API key, or
nullwhen the creator is not recorded (legacy, workload-identity-federated, or system-created keys).-
type: "service_account" or "user"Type of the actor that created the object.
-
"service_account" -
"user"
-
-
id: stringID of the actor that created the object.
-
-
expires_at: string or nullRFC 3339 datetime string indicating when the API Key expires, or
nullif it never expires.format: date-time
-
name: stringName of the API key.
-
partial_key_hint: string or nullPartially redacted hint for the API key.
-
principal: BetaAPIKeyUserActor or BetaAPIKeyServiceAccountActor or nullThe principal the API key acts as (a User or a Service Account), or
nullif the API key is not bound to a principal.-
BetaAPIKeyUserActor object-
type: "user_actor"Principal type. Always
"user_actor"for a User.default: user_actor
-
user_id: stringID of the User the API key acts as.
-
-
BetaAPIKeyServiceAccountActor object-
type: "service_account_actor"Principal type. Always
"service_account_actor"for a Service Account.default: service_account_actor
-
service_account_id: stringID of the Service Account the API key acts as.
-
-
-
scope: BetaAPIKeyOrganizationScope or BetaAPIKeyWorkspaceScopeWhere the API key belongs: its Workspace (
{"type": "workspace", "workspace_id": "wrkspc_..."}, with the Workspace's real ID even when it is the organization's default Workspace), or the organization ({"type": "organization"}) for a principal-bound API key that has no Workspace.-
BetaAPIKeyOrganizationScope object-
type: "organization"Scope type. Always
"organization": the API key has no Workspace. Only a principal-bound API key can have this scope.default: organization
-
-
BetaAPIKeyWorkspaceScope object-
type: "workspace"Scope type. Always
"workspace": the API key belongs to one Workspace.default: workspace
-
workspace_id: stringID of the Workspace the API key belongs to. Unlike the deprecated top-level
workspace_id, this is the Workspace's real ID even for the organization's default Workspace.
-
-
-
status: "active" or "archived" or "expired" or "inactive"Status of the API key.
-
"active" -
"archived" -
"expired" -
"inactive"
-
-
workspace_id: string or nullDeprecated: Use
scopeinstead.workspace_idisnullboth for an API key in the default Workspace and for a principal-bound API key that has no Workspace.Deprecated: use
scopeinstead. ID of the Workspace associated with the API key, ornullif the API key belongs to the default Workspace. Alsonullfor a principal-bound API key that has no Workspace;scopetells the two apart.
-
Example
curl https://api.anthropic.com/v1/organizations/api_keys/$API_KEY_ID \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{}'Response (200)
{
"id": "apikey_01Rj2N8SVvo6BePZj99NhmiT",
"created_at": "2024-10-30T23:58:27.427722Z",
"created_by": {
"id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
"type": "user"
},
"expires_at": "2024-10-30T23:58:27.427722Z",
"name": "Developer Key",
"partial_key_hint": "sk-ant-api03-R2D...igAA",
"principal": {
"type": "user_actor",
"user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
},
"scope": {
"type": "workspace",
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
},
"status": "active",
"type": "api_key",
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
}Domain types
Beta API Key
-
BetaAPIKey object-
type: "api_key"Object type.
For API Keys, this is always
"api_key".default: api_key
-
id: stringID of the API key.
-
created_at: stringRFC 3339 datetime string indicating when the API Key was created.
format: date-time
-
created_by: BetaAPIKeyCreatedBy or nullThe ID and type of the actor that created the API key, or
nullwhen the creator is not recorded (legacy, workload-identity-federated, or system-created keys).-
type: "service_account" or "user"Type of the actor that created the object.
-
"service_account" -
"user"
-
-
id: stringID of the actor that created the object.
-
-
expires_at: string or nullRFC 3339 datetime string indicating when the API Key expires, or
nullif it never expires.format: date-time
-
name: stringName of the API key.
-
partial_key_hint: string or nullPartially redacted hint for the API key.
-
principal: BetaAPIKeyUserActor or BetaAPIKeyServiceAccountActor or nullThe principal the API key acts as (a User or a Service Account), or
nullif the API key is not bound to a principal.-
BetaAPIKeyUserActor object-
type: "user_actor"Principal type. Always
"user_actor"for a User.default: user_actor
-
user_id: stringID of the User the API key acts as.
-
-
BetaAPIKeyServiceAccountActor object-
type: "service_account_actor"Principal type. Always
"service_account_actor"for a Service Account.default: service_account_actor
-
service_account_id: stringID of the Service Account the API key acts as.
-
-
-
scope: BetaAPIKeyOrganizationScope or BetaAPIKeyWorkspaceScopeWhere the API key belongs: its Workspace (
{"type": "workspace", "workspace_id": "wrkspc_..."}, with the Workspace's real ID even when it is the organization's default Workspace), or the organization ({"type": "organization"}) for a principal-bound API key that has no Workspace.-
BetaAPIKeyOrganizationScope object-
type: "organization"Scope type. Always
"organization": the API key has no Workspace. Only a principal-bound API key can have this scope.default: organization
-
-
BetaAPIKeyWorkspaceScope object-
type: "workspace"Scope type. Always
"workspace": the API key belongs to one Workspace.default: workspace
-
workspace_id: stringID of the Workspace the API key belongs to. Unlike the deprecated top-level
workspace_id, this is the Workspace's real ID even for the organization's default Workspace.
-
-
-
status: "active" or "archived" or "expired" or "inactive"Status of the API key.
-
"active" -
"archived" -
"expired" -
"inactive"
-
-
workspace_id: string or nullDeprecated: Use
scopeinstead.workspace_idisnullboth for an API key in the default Workspace and for a principal-bound API key that has no Workspace.Deprecated: use
scopeinstead. ID of the Workspace associated with the API key, ornullif the API key belongs to the default Workspace. Alsonullfor a principal-bound API key that has no Workspace;scopetells the two apart.
-
Beta API Key Created By
-
BetaAPIKeyCreatedBy object-
type: "service_account" or "user"Type of the actor that created the object.
-
"service_account" -
"user"
-
-
id: stringID of the actor that created the object.
-
Beta API Key Organization Scope
-
BetaAPIKeyOrganizationScope object-
type: "organization"Scope type. Always
"organization": the API key has no Workspace. Only a principal-bound API key can have this scope.default: organization
-
Beta API Key Service Account Actor
-
BetaAPIKeyServiceAccountActor object-
type: "service_account_actor"Principal type. Always
"service_account_actor"for a Service Account.default: service_account_actor
-
service_account_id: stringID of the Service Account the API key acts as.
-
Beta API Key User Actor
-
BetaAPIKeyUserActor object-
type: "user_actor"Principal type. Always
"user_actor"for a User.default: user_actor
-
user_id: stringID of the User the API key acts as.
-
Beta API Key Workspace Scope
-
BetaAPIKeyWorkspaceScope object-
type: "workspace"Scope type. Always
"workspace": the API key belongs to one Workspace.default: workspace
-
workspace_id: stringID of the Workspace the API key belongs to. Unlike the deprecated top-level
workspace_id, this is the Workspace's real ID even for the organization's default Workspace.
-