Claude Platform Docs

API Keys

List API Keys
beta.organization.api_keys.list(**kwargs) -> Page<BetaAPIKey>
GET/v1/organizations/api_keys
Retrieve API Key (Admin API)
beta.organization.api_keys.retrieve(api_key_id) -> BetaAPIKey
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.

Update API Key
beta.organization.api_keys.update(api_key_id, **kwargs) -> BetaAPIKey
POST/v1/organizations/api_keys/{api_key_id}
Models
class BetaAPIKey { type: :api_key, id, created_at, 8 more }
class BetaAPIKeyCreatedBy { type, id }
type: :service_account | :user

Type of the actor that created the object.

One of the following:
:service_account
:user
id: String

ID of the actor that created the object.

class BetaAPIKeyOrganizationScope { type: :organization }
type: :organization

Scope type. Always "organization": the API key has no Workspace. Only a principal-bound API key can have this scope.

class BetaAPIKeyServiceAccountActor { type: :service_account_actor, service_account_id }
type: :service_account_actor

Principal type. Always "service_account_actor" for a Service Account.

service_account_id: String

ID of the Service Account the API key acts as.

class BetaAPIKeyUserActor { type: :user_actor, user_id }
type: :user_actor

Principal type. Always "user_actor" for a User.

user_id: String

ID of the User the API key acts as.

class BetaAPIKeyWorkspaceScope { type: :workspace, workspace_id }
type: :workspace

Scope type. Always "workspace": the API key belongs to one Workspace.

workspace_id: String

ID 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.