Claude Platform Docs

Beta

Models
type AnthropicBeta = Union[str, Literal["message-batches-2024-09-24", "prompt-caching-2024-07-31", "computer-use-2024-10-22", 47 more]]
One of the following:
class BetaAPIError: type: "api_error"; message
type: Literal["api_error"]
defaultapi_error
message: str
defaultInternal server error
class BetaAuthenticationError: type: "authentication_error"; message
type: Literal["authentication_error"]
defaultauthentication_error
message: str
defaultAuthentication error
class BetaBillingError: type: "billing_error"; message
type: Literal["billing_error"]
defaultbilling_error
message: str
defaultBilling error
type BetaCurrency = Literal["USD"]
type BetaError = ...
One of the following:
class BetaErrorResponse: type: "error"; error; request_id
type: Literal["error"]
defaulterror
error: BetaError
One of the following:
request_id: Optional[str]
class BetaGatewayTimeoutError: type: "timeout_error"; message
type: Literal["timeout_error"]
defaulttimeout_error
message: str
defaultRequest timeout
class BetaInvalidRequestError: type: "invalid_request_error"; message
type: Literal["invalid_request_error"]
defaultinvalid_request_error
message: str
defaultInvalid request
class BetaMonetaryAmount: amount; currency

A monetary amount in a specific currency.

amount: str

Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.

currency: BetaCurrency

Uppercase ISO-4217 currency code. USD is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.

class BetaNotFoundError: type: "not_found_error"; message
type: Literal["not_found_error"]
defaultnot_found_error
message: str
defaultNot found
class BetaOverloadedError: type: "overloaded_error"; message
type: Literal["overloaded_error"]
defaultoverloaded_error
message: str
defaultOverloaded
class BetaPermissionError: type: "permission_error"; message
type: Literal["permission_error"]
defaultpermission_error
message: str
defaultPermission denied
class BetaRateLimitError: type: "rate_limit_error"; message
type: Literal["rate_limit_error"]
defaultrate_limit_error
message: str
defaultRate limited

BetaModels

List Models
beta.models.list(**kwargs) -> SyncPage[BetaModelInfo]
GET/v1/models

List available models.

Get a Model
beta.models.retrieve(model_id, **kwargs) -> BetaModelInfo
GET/v1/models/{model_id}

Get a specific model.

BetaMessages

Create a Message
beta.messages.create(**kwargs) -> BetaMessage
POST/v1/messages

Send a structured list of input messages with text and/or image content, and the model will generate the next message in the conversation.

Count tokens in a Message
beta.messages.count_tokens(**kwargs) -> BetaMessageTokensCount
POST/v1/messages/count_tokens

Count the number of tokens in a Message.

BetaMessagesBatches

Create a Message Batch
beta.messages.batches.create(**kwargs) -> BetaMessageBatch
POST/v1/messages/batches

Send a batch of Message creation requests.

Retrieve a Message Batch
beta.messages.batches.retrieve(message_batch_id, **kwargs) -> BetaMessageBatch
GET/v1/messages/batches/{message_batch_id}

This endpoint is idempotent and can be used to poll for Message Batch completion. To access the results of a Message Batch, make a request to the results_url field in the response.

List Message Batches
beta.messages.batches.list(**kwargs) -> SyncPage[BetaMessageBatch]
GET/v1/messages/batches

List all Message Batches within a Workspace. Most recently created batches are returned first.

Cancel a Message Batch
beta.messages.batches.cancel(message_batch_id, **kwargs) -> BetaMessageBatch
POST/v1/messages/batches/{message_batch_id}/cancel

Batches may be canceled any time before processing ends. Once cancellation is initiated, the batch enters a canceling state, at which time the system may complete any in-progress, non-interruptible requests before finalizing cancellation.

Delete a Message Batch
beta.messages.batches.delete(message_batch_id, **kwargs) -> BetaDeletedMessageBatch
DELETE/v1/messages/batches/{message_batch_id}
Retrieve Message Batch results
beta.messages.batches.results(message_batch_id, **kwargs) -> BetaMessageBatchIndividualResponse
GET/v1/messages/batches/{message_batch_id}/results

Streams the results of a Message Batch as a .jsonl file.

BetaAgents

Create Agent
beta.agents.create(**kwargs) -> BetaManagedAgentsAgent
POST/v1/agents
List Agents
beta.agents.list(**kwargs) -> SyncPageCursor[BetaManagedAgentsAgent]
GET/v1/agents
Get Agent
beta.agents.retrieve(agent_id, **kwargs) -> BetaManagedAgentsAgent
GET/v1/agents/{agent_id}
Update Agent
beta.agents.update(agent_id, **kwargs) -> BetaManagedAgentsAgent
POST/v1/agents/{agent_id}
Archive Agent
beta.agents.archive(agent_id, **kwargs) -> BetaManagedAgentsAgent
POST/v1/agents/{agent_id}/archive

BetaAgentsVersions

List Agent Versions
beta.agents.versions.list(agent_id, **kwargs) -> SyncPageCursor[BetaManagedAgentsAgent]
GET/v1/agents/{agent_id}/versions
Create Environment
beta.environments.create(**kwargs) -> BetaEnvironment
POST/v1/environments

Create a new environment with the specified configuration.

List Environments
beta.environments.list(**kwargs) -> SyncPageCursor[BetaEnvironment]
GET/v1/environments

List environments with pagination support.

Get Environment
beta.environments.retrieve(environment_id, **kwargs) -> BetaEnvironment
GET/v1/environments/{environment_id}

Retrieve a specific environment by ID.

Update Environment
beta.environments.update(environment_id, **kwargs) -> BetaEnvironment
POST/v1/environments/{environment_id}

Update an existing environment's configuration.

Delete Environment
beta.environments.delete(environment_id, **kwargs) -> BetaEnvironmentDeleteResponse
DELETE/v1/environments/{environment_id}

Delete an environment by ID. Returns a confirmation of the deletion.

Archive Environment
beta.environments.archive(environment_id, **kwargs) -> BetaEnvironment
POST/v1/environments/{environment_id}/archive

Archive an environment by ID. Archived environments cannot be used to create new sessions.

BetaEnvironmentsWork

Get Work Item
beta.environments.work.retrieve(work_id, **kwargs) -> BetaSelfHostedWork
GET/v1/environments/{environment_id}/work/{work_id}

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Poll for Work
beta.environments.work.poll(environment_id, **kwargs) -> BetaSelfHostedWork
GET/v1/environments/{environment_id}/work/poll

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Acknowledge Work
beta.environments.work.ack(work_id, **kwargs) -> BetaSelfHostedWork
POST/v1/environments/{environment_id}/work/{work_id}/ack

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Record Heartbeat
beta.environments.work.heartbeat(work_id, **kwargs) -> BetaSelfHostedWorkHeartbeatResponse
POST/v1/environments/{environment_id}/work/{work_id}/heartbeat

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Stop Work
beta.environments.work.stop(work_id, **kwargs) -> BetaSelfHostedWork
POST/v1/environments/{environment_id}/work/{work_id}/stop

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

List Work Items
beta.environments.work.list(environment_id, **kwargs) -> SyncPageCursor[BetaSelfHostedWork]
GET/v1/environments/{environment_id}/work

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Update Work Item
beta.environments.work.update(work_id, **kwargs) -> BetaSelfHostedWork
POST/v1/environments/{environment_id}/work/{work_id}

Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.

Get Queue Statistics
beta.environments.work.stats(environment_id, **kwargs) -> BetaSelfHostedWorkQueueStats
GET/v1/environments/{environment_id}/work/stats

Get statistics about the work queue for an environment.

BetaSessions

Create Session
beta.sessions.create(**kwargs) -> BetaManagedAgentsSession
POST/v1/sessions
List Sessions
beta.sessions.list(**kwargs) -> SyncBidirectionalPageCursor[BetaManagedAgentsSession]
GET/v1/sessions
Get Session
beta.sessions.retrieve(session_id, **kwargs) -> BetaManagedAgentsSession
GET/v1/sessions/{session_id}
Update Session
beta.sessions.update(session_id, **kwargs) -> BetaManagedAgentsSession
POST/v1/sessions/{session_id}
Delete Session
beta.sessions.delete(session_id, **kwargs) -> BetaManagedAgentsDeletedSession
DELETE/v1/sessions/{session_id}
Archive Session
beta.sessions.archive(session_id, **kwargs) -> BetaManagedAgentsSession
POST/v1/sessions/{session_id}/archive

BetaSessionsEvents

List Events
beta.sessions.events.list(session_id, **kwargs) -> SyncPageCursor[BetaManagedAgentsSessionEvent]
GET/v1/sessions/{session_id}/events
Send Events
beta.sessions.events.send(session_id, **kwargs) -> BetaManagedAgentsSendSessionEvents
POST/v1/sessions/{session_id}/events
Stream Events
beta.sessions.events.stream(session_id, **kwargs) -> BetaManagedAgentsStreamSessionEvents
GET/v1/sessions/{session_id}/events/stream

BetaSessionsResources

Add Session Resource
beta.sessions.resources.add(session_id, **kwargs) -> BetaManagedAgentsFileResource
POST/v1/sessions/{session_id}/resources
List Session Resources
beta.sessions.resources.list(session_id, **kwargs) -> SyncPageCursor[BetaManagedAgentsSessionResource]
GET/v1/sessions/{session_id}/resources
Get Session Resource
beta.sessions.resources.retrieve(resource_id, **kwargs) -> ResourceRetrieveResponse
GET/v1/sessions/{session_id}/resources/{resource_id}
Update Session Resource
beta.sessions.resources.update(resource_id, **kwargs) -> ResourceUpdateResponse
POST/v1/sessions/{session_id}/resources/{resource_id}
Delete Session Resource
beta.sessions.resources.delete(resource_id, **kwargs) -> BetaManagedAgentsDeleteSessionResource
DELETE/v1/sessions/{session_id}/resources/{resource_id}

BetaSessionsThreads

List Session Threads
beta.sessions.threads.list(session_id, **kwargs) -> SyncPageCursor[BetaManagedAgentsSessionThread]
GET/v1/sessions/{session_id}/threads
Get Session Thread
beta.sessions.threads.retrieve(thread_id, **kwargs) -> BetaManagedAgentsSessionThread
GET/v1/sessions/{session_id}/threads/{thread_id}
Archive Session Thread
beta.sessions.threads.archive(thread_id, **kwargs) -> BetaManagedAgentsSessionThread
POST/v1/sessions/{session_id}/threads/{thread_id}/archive

BetaSessionsThreadsEvents

List Session Thread Events
beta.sessions.threads.events.list(thread_id, **kwargs) -> SyncPageCursor[BetaManagedAgentsSessionEvent]
GET/v1/sessions/{session_id}/threads/{thread_id}/events
Stream Session Thread Events
beta.sessions.threads.events.stream(thread_id, **kwargs) -> BetaManagedAgentsStreamSessionThreadEvents
GET/v1/sessions/{session_id}/threads/{thread_id}/stream
Create Deployment
beta.deployments.create(**kwargs) -> BetaManagedAgentsDeployment
POST/v1/deployments
List Deployments
beta.deployments.list(**kwargs) -> SyncPageCursor[BetaManagedAgentsDeployment]
GET/v1/deployments
Get Deployment
beta.deployments.retrieve(deployment_id, **kwargs) -> BetaManagedAgentsDeployment
GET/v1/deployments/{deployment_id}
Update Deployment
beta.deployments.update(deployment_id, **kwargs) -> BetaManagedAgentsDeployment
POST/v1/deployments/{deployment_id}
Archive Deployment
beta.deployments.archive(deployment_id, **kwargs) -> BetaManagedAgentsDeployment
POST/v1/deployments/{deployment_id}/archive
Run Deployment Now
beta.deployments.run(deployment_id, **kwargs) -> BetaManagedAgentsDeploymentRun
POST/v1/deployments/{deployment_id}/run
Pause Deployment
beta.deployments.pause(deployment_id, **kwargs) -> BetaManagedAgentsDeployment
POST/v1/deployments/{deployment_id}/pause
Unpause Deployment
beta.deployments.unpause(deployment_id, **kwargs) -> BetaManagedAgentsDeployment
POST/v1/deployments/{deployment_id}/unpause
List Deployment Runs
beta.deployment_runs.list(**kwargs) -> SyncPageCursor[BetaManagedAgentsDeploymentRun]
GET/v1/deployment_runs
Get Deployment Run
beta.deployment_runs.retrieve(deployment_run_id, **kwargs) -> BetaManagedAgentsDeploymentRun
GET/v1/deployment_runs/{deployment_run_id}

BetaVaults

Create Vault
beta.vaults.create(**kwargs) -> BetaManagedAgentsVault
POST/v1/vaults
List Vaults
beta.vaults.list(**kwargs) -> SyncPageCursor[BetaManagedAgentsVault]
GET/v1/vaults
Get Vault
beta.vaults.retrieve(vault_id, **kwargs) -> BetaManagedAgentsVault
GET/v1/vaults/{vault_id}
Update Vault
beta.vaults.update(vault_id, **kwargs) -> BetaManagedAgentsVault
POST/v1/vaults/{vault_id}
Delete Vault
beta.vaults.delete(vault_id, **kwargs) -> BetaManagedAgentsDeletedVault
DELETE/v1/vaults/{vault_id}
Archive Vault
beta.vaults.archive(vault_id, **kwargs) -> BetaManagedAgentsVault
POST/v1/vaults/{vault_id}/archive

BetaVaultsCredentials

Create Credential
beta.vaults.credentials.create(vault_id, **kwargs) -> BetaManagedAgentsCredential
POST/v1/vaults/{vault_id}/credentials
List Credentials
beta.vaults.credentials.list(vault_id, **kwargs) -> SyncPageCursor[BetaManagedAgentsCredential]
GET/v1/vaults/{vault_id}/credentials
Get Credential
beta.vaults.credentials.retrieve(credential_id, **kwargs) -> BetaManagedAgentsCredential
GET/v1/vaults/{vault_id}/credentials/{credential_id}
Update Credential
beta.vaults.credentials.update(credential_id, **kwargs) -> BetaManagedAgentsCredential
POST/v1/vaults/{vault_id}/credentials/{credential_id}
Delete Credential
beta.vaults.credentials.delete(credential_id, **kwargs) -> BetaManagedAgentsDeletedCredential
DELETE/v1/vaults/{vault_id}/credentials/{credential_id}
Archive Credential
beta.vaults.credentials.archive(credential_id, **kwargs) -> BetaManagedAgentsCredential
POST/v1/vaults/{vault_id}/credentials/{credential_id}/archive
Validate Credential
beta.vaults.credentials.mcp_oauth_validate(credential_id, **kwargs) -> BetaManagedAgentsCredentialValidation
POST/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate
Create a memory store
beta.memory_stores.create(**kwargs) -> BetaManagedAgentsMemoryStore
POST/v1/memory_stores
List memory stores
beta.memory_stores.list(**kwargs) -> SyncPageCursor[BetaManagedAgentsMemoryStore]
GET/v1/memory_stores
Retrieve a memory store
beta.memory_stores.retrieve(memory_store_id, **kwargs) -> BetaManagedAgentsMemoryStore
GET/v1/memory_stores/{memory_store_id}
Update a memory store
beta.memory_stores.update(memory_store_id, **kwargs) -> BetaManagedAgentsMemoryStore
POST/v1/memory_stores/{memory_store_id}
Delete a memory store
beta.memory_stores.delete(memory_store_id, **kwargs) -> BetaManagedAgentsDeletedMemoryStore
DELETE/v1/memory_stores/{memory_store_id}
Archive a memory store
beta.memory_stores.archive(memory_store_id, **kwargs) -> BetaManagedAgentsMemoryStore
POST/v1/memory_stores/{memory_store_id}/archive

BetaMemory StoresMemories

Create a memory
beta.memory_stores.memories.create(memory_store_id, **kwargs) -> BetaManagedAgentsMemory
POST/v1/memory_stores/{memory_store_id}/memories
List memories
beta.memory_stores.memories.list(memory_store_id, **kwargs) -> SyncPageCursor[BetaManagedAgentsMemoryListItem]
GET/v1/memory_stores/{memory_store_id}/memories
Retrieve a memory
beta.memory_stores.memories.retrieve(memory_id, **kwargs) -> BetaManagedAgentsMemory
GET/v1/memory_stores/{memory_store_id}/memories/{memory_id}
Update a memory
beta.memory_stores.memories.update(memory_id, **kwargs) -> BetaManagedAgentsMemory
POST/v1/memory_stores/{memory_store_id}/memories/{memory_id}
Delete a memory
beta.memory_stores.memories.delete(memory_id, **kwargs) -> BetaManagedAgentsDeletedMemory
DELETE/v1/memory_stores/{memory_store_id}/memories/{memory_id}

BetaMemory StoresMemory Versions

List memory versions
beta.memory_stores.memory_versions.list(memory_store_id, **kwargs) -> SyncPageCursor[BetaManagedAgentsMemoryVersion]
GET/v1/memory_stores/{memory_store_id}/memory_versions
Retrieve a memory version
beta.memory_stores.memory_versions.retrieve(memory_version_id, **kwargs) -> BetaManagedAgentsMemoryVersion
GET/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}
Redact a memory version
beta.memory_stores.memory_versions.redact(memory_version_id, **kwargs) -> BetaManagedAgentsMemoryVersion
POST/v1/memory_stores/{memory_store_id}/memory_versions/{memory_version_id}/redact

BetaFiles

Upload File
beta.files.upload(**kwargs) -> BetaFileMetadata
POST/v1/files
List Files
beta.files.list(**kwargs) -> SyncPageCursor[BetaFileMetadata]
GET/v1/files
Download File
beta.files.download(file_id, **kwargs) -> BinaryResponseContent
GET/v1/files/{file_id}/content
Get File Metadata
beta.files.retrieve_metadata(file_id, **kwargs) -> BetaFileMetadata
GET/v1/files/{file_id}
Delete File
beta.files.delete(file_id, **kwargs) -> BetaDeletedFile
DELETE/v1/files/{file_id}

BetaSkills

Create Skill
beta.skills.create(**kwargs) -> BetaSkill
POST/v1/skills
List Skills
beta.skills.list(**kwargs) -> SyncPageCursor[BetaSkill]
GET/v1/skills
Get Skill
beta.skills.retrieve(skill_id, **kwargs) -> BetaSkill
GET/v1/skills/{skill_id}
Delete Skill
beta.skills.delete(skill_id, **kwargs) -> BetaDeletedSkill
DELETE/v1/skills/{skill_id}

BetaSkillsVersions

Create Skill Version
beta.skills.versions.create(skill_id, **kwargs) -> BetaSkillVersion
POST/v1/skills/{skill_id}/versions
List Skill Versions
beta.skills.versions.list(skill_id, **kwargs) -> SyncPageCursor[BetaSkillVersion]
GET/v1/skills/{skill_id}/versions
Download Skill Version Content
beta.skills.versions.download(version, **kwargs) -> BinaryResponseContent
GET/v1/skills/{skill_id}/versions/{version}/content

Download a skill version's content as a zip archive.

Get Skill Version
beta.skills.versions.retrieve(version, **kwargs) -> BetaSkillVersion
GET/v1/skills/{skill_id}/versions/{version}
Delete Skill Version
beta.skills.versions.delete(version, **kwargs) -> BetaDeletedSkillVersion
DELETE/v1/skills/{skill_id}/versions/{version}
Create User Profile
beta.user_profiles.create(**kwargs) -> BetaUserProfile
POST/v1/user_profiles
List User Profiles
beta.user_profiles.list(**kwargs) -> SyncPageCursor[BetaUserProfile]
GET/v1/user_profiles
Get User Profile
beta.user_profiles.retrieve(user_profile_id, **kwargs) -> BetaUserProfile
GET/v1/user_profiles/{user_profile_id}
Update User Profile
beta.user_profiles.update(user_profile_id, **kwargs) -> BetaUserProfile
POST/v1/user_profiles/{user_profile_id}
Create Enrollment URL
beta.user_profiles.create_enrollment_url(user_profile_id, **kwargs) -> BetaUserProfileEnrollmentURL
POST/v1/user_profiles/{user_profile_id}/enrollment_url

BetaDreams

Create a Dream
beta.dreams.create(**kwargs) -> BetaDream
POST/v1/dreams

Start an asynchronous job that uses past sessions to produce a reorganized version of a memory store and get back the dream to poll for the result.

List Dreams
beta.dreams.list(**kwargs) -> SyncPageCursor[BetaDream]
GET/v1/dreams

List the dreams in the workspace, newest first.

Get a Dream
beta.dreams.retrieve(dream_id, **kwargs) -> BetaDream
GET/v1/dreams/{dream_id}

Get a dream by ID to check its status, output memory store, and token usage.

Cancel a Dream
beta.dreams.cancel(dream_id, **kwargs) -> BetaDream
POST/v1/dreams/{dream_id}/cancel

Stop a pending or running dream.

Archive a Dream
beta.dreams.archive(dream_id, **kwargs) -> BetaDream
POST/v1/dreams/{dream_id}/archive

Hide a completed, failed, or canceled dream from the default list of dreams.

BetaTunnels

Create Tunnel
beta.tunnels.create(**kwargs) -> BetaTunnel
POST/v1/tunnels

The Tunnels API is in research preview. It requires the anthropic-beta: mcp-tunnels-2026-06-22 header and may change without a deprecation period. It supersedes the Admin API endpoints at /v1/organizations/tunnels, which remain available during a migration window.

Get Tunnel
beta.tunnels.retrieve(tunnel_id, **kwargs) -> BetaTunnel
GET/v1/tunnels/{tunnel_id}

The Tunnels API is in research preview. It requires the anthropic-beta: mcp-tunnels-2026-06-22 header and may change without a deprecation period. It supersedes the Admin API endpoints at /v1/organizations/tunnels, which remain available during a migration window.

List Tunnels
beta.tunnels.list(**kwargs) -> SyncPageCursor[BetaTunnel]
GET/v1/tunnels

The Tunnels API is in research preview. It requires the anthropic-beta: mcp-tunnels-2026-06-22 header and may change without a deprecation period. It supersedes the Admin API endpoints at /v1/organizations/tunnels, which remain available during a migration window.

Archive Tunnel
beta.tunnels.archive(tunnel_id, **kwargs) -> BetaTunnel
POST/v1/tunnels/{tunnel_id}/archive

The Tunnels API is in research preview. It requires the anthropic-beta: mcp-tunnels-2026-06-22 header and may change without a deprecation period. It supersedes the Admin API endpoints at /v1/organizations/tunnels, which remain available during a migration window.

Reveal Tunnel Token
beta.tunnels.reveal_token(tunnel_id, **kwargs) -> BetaTunnelToken
POST/v1/tunnels/{tunnel_id}/reveal_token

The Tunnels API is in research preview. It requires the anthropic-beta: mcp-tunnels-2026-06-22 header and may change without a deprecation period. It supersedes the Admin API endpoints at /v1/organizations/tunnels, which remain available during a migration window.

Rotate Tunnel Token
beta.tunnels.rotate_token(tunnel_id, **kwargs) -> BetaTunnelToken
POST/v1/tunnels/{tunnel_id}/rotate_token

The Tunnels API is in research preview. It requires the anthropic-beta: mcp-tunnels-2026-06-22 header and may change without a deprecation period. It supersedes the Admin API endpoints at /v1/organizations/tunnels, which remain available during a migration window.

BetaTunnelsCertificates

Create Tunnel Certificate
beta.tunnels.certificates.create(tunnel_id, **kwargs) -> BetaTunnelCertificate
POST/v1/tunnels/{tunnel_id}/certificates

The Tunnels API is in research preview. It requires the anthropic-beta: mcp-tunnels-2026-06-22 header and may change without a deprecation period. It supersedes the Admin API endpoints at /v1/organizations/tunnels, which remain available during a migration window.

Get Tunnel Certificate
beta.tunnels.certificates.retrieve(certificate_id, **kwargs) -> BetaTunnelCertificate
GET/v1/tunnels/{tunnel_id}/certificates/{certificate_id}

The Tunnels API is in research preview. It requires the anthropic-beta: mcp-tunnels-2026-06-22 header and may change without a deprecation period. It supersedes the Admin API endpoints at /v1/organizations/tunnels, which remain available during a migration window.

List Tunnel Certificates
beta.tunnels.certificates.list(tunnel_id, **kwargs) -> SyncPageCursor[BetaTunnelCertificate]
GET/v1/tunnels/{tunnel_id}/certificates

The Tunnels API is in research preview. It requires the anthropic-beta: mcp-tunnels-2026-06-22 header and may change without a deprecation period. It supersedes the Admin API endpoints at /v1/organizations/tunnels, which remain available during a migration window.

Archive Tunnel Certificate
beta.tunnels.certificates.archive(certificate_id, **kwargs) -> BetaTunnelCertificate
POST/v1/tunnels/{tunnel_id}/certificates/{certificate_id}/archive

The Tunnels API is in research preview. It requires the anthropic-beta: mcp-tunnels-2026-06-22 header and may change without a deprecation period. It supersedes the Admin API endpoints at /v1/organizations/tunnels, which remain available during a migration window.

Get Current Organization
beta.organization.retrieve() -> BetaOrganization
GET/v1/organizations/me

Retrieve information about the organization associated with the authenticated API key.

BetaOrganizationAPI Keys

List API Keys
beta.organization.api_keys.list(**kwargs) -> SyncPage[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}

BetaOrganizationExternal Keys

Create External Key
beta.organization.external_keys.create(**kwargs) -> BetaExternalKey
POST/v1/organizations/external_keys

Create an external key config owned by the caller's organization.

List External Keys
beta.organization.external_keys.list(**kwargs) -> SyncPageCursor[BetaExternalKey]
GET/v1/organizations/external_keys

List external key configs in the caller's organization.

Get External Key
beta.organization.external_keys.retrieve(external_key_id) -> BetaExternalKey
GET/v1/organizations/external_keys/{external_key_id}

Retrieve a single external key config in the caller's organization by ID.

Update External Key
beta.organization.external_keys.update(external_key_id, **kwargs) -> BetaExternalKey
POST/v1/organizations/external_keys/{external_key_id}

Partially update an external key config. Omitted fields are left unchanged.

Delete External Key
beta.organization.external_keys.delete(external_key_id) -> ExternalKeyDeleteResponse
DELETE/v1/organizations/external_keys/{external_key_id}

Delete an external key config.

Validate External Key
beta.organization.external_keys.validate(external_key_id) -> ExternalKeyValidateResponse
POST/v1/organizations/external_keys/{external_key_id}/validate

Validate an external key config against the customer's KMS.

BetaOrganizationFederationIssuers

Create Federation Issuer
beta.organization.federation.issuers.create(**kwargs) -> BetaFederationIssuer
POST/v1/organizations/federation_issuers

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

List Federation Issuers
beta.organization.federation.issuers.list(**kwargs) -> SyncPageCursor[BetaFederationIssuer]
GET/v1/organizations/federation_issuers

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Get Federation Issuer
beta.organization.federation.issuers.retrieve(federation_issuer_id, **kwargs) -> BetaFederationIssuer
GET/v1/organizations/federation_issuers/{federation_issuer_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Update Federation Issuer
beta.organization.federation.issuers.update(federation_issuer_id, **kwargs) -> BetaFederationIssuer
POST/v1/organizations/federation_issuers/{federation_issuer_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Archive Federation Issuer
beta.organization.federation.issuers.archive(federation_issuer_id, **kwargs) -> BetaFederationIssuer
POST/v1/organizations/federation_issuers/{federation_issuer_id}/archive

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

BetaOrganizationFederationRules

Create Federation Rule
beta.organization.federation.rules.create(**kwargs) -> BetaFederationRule
POST/v1/organizations/federation_rules

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

List Federation Rules
beta.organization.federation.rules.list(**kwargs) -> SyncPageCursor[BetaFederationRule]
GET/v1/organizations/federation_rules

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Get Federation Rule
beta.organization.federation.rules.retrieve(federation_rule_id, **kwargs) -> BetaFederationRule
GET/v1/organizations/federation_rules/{federation_rule_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Update Federation Rule
beta.organization.federation.rules.update(federation_rule_id, **kwargs) -> BetaFederationRule
POST/v1/organizations/federation_rules/{federation_rule_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Archive Federation Rule
beta.organization.federation.rules.archive(federation_rule_id, **kwargs) -> BetaFederationRule
POST/v1/organizations/federation_rules/{federation_rule_id}/archive

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

BetaOrganizationFederationRulesWorkspaces

Add Federation Rule Workspace
beta.organization.federation.rules.workspaces.add(federation_rule_id, **kwargs) -> BetaFederationRuleWorkspace
POST/v1/organizations/federation_rules/{federation_rule_id}/workspaces

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

List Federation Rule Workspaces
beta.organization.federation.rules.workspaces.list(federation_rule_id, **kwargs) -> SyncPageCursor[BetaFederationRuleWorkspace]
GET/v1/organizations/federation_rules/{federation_rule_id}/workspaces

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Remove Federation Rule Workspace
beta.organization.federation.rules.workspaces.remove(workspace_id, **kwargs) -> WorkspaceRemoveResponse
DELETE/v1/organizations/federation_rules/{federation_rule_id}/workspaces/{workspace_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

BetaOrganizationInvites

Create Invite
beta.organization.invites.create(**kwargs) -> BetaOrganizationInvite
POST/v1/organizations/invites

Invite a user to join the organization by email.

List Invites
beta.organization.invites.list(**kwargs) -> SyncPage[BetaOrganizationInvite]
GET/v1/organizations/invites

List the organization's invites.

Get Invite
beta.organization.invites.retrieve(invite_id) -> BetaOrganizationInvite
GET/v1/organizations/invites/{invite_id}

Retrieve an invite by ID.

Delete Invite
beta.organization.invites.delete(invite_id) -> InviteDeleteResponse
DELETE/v1/organizations/invites/{invite_id}

Delete a pending invite.

BetaOrganizationService Accounts

Create Service Account
beta.organization.service_accounts.create(**kwargs) -> BetaServiceAccount
POST/v1/organizations/service_accounts

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

List Service Accounts
beta.organization.service_accounts.list(**kwargs) -> SyncPageCursor[BetaServiceAccount]
GET/v1/organizations/service_accounts

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Get Service Account
beta.organization.service_accounts.retrieve(service_account_id, **kwargs) -> BetaServiceAccount
GET/v1/organizations/service_accounts/{service_account_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Update Service Account
beta.organization.service_accounts.update(service_account_id, **kwargs) -> BetaServiceAccount
POST/v1/organizations/service_accounts/{service_account_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Archive Service Account
beta.organization.service_accounts.archive(service_account_id, **kwargs) -> BetaServiceAccount
POST/v1/organizations/service_accounts/{service_account_id}/archive

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

BetaOrganizationService AccountsWorkspaces

Add Workspace To Service Account
beta.organization.service_accounts.workspaces.add(service_account_id, **kwargs) -> BetaServiceAccountWorkspaceMember
POST/v1/organizations/service_accounts/{service_account_id}/workspaces

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

List Workspaces For Service Account
beta.organization.service_accounts.workspaces.list(service_account_id, **kwargs) -> SyncPageCursor[BetaServiceAccountWorkspaceMember]
GET/v1/organizations/service_accounts/{service_account_id}/workspaces

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Remove Workspace From Service Account
beta.organization.service_accounts.workspaces.remove(workspace_id, **kwargs) -> WorkspaceRemoveResponse
DELETE/v1/organizations/service_accounts/{service_account_id}/workspaces/{workspace_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

BetaOrganizationUsers

List Users
beta.organization.users.list(**kwargs) -> SyncPage[BetaOrganizationUser]
GET/v1/organizations/users

List the organization's members.

Get User
beta.organization.users.retrieve(user_id) -> BetaOrganizationUser
GET/v1/organizations/users/{user_id}

Retrieve a member of the organization by user ID.

Update User
beta.organization.users.update(user_id, **kwargs) -> BetaOrganizationUser
POST/v1/organizations/users/{user_id}

Update a member's organization role.

Remove User
beta.organization.users.remove(user_id) -> UserRemoveResponse
DELETE/v1/organizations/users/{user_id}

Remove a member from the organization.

BetaOrganizationWorkspaces

List Workspaces
beta.organization.workspaces.list(**kwargs) -> SyncPage[BetaWorkspace]
GET/v1/organizations/workspaces
Create Workspace
beta.organization.workspaces.create(**kwargs) -> BetaWorkspace
POST/v1/organizations/workspaces
Get Workspace
beta.organization.workspaces.retrieve(workspace_id) -> BetaWorkspace
GET/v1/organizations/workspaces/{workspace_id}
Update Workspace
beta.organization.workspaces.update(workspace_id, **kwargs) -> BetaWorkspace
POST/v1/organizations/workspaces/{workspace_id}
Archive Workspace
beta.organization.workspaces.archive(workspace_id) -> BetaWorkspace
POST/v1/organizations/workspaces/{workspace_id}/archive

BetaOrganizationWorkspacesRate Limits

List Workspace Rate Limits
beta.organization.workspaces.rate_limits.list(workspace_id, **kwargs) -> SyncPageCursor[BetaWorkspaceRateLimit]
GET/v1/organizations/workspaces/{workspace_id}/rate_limits

List a workspace's rate limits.

BetaOrganizationWorkspacesMembers

List Workspace Members
beta.organization.workspaces.members.list(workspace_id, **kwargs) -> SyncPage[BetaWorkspaceMember]
GET/v1/organizations/workspaces/{workspace_id}/members
Create Workspace Member
beta.organization.workspaces.members.add(workspace_id, **kwargs) -> BetaWorkspaceMember
POST/v1/organizations/workspaces/{workspace_id}/members
Get Workspace Member
beta.organization.workspaces.members.retrieve(user_id, **kwargs) -> BetaWorkspaceMember
GET/v1/organizations/workspaces/{workspace_id}/members/{user_id}
Update Workspace Member
beta.organization.workspaces.members.update(user_id, **kwargs) -> BetaWorkspaceMember
POST/v1/organizations/workspaces/{workspace_id}/members/{user_id}
Delete Workspace Member
beta.organization.workspaces.members.remove(user_id, **kwargs) -> MemberRemoveResponse
DELETE/v1/organizations/workspaces/{workspace_id}/members/{user_id}

BetaOrganizationWorkspacesService Accounts

List Service Account Workspace Members
beta.organization.workspaces.service_accounts.list(workspace_id, **kwargs) -> SyncPageCursor[BetaServiceAccountWorkspaceMember]
GET/v1/organizations/workspaces/{workspace_id}/service_accounts

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Create Service Account Workspace Member
beta.organization.workspaces.service_accounts.add(workspace_id, **kwargs) -> BetaServiceAccountWorkspaceMember
POST/v1/organizations/workspaces/{workspace_id}/service_accounts

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Get Service Account Workspace Member
beta.organization.workspaces.service_accounts.retrieve(service_account_id, **kwargs) -> BetaServiceAccountWorkspaceMember
GET/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Update Service Account Workspace Member
beta.organization.workspaces.service_accounts.update(service_account_id, **kwargs) -> BetaServiceAccountWorkspaceMember
POST/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

Delete Service Account Workspace Member
beta.organization.workspaces.service_accounts.remove(service_account_id, **kwargs) -> ServiceAccountRemoveResponse
DELETE/v1/organizations/workspaces/{workspace_id}/service_accounts/{service_account_id}

Requires an OAuth access token with the org:admin scope, from ant auth login --scope org:admin or a workload identity federation rule; Admin API keys are not accepted. See Manage WIF with the Admin API.

BetaOrganizationRate Limits

List Organization Rate Limits
beta.organization.rate_limits.list(**kwargs) -> SyncPageCursor[BetaOrganizationRateLimit]
GET/v1/organizations/rate_limits

List Messages API rate limits for your organization.

BetaOrganizationCompliance Settings

Get Compliance Settings
beta.organization.compliance_settings.retrieve() -> BetaComplianceSettings
GET/v1/organizations/compliance_settings

Retrieve your organization's Compliance Settings.

Update Compliance Settings
beta.organization.compliance_settings.update(**kwargs) -> BetaComplianceSettings
POST/v1/organizations/compliance_settings

Update your organization's Compliance Settings.

BetaOrganizationAnalyticsSummaries

Get Activity Summaries
beta.organization.analytics.summaries.list(**kwargs) -> SyncPageCursor[BetaAnalyticsSingleDayActivitySummary]
GET/v1/organizations/analytics/summaries

Get organization-wide activity summaries for a date range.

BetaOrganizationAnalyticsUsers

List User Activity
beta.organization.analytics.users.list(**kwargs) -> SyncPageCursor[BetaAnalyticsUserActivity]
GET/v1/organizations/analytics/users

Get per-user activity for a given day, with cursor-based pagination.

BetaOrganizationAnalyticsAppsChatProjects

Get Chat Project Usage
beta.organization.analytics.apps.chat.projects.list(**kwargs) -> SyncPageCursor[BetaAnalyticsProjectActivity]
GET/v1/organizations/analytics/apps/chat/projects

Get per-project activity for a given day, with cursor-based pagination.

BetaOrganizationAnalyticsConnectors

Get Connector Usage
beta.organization.analytics.connectors.list(**kwargs) -> SyncPageCursor[BetaAnalyticsConnectorActivity]
GET/v1/organizations/analytics/connectors

Get per-connector usage for a given day, with cursor-based pagination.

BetaOrganizationAnalyticsPlugins

Get Plugin Usage
beta.organization.analytics.plugins.list(**kwargs) -> SyncPageCursor[BetaAnalyticsPluginActivity]
GET/v1/organizations/analytics/plugins

Get per-plugin install + invocation usage for a given day, with pagination.

BetaOrganizationAnalyticsSkills

Get Skill Usage
beta.organization.analytics.skills.list(**kwargs) -> SyncPageCursor[BetaAnalyticsSkillActivity]
GET/v1/organizations/analytics/skills

Get per-skill usage for a given day, with cursor-based pagination.

BetaOrganizationAnalyticsArtifacts

Get Artifact Activity
beta.organization.analytics.artifacts.list(**kwargs) -> SyncPageCursor[BetaAnalyticsArtifactActivity]
GET/v1/organizations/analytics/artifacts

Get artifact-creation activity for a given day, broken out by MIME type.

BetaOrganizationAnalyticsUsage Report

Get Token Usage Over Time
beta.organization.analytics.usage_report.list(**kwargs) -> SyncPageCursor[BetaAnalyticsUsageReportTimeBucket]
GET/v1/organizations/analytics/usage_report

Get token usage over time across a date range.

BetaOrganizationAnalyticsUser Usage Report

Get Per-User Token Usage
beta.organization.analytics.user_usage_report.list(**kwargs) -> SyncPageCursor[BetaAnalyticsUsageUsersItem]
GET/v1/organizations/analytics/user_usage_report

Get per-user token usage across a date range.

BetaOrganizationAnalyticsCost Report

Get Cost Over Time
beta.organization.analytics.cost_report.list(**kwargs) -> SyncPageCursor[BetaAnalyticsCostReportTimeBucket]
GET/v1/organizations/analytics/cost_report

Get cost in USD over time across a date range.

BetaOrganizationAnalyticsUser Cost Report

Get Per-User Cost
beta.organization.analytics.user_cost_report.list(**kwargs) -> SyncPageCursor[BetaAnalyticsCostUsersItem]
GET/v1/organizations/analytics/user_cost_report

Get per-user cost in USD across a date range.

BetaOrganizationSpend Limits

Set Spend Limit
beta.organization.spend_limits.set(**kwargs) -> BetaSpendLimit
POST/v1/organizations/spend_limits

Set a spend limit.

Get Spend Limit
beta.organization.spend_limits.retrieve(spend_limit_id) -> BetaSpendLimit
GET/v1/organizations/spend_limits/{spend_limit_id}

Retrieve a spend limit by ID.

Delete Spend Limit
beta.organization.spend_limits.delete(spend_limit_id) -> SpendLimitDeleteResponse
DELETE/v1/organizations/spend_limits/{spend_limit_id}

Delete a spend limit.

List Spend Limits
beta.organization.spend_limits.list(**kwargs) -> SyncPageCursor[BetaSpendLimit]
GET/v1/organizations/spend_limits

List the organization's spend limits.

BetaOrganizationSpend LimitsEffective

List Effective Spend Limits
beta.organization.spend_limits.effective.list(**kwargs) -> SyncPageCursor[BetaSpendSummary]
GET/v1/organizations/spend_limits/effective

List each member's effective spend limit and period-to-date spend.

BetaOrganizationSpend LimitsIncrease Requests

List Spend Limit Increase Requests
beta.organization.spend_limits.increase_requests.list(**kwargs) -> SyncPageCursor[BetaSpendLimitIncreaseRequest]
GET/v1/organizations/spend_limit_increase_requests

List spend limit increase requests, most recent first.

Get Spend Limit Increase Request
beta.organization.spend_limits.increase_requests.retrieve(spend_limit_increase_request_id) -> BetaSpendLimitIncreaseRequest
GET/v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}

Retrieve a spend limit increase request.

Approve Spend Limit Increase Request
beta.organization.spend_limits.increase_requests.approve(spend_limit_increase_request_id, **kwargs) -> IncreaseRequestApproveResponse
POST/v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}/approve

Approve a pending spend limit increase request.

Deny Spend Limit Increase Request
beta.organization.spend_limits.increase_requests.deny(spend_limit_increase_request_id, **kwargs) -> BetaSpendLimitIncreaseRequest
POST/v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}/deny

Deny a pending spend limit increase request.

BetaOrganizationRBAC Groups

Create RBAC Group
beta.organization.rbac_groups.create(**kwargs) -> BetaRBACGroup
POST/v1/organizations/rbac_groups

Create an RBAC Group in the Claude Enterprise tenant. Groups created via the API have source type "direct".

List RBAC Groups
beta.organization.rbac_groups.list(**kwargs) -> SyncPageCursor[BetaRBACGroup]
GET/v1/organizations/rbac_groups

List RBAC Groups in the Claude Enterprise tenant.

Get RBAC Group
beta.organization.rbac_groups.retrieve(rbac_group_id) -> BetaRBACGroup
GET/v1/organizations/rbac_groups/{rbac_group_id}

Retrieve an RBAC Group by ID.

Update RBAC Group
beta.organization.rbac_groups.update(rbac_group_id, **kwargs) -> BetaRBACGroup
POST/v1/organizations/rbac_groups/{rbac_group_id}

Update an RBAC Group's name. Groups provisioned by an identity provider (source type "scim") cannot be modified via the API while an organization in the tenant uses SCIM provisioning.

Delete RBAC Group
beta.organization.rbac_groups.delete(rbac_group_id) -> RBACGroupDeleteResponse
DELETE/v1/organizations/rbac_groups/{rbac_group_id}

Delete an RBAC Group. Groups provisioned by an identity provider (source type "scim") cannot be deleted via the API while an organization in the tenant uses SCIM provisioning.

BetaOrganizationRBAC GroupsMembers

List RBAC Group Members
beta.organization.rbac_groups.members.list(rbac_group_id, **kwargs) -> SyncPageCursor[BetaRBACGroupMember]
GET/v1/organizations/rbac_groups/{rbac_group_id}/members

List members of an RBAC Group.

Add RBAC Group Member
beta.organization.rbac_groups.members.add(rbac_group_id, **kwargs) -> BetaRBACGroupMember
POST/v1/organizations/rbac_groups/{rbac_group_id}/members

Add a User to an RBAC Group. Membership of groups provisioned by an identity provider (source type "scim") cannot be modified via the API while an organization in the tenant uses SCIM provisioning.

Remove RBAC Group Member
beta.organization.rbac_groups.members.remove(user_id, **kwargs) -> MemberRemoveResponse
DELETE/v1/organizations/rbac_groups/{rbac_group_id}/members/{user_id}

Remove a User from an RBAC Group. Membership of groups provisioned by an identity provider (source type "scim") cannot be modified via the API while an organization in the tenant uses SCIM provisioning.

BetaOrganizationRBAC Roles

List RBAC Roles
beta.organization.rbac_roles.list(**kwargs) -> SyncPageCursor[BetaRBACRole]
GET/v1/organizations/rbac_roles

List RBAC Roles in the organization.

Get RBAC Role
beta.organization.rbac_roles.retrieve(rbac_role_id) -> BetaRBACRole
GET/v1/organizations/rbac_roles/{rbac_role_id}

Retrieve an RBAC Role by ID.

BetaOrganizationRBAC RolesPermissions

List RBAC Role Permissions
beta.organization.rbac_roles.permissions.list(rbac_role_id, **kwargs) -> SyncPageCursor[BetaRBACRolePermission]
GET/v1/organizations/rbac_roles/{rbac_role_id}/permissions

List the permissions an RBAC Role grants.

BetaOrganizationPlugins

Create Plugin
beta.organization.plugins.create(**kwargs) -> BetaPlugin
POST/v1/organizations/plugins

Create an organization-owned Plugin and its first version by uploading the version's files.

Get Plugin
beta.organization.plugins.retrieve(plugin_id, **kwargs) -> BetaPlugin
GET/v1/organizations/plugins/{plugin_id}

Retrieve a Plugin by ID.

Update Plugin
beta.organization.plugins.update(plugin_id, **kwargs) -> BetaPlugin
POST/v1/organizations/plugins/{plugin_id}

Change which stored version of an organization-owned Plugin is served to members, for example to roll back to an earlier one. This pins the served version: later uploads are stored but no longer change what is served, and pinning cannot currently be undone, here or in claude.ai.

List Plugins
beta.organization.plugins.list(**kwargs) -> SyncPageCursor[BetaPlugin]
GET/v1/organizations/plugins

List the Plugins created under the organization, newest first: those in the organization's own plugin marketplaces and those in members' personal plugin marketplaces.

Delete Plugin
beta.organization.plugins.delete(plugin_id, **kwargs) -> BetaDeletedPlugin
DELETE/v1/organizations/plugins/{plugin_id}

Permanently delete a Plugin and every version it holds, exactly as when an administrator deletes it in claude.ai. The Plugin may belong to the organization or to a member, including a member who has since left the organization.

BetaOrganizationPluginsVersions

Create Plugin Version
beta.organization.plugins.versions.create(plugin_id, **kwargs) -> BetaPluginVersion
POST/v1/organizations/plugins/{plugin_id}/versions

Add a version to an organization-owned Plugin by uploading the new version's files; it becomes the version served to members unless the Plugin's served version has been pinned.

List Plugin Versions
beta.organization.plugins.versions.list(plugin_id, **kwargs) -> SyncPageCursor[BetaPluginVersion]
GET/v1/organizations/plugins/{plugin_id}/versions

List a Plugin's versions, newest first.

Get Plugin Version
beta.organization.plugins.versions.retrieve(version, **kwargs) -> BetaPluginVersion
GET/v1/organizations/plugins/{plugin_id}/versions/{version}

Retrieve one version of a Plugin by its ID, or the Plugin's newest version.

Download Plugin Version Archive
beta.organization.plugins.versions.download(version, **kwargs) -> BinaryResponseContent
GET/v1/organizations/plugins/{plugin_id}/versions/{version}/content

Download one version's .zip archive, exactly as stored. Each download of a Plugin from a member's personal plugin marketplace is recorded on the Compliance API activity feed.

BetaOrganizationPluginsInstallation Settings

List Plugin Installation Settings
beta.organization.plugins.installation_settings.list(plugin_id, **kwargs) -> SyncPageCursor[BetaPluginInstallationSetting]
GET/v1/organizations/plugins/{plugin_id}/installation_settings

List an organization-owned Plugin's installation settings, which say which members it is for, most recently created first.

Set Plugin Installation Setting
beta.organization.plugins.installation_settings.set(target, **kwargs) -> BetaPluginInstallationSetting
POST/v1/organizations/plugins/{plugin_id}/installation_settings/{target}

Set or change an organization-owned Plugin's installation setting for the whole organization or for one RBAC Group.

Remove Plugin Installation Setting
beta.organization.plugins.installation_settings.remove(target, **kwargs) -> BetaDeletedPluginInstallationSetting
DELETE/v1/organizations/plugins/{plugin_id}/installation_settings/{target}

Remove an organization-owned Plugin's own installation setting for the whole organization or for one RBAC Group.

BetaOrganizationPluginsShares

List Plugin Shares
beta.organization.plugins.shares.list(plugin_id, **kwargs) -> SyncPageCursor[BetaPluginShare]
GET/v1/organizations/plugins/{plugin_id}/shares

List the shares the owner of a member-owned Plugin has given — to every member of the organization, to an RBAC Group, or to one member — most recently granted first.

BetaOrganizationPlugin Marketplaces

List Plugin Marketplaces
beta.organization.plugin_marketplaces.list(**kwargs) -> SyncPageCursor[BetaPluginMarketplace]
GET/v1/organizations/plugin_marketplaces

List the plugin marketplaces Plugins live in, newest first: the organization's own and its members' personal ones.

Get Plugin Marketplace
beta.organization.plugin_marketplaces.retrieve(marketplace_id, **kwargs) -> BetaPluginMarketplace
GET/v1/organizations/plugin_marketplaces/{marketplace_id}

Retrieve a plugin marketplace by ID.

Update Plugin Marketplace
beta.organization.plugin_marketplaces.update(marketplace_id, **kwargs) -> BetaPluginMarketplace
POST/v1/organizations/plugin_marketplaces/{marketplace_id}

Set the default installation setting of one of the organization's own plugin marketplaces. Every Plugin in it without a setting of its own gets this default as its organization-wide setting, including Plugins added later.

Validate Plugin Marketplace Repository
beta.organization.plugin_marketplaces.validate_repository(**kwargs) -> BetaPluginMarketplaceValidationReport
POST/v1/organizations/plugin_marketplaces/validate_repository

Check whether a plugin marketplace held in a public GitHub repository would synchronize into claude.ai, without connecting or storing it.

Validate Plugin Marketplace Archive
beta.organization.plugin_marketplaces.validate_archive(**kwargs) -> BetaPluginMarketplaceValidationReport
POST/v1/organizations/plugin_marketplaces/validate_archive

Check whether a plugin marketplace, uploaded as a .zip of the marketplace directory, would synchronize into claude.ai, without connecting or storing it.