One read of Claude Developer Platformapi-20260814T043121Z
565 pages moved out of 565 read.
What this read moved
326-350 of 565, page 14 of 23This capture is too large to show at once. Changes 326-350 of 565 are below, significant first; the rest are on the following screens.
api/beta/vaults/credentials First recorded · 3231 lines, first recorded
# Credentials ## Create Credential ### Path Parameters ### Header Parameters ### Body Parameters ### Returns ### Example #### Response ## List Credentials ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Get Credential ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Update Credential ### Path Parameters ### Header Parameters ### Body Parameters ### Returns ### Example #### Response ## Delete Credential ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Archive Credential ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Validate Credential ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Beta Managed Agents Credential ### Beta Managed Agents Credential Networking Params ### Beta Managed Agents Credential Validation ### Beta Managed Agents Credential Validation Status ### Beta Managed Agents Deleted Credential ### Beta Managed Agents Environment Variable Auth Response ### Beta Managed Agents Environment Variable Create Params ### Beta Managed Agents Environment Variable Update Params ### Beta Managed Agents Injection Location Params ### Beta Managed Agents Injection Location Response ### Beta Managed Agents Injection Location Update Params ### Beta Managed Agents Limited Credential Networking Params ### Beta Managed Agents Limited Credential Networking Response ### Beta Managed Agents MCP OAuth Auth Response ### Beta Managed Agents MCP OAuth Create Params ### Beta Managed Agents MCP OAuth Refresh Params ### Beta Managed Agents MCP OAuth Refresh Response ### Beta Managed Agents MCP OAuth Refresh Update Params ### Beta Managed Agents MCP OAuth Update Params ### Beta Managed Agents MCP Probe ### Beta Managed Agents Refresh HTTP Response ### Beta Managed Agents Refresh Object ### Beta Managed Agents Static Bearer Auth Response ### Beta Managed Agents Static Bearer Create Params ### Beta Managed Agents Static Bearer Update Params ### Beta Managed Agents Token Endpoint Auth Basic Param ### Beta Managed Agents Token Endpoint Auth Basic Response ### Beta Managed Agents Token Endpoint Auth Basic Update Param ### Beta Managed Agents Token Endpoint Auth None Param ### Beta Managed Agents Token Endpoint Auth None Response ### Beta Managed Agents Token Endpoint Auth Post Param ### Beta Managed Agents Token Endpoint Auth Post Response ### Beta Managed Agents Token Endpoint Auth Post Update Param ### Beta Managed Agents Unrestricted Credential Networking Params ### Beta Managed Agents Unrestricted Credential Networking Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Credentials
url: https://platform.claude.com/docs/en/api/beta/vaults/credentials
---
# Credentials
## Create Credential
**post** `/v1/vaults/{vault_id}/credentials`
Create Credential
### Path Parameters
- `vault_id: string`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Body Parameters
- `auth: BetaManagedAgentsMCPOAuthCreateParams or BetaManagedAgentsStaticBearerCreateParams or BetaManagedAgentsEnvironmentVariableCreateParams`
Authentication details for creating a credential.
- `BetaManagedAgentsMCPOAuthCreateParams object { access_token, mcp_server_url, type, 2 more }`
Parameters for creating an MCP OAuth credential.
- `access_token: string`
OAuth access token.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "mcp_oauth"`
- `"mcp_oauth"`
- `expires_at: optional string or null`
A timestamp in RFC 3339 format
- `refresh: optional BetaManagedAgentsMCPOAuthRefreshParams or null`
OAuth refresh token parameters for creating a credential with refresh support.
- `client_id: string`
OAuth client ID.
- `refresh_token: string`
OAuth refresh token.
- `token_endpoint: string`
Token endpoint URL used to refresh the access token.
- `token_endpoint_auth: BetaManagedAgentsTokenEndpointAuthNoneParam or BetaManagedAgentsTokenEndpointAuthBasicParam or BetaManagedAgentsTokenEndpointAuthPostParam`
Token endpoint requires no client authentication.
- `BetaManagedAgentsTokenEndpointAuthNoneParam object { type }`
Token endpoint requires no client authentication.
- `type: "none"`
- `"none"`
- `BetaManagedAgentsTokenEndpointAuthBasicParam object { client_secret, type }`
Token endpoint uses HTTP Basic authentication with client credentials.
- `client_secret: string`
OAuth client secret.
- `type: "client_secret_basic"`
- `"client_secret_basic"`
- `BetaManagedAgentsTokenEndpointAuthPostParam object { client_secret, type }`
Token endpoint uses POST body authentication with client credentials.
- `client_secret: string`
OAuth client secret.
- `type: "client_secret_post"`
- `"client_secret_post"`
- `resource: optional string or null`
OAuth resource indicator.
- `scope: optional string or null`
OAuth scope for the refresh request.
- `BetaManagedAgentsStaticBearerCreateParams object { token, mcp_server_url, type }`
Parameters for creating a static bearer token credential.
- `token: string`
Static bearer token value.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "static_bearer"`
- `"static_bearer"`
- `BetaManagedAgentsEnvironmentVariableCreateParams object { networking, secret_name, secret_value, 2 more }`
Parameters for creating an environment variable credential.
- `networking: BetaManagedAgentsCredentialNetworkingParams`
Outbound hosts the secret value is substituted on.
- `BetaManagedAgentsUnrestrictedCredentialNetworkingParams object { type }`
Substitute the secret on any host the session's Environment network policy permits egress to. The Environment's network policy is the only boundary on where the secret can reach.
- `type: "unrestricted"`
- `"unrestricted"`
- `BetaManagedAgentsLimitedCredentialNetworkingParams object { allowed_hosts, type }`
Substitute the secret only on requests to the listed hosts.
- `allowed_hosts: array of string`
Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries.
- `type: "limited"`
- `"limited"`
- `secret_name: string`
Name of the environment variable. Immutable after create.
- `secret_value: string`
Secret value. Write-only; never returned in responses.
- `type: "environment_variable"`
- `"environment_variable"`
- `injection_location: optional BetaManagedAgentsInjectionLocationParams`
Where in the outbound request the secret value may be substituted.
- `body: optional boolean`
Substitute when the placeholder appears in the request body.
- `header: optional boolean`
Substitute when the placeholder appears in a request header value.
- `display_name: optional string or null`
Human-readable name for the credential. Up to 255 characters.
- `metadata: optional map[string]`
Arbitrary key-value metadata to attach to the credential. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
### Returns
- `BetaManagedAgentsCredential object { id, archived_at, auth, 6 more }`
A credential stored in a vault. Sensitive fields are never returned in responses.
- `id: string`
Unique identifier for the credential.
- `archived_at: string or null`
A timestamp in RFC 3339 format
- `auth: BetaManagedAgentsMCPOAuthAuthResponse or BetaManagedAgentsStaticBearerAuthResponse or BetaManagedAgentsEnvironmentVariableAuthResponse`
Authentication details for a credential.
- `BetaManagedAgentsMCPOAuthAuthResponse object { mcp_server_url, type, expires_at, refresh }`
OAuth credential details for an MCP server.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "mcp_oauth"`
- `"mcp_oauth"`
- `expires_at: optional string or null`
A timestamp in RFC 3339 format
- `refresh: optional BetaManagedAgentsMCPOAuthRefreshResponse or null`
OAuth refresh token configuration returned in credential responses.
- `client_id: string`
OAuth client ID.
- `token_endpoint: string`
Token endpoint URL used to refresh the access token.
Cut at 300 lines. The page has the rest.
api/beta/vaults/credentials/archive First recorded · 289 lines, first recorded
## Archive Credential ### Path Parameters ### Header Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Archive Credential
url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/archive
---
## Archive Credential
**post** `/v1/vaults/{vault_id}/credentials/{credential_id}/archive`
Archive Credential
### Path Parameters
- `vault_id: string`
- `credential_id: string`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Returns
- `BetaManagedAgentsCredential object { id, archived_at, auth, 6 more }`
A credential stored in a vault. Sensitive fields are never returned in responses.
- `id: string`
Unique identifier for the credential.
- `archived_at: string or null`
A timestamp in RFC 3339 format
- `auth: BetaManagedAgentsMCPOAuthAuthResponse or BetaManagedAgentsStaticBearerAuthResponse or BetaManagedAgentsEnvironmentVariableAuthResponse`
Authentication details for a credential.
- `BetaManagedAgentsMCPOAuthAuthResponse object { mcp_server_url, type, expires_at, refresh }`
OAuth credential details for an MCP server.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "mcp_oauth"`
- `"mcp_oauth"`
- `expires_at: optional string or null`
A timestamp in RFC 3339 format
- `refresh: optional BetaManagedAgentsMCPOAuthRefreshResponse or null`
OAuth refresh token configuration returned in credential responses.
- `client_id: string`
OAuth client ID.
- `token_endpoint: string`
Token endpoint URL used to refresh the access token.
- `token_endpoint_auth: BetaManagedAgentsTokenEndpointAuthNoneResponse or BetaManagedAgentsTokenEndpointAuthBasicResponse or BetaManagedAgentsTokenEndpointAuthPostResponse`
Token endpoint requires no client authentication.
- `BetaManagedAgentsTokenEndpointAuthNoneResponse object { type }`
Token endpoint requires no client authentication.
- `type: "none"`
- `"none"`
- `BetaManagedAgentsTokenEndpointAuthBasicResponse object { type }`
Token endpoint uses HTTP Basic authentication with client credentials.
- `type: "client_secret_basic"`
- `"client_secret_basic"`
- `BetaManagedAgentsTokenEndpointAuthPostResponse object { type }`
Token endpoint uses POST body authentication with client credentials.
- `type: "client_secret_post"`
- `"client_secret_post"`
- `resource: optional string or null`
OAuth resource indicator.
- `scope: optional string or null`
OAuth scope for the refresh request.
- `BetaManagedAgentsStaticBearerAuthResponse object { mcp_server_url, type }`
Static bearer token credential details for an MCP server.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "static_bearer"`
- `"static_bearer"`
- `BetaManagedAgentsEnvironmentVariableAuthResponse object { injection_location, networking, secret_name, type }`
Environment variable credential details. The secret value is never returned.
- `injection_location: BetaManagedAgentsInjectionLocationResponse`
Where in the outbound request the secret value is substituted.
- `body: boolean`
Whether the placeholder is substituted in the request body.
- `header: boolean`
Whether the placeholder is substituted in request header values.
- `networking: BetaManagedAgentsUnrestrictedCredentialNetworkingResponse or BetaManagedAgentsLimitedCredentialNetworkingResponse`
Outbound hosts the secret value is substituted on.
- `BetaManagedAgentsUnrestrictedCredentialNetworkingResponse object { type }`
The secret is substituted on any host the session's Environment network policy permits egress to.
- `type: "unrestricted"`
- `"unrestricted"`
- `BetaManagedAgentsLimitedCredentialNetworkingResponse object { allowed_hosts, type }`
The secret is substituted only on requests to the listed hosts.
- `allowed_hosts: array of string`
Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself.
- `type: "limited"`
- `"limited"`
- `secret_name: string`
Name of the environment variable.
- `type: "environment_variable"`
- `"environment_variable"`
- `created_at: string`
A timestamp in RFC 3339 format
- `metadata: map[string]`
Arbitrary key-value metadata attached to the credential.
- `type: "vault_credential"`
- `"vault_credential"`
- `updated_at: string`
A timestamp in RFC 3339 format
- `vault_id: string`
Identifier of the vault this credential belongs to.
- `display_name: optional string or null`
Human-readable name for the credential.
### Example
```http
curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/archive \
-X POST \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"
```
#### Response
```json
{
"id": "vcrd_011CZkZEMt8gZan2iYOQfSkw",
"archived_at": null,
"auth": {
"mcp_server_url": "https://example-server.modelcontextprotocol.io/sse",
"type": "static_bearer"
},
"created_at": "2026-03-15T10:00:00Z",
"metadata": {
"environment": "production"
},
"type": "vault_credential",
"updated_at": "2026-03-15T10:00:00Z",
"vault_id": "vlt_011CZkZDLs7fYzm1hXNPeRjv",
"display_name": "Example credential"
}
```
api/beta/vaults/credentials/create First recorded · 460 lines, first recorded
## Create Credential ### Path Parameters ### Header Parameters ### Body Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Create Credential
url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/create
---
## Create Credential
**post** `/v1/vaults/{vault_id}/credentials`
Create Credential
### Path Parameters
- `vault_id: string`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Body Parameters
- `auth: BetaManagedAgentsMCPOAuthCreateParams or BetaManagedAgentsStaticBearerCreateParams or BetaManagedAgentsEnvironmentVariableCreateParams`
Authentication details for creating a credential.
- `BetaManagedAgentsMCPOAuthCreateParams object { access_token, mcp_server_url, type, 2 more }`
Parameters for creating an MCP OAuth credential.
- `access_token: string`
OAuth access token.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "mcp_oauth"`
- `"mcp_oauth"`
- `expires_at: optional string or null`
A timestamp in RFC 3339 format
- `refresh: optional BetaManagedAgentsMCPOAuthRefreshParams or null`
OAuth refresh token parameters for creating a credential with refresh support.
- `client_id: string`
OAuth client ID.
- `refresh_token: string`
OAuth refresh token.
- `token_endpoint: string`
Token endpoint URL used to refresh the access token.
- `token_endpoint_auth: BetaManagedAgentsTokenEndpointAuthNoneParam or BetaManagedAgentsTokenEndpointAuthBasicParam or BetaManagedAgentsTokenEndpointAuthPostParam`
Token endpoint requires no client authentication.
- `BetaManagedAgentsTokenEndpointAuthNoneParam object { type }`
Token endpoint requires no client authentication.
- `type: "none"`
- `"none"`
- `BetaManagedAgentsTokenEndpointAuthBasicParam object { client_secret, type }`
Token endpoint uses HTTP Basic authentication with client credentials.
- `client_secret: string`
OAuth client secret.
- `type: "client_secret_basic"`
- `"client_secret_basic"`
- `BetaManagedAgentsTokenEndpointAuthPostParam object { client_secret, type }`
Token endpoint uses POST body authentication with client credentials.
- `client_secret: string`
OAuth client secret.
- `type: "client_secret_post"`
- `"client_secret_post"`
- `resource: optional string or null`
OAuth resource indicator.
- `scope: optional string or null`
OAuth scope for the refresh request.
- `BetaManagedAgentsStaticBearerCreateParams object { token, mcp_server_url, type }`
Parameters for creating a static bearer token credential.
- `token: string`
Static bearer token value.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "static_bearer"`
- `"static_bearer"`
- `BetaManagedAgentsEnvironmentVariableCreateParams object { networking, secret_name, secret_value, 2 more }`
Parameters for creating an environment variable credential.
- `networking: BetaManagedAgentsCredentialNetworkingParams`
Outbound hosts the secret value is substituted on.
- `BetaManagedAgentsUnrestrictedCredentialNetworkingParams object { type }`
Substitute the secret on any host the session's Environment network policy permits egress to. The Environment's network policy is the only boundary on where the secret can reach.
- `type: "unrestricted"`
- `"unrestricted"`
- `BetaManagedAgentsLimitedCredentialNetworkingParams object { allowed_hosts, type }`
Substitute the secret only on requests to the listed hosts.
- `allowed_hosts: array of string`
Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries.
- `type: "limited"`
- `"limited"`
- `secret_name: string`
Name of the environment variable. Immutable after create.
- `secret_value: string`
Secret value. Write-only; never returned in responses.
- `type: "environment_variable"`
- `"environment_variable"`
- `injection_location: optional BetaManagedAgentsInjectionLocationParams`
Where in the outbound request the secret value may be substituted.
- `body: optional boolean`
Substitute when the placeholder appears in the request body.
- `header: optional boolean`
Substitute when the placeholder appears in a request header value.
- `display_name: optional string or null`
Human-readable name for the credential. Up to 255 characters.
- `metadata: optional map[string]`
Arbitrary key-value metadata to attach to the credential. Maximum 16 pairs, keys up to 64 chars, values up to 512 chars.
### Returns
- `BetaManagedAgentsCredential object { id, archived_at, auth, 6 more }`
A credential stored in a vault. Sensitive fields are never returned in responses.
- `id: string`
Unique identifier for the credential.
- `archived_at: string or null`
A timestamp in RFC 3339 format
- `auth: BetaManagedAgentsMCPOAuthAuthResponse or BetaManagedAgentsStaticBearerAuthResponse or BetaManagedAgentsEnvironmentVariableAuthResponse`
Authentication details for a credential.
- `BetaManagedAgentsMCPOAuthAuthResponse object { mcp_server_url, type, expires_at, refresh }`
OAuth credential details for an MCP server.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "mcp_oauth"`
- `"mcp_oauth"`
- `expires_at: optional string or null`
A timestamp in RFC 3339 format
- `refresh: optional BetaManagedAgentsMCPOAuthRefreshResponse or null`
OAuth refresh token configuration returned in credential responses.
- `client_id: string`
OAuth client ID.
- `token_endpoint: string`
Token endpoint URL used to refresh the access token.
- `token_endpoint_auth: BetaManagedAgentsTokenEndpointAuthNoneResponse or BetaManagedAgentsTokenEndpointAuthBasicResponse or BetaManagedAgentsTokenEndpointAuthPostResponse`
Cut at 300 lines. The page has the rest.
api/beta/vaults/credentials/delete First recorded · 125 lines, first recorded
## Delete Credential ### Path Parameters ### Header Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Delete Credential
url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/delete
---
## Delete Credential
**delete** `/v1/vaults/{vault_id}/credentials/{credential_id}`
Delete Credential
### Path Parameters
- `vault_id: string`
- `credential_id: string`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Returns
- `BetaManagedAgentsDeletedCredential object { id, type }`
Confirmation of a deleted credential.
- `id: string`
Unique identifier of the deleted credential.
- `type: "vault_credential_deleted"`
- `"vault_credential_deleted"`
### Example
```http
curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID \
-X DELETE \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"
```
#### Response
```json
{
"id": "vcrd_011CZkZEMt8gZan2iYOQfSkw",
"type": "vault_credential_deleted"
}
```
api/beta/vaults/credentials/list First recorded · 309 lines, first recorded
## List Credentials ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: List Credentials
url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/list
---
## List Credentials
**get** `/v1/vaults/{vault_id}/credentials`
List Credentials
### Path Parameters
- `vault_id: string`
### Query Parameters
- `include_archived: optional boolean`
Whether to include archived credentials in the results.
- `limit: optional number`
Maximum number of credentials to return per page. Defaults to 20, maximum 100.
- `page: optional string`
Opaque pagination token from a previous `list_credentials` response.
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Returns
- `data: optional array of BetaManagedAgentsCredential`
List of credentials.
- `id: string`
Unique identifier for the credential.
- `archived_at: string or null`
A timestamp in RFC 3339 format
- `auth: BetaManagedAgentsMCPOAuthAuthResponse or BetaManagedAgentsStaticBearerAuthResponse or BetaManagedAgentsEnvironmentVariableAuthResponse`
Authentication details for a credential.
- `BetaManagedAgentsMCPOAuthAuthResponse object { mcp_server_url, type, expires_at, refresh }`
OAuth credential details for an MCP server.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "mcp_oauth"`
- `"mcp_oauth"`
- `expires_at: optional string or null`
A timestamp in RFC 3339 format
- `refresh: optional BetaManagedAgentsMCPOAuthRefreshResponse or null`
OAuth refresh token configuration returned in credential responses.
- `client_id: string`
OAuth client ID.
- `token_endpoint: string`
Token endpoint URL used to refresh the access token.
- `token_endpoint_auth: BetaManagedAgentsTokenEndpointAuthNoneResponse or BetaManagedAgentsTokenEndpointAuthBasicResponse or BetaManagedAgentsTokenEndpointAuthPostResponse`
Token endpoint requires no client authentication.
- `BetaManagedAgentsTokenEndpointAuthNoneResponse object { type }`
Token endpoint requires no client authentication.
- `type: "none"`
- `"none"`
- `BetaManagedAgentsTokenEndpointAuthBasicResponse object { type }`
Token endpoint uses HTTP Basic authentication with client credentials.
- `type: "client_secret_basic"`
- `"client_secret_basic"`
- `BetaManagedAgentsTokenEndpointAuthPostResponse object { type }`
Token endpoint uses POST body authentication with client credentials.
- `type: "client_secret_post"`
- `"client_secret_post"`
- `resource: optional string or null`
OAuth resource indicator.
- `scope: optional string or null`
OAuth scope for the refresh request.
- `BetaManagedAgentsStaticBearerAuthResponse object { mcp_server_url, type }`
Static bearer token credential details for an MCP server.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "static_bearer"`
- `"static_bearer"`
- `BetaManagedAgentsEnvironmentVariableAuthResponse object { injection_location, networking, secret_name, type }`
Environment variable credential details. The secret value is never returned.
- `injection_location: BetaManagedAgentsInjectionLocationResponse`
Where in the outbound request the secret value is substituted.
- `body: boolean`
Whether the placeholder is substituted in the request body.
- `header: boolean`
Whether the placeholder is substituted in request header values.
- `networking: BetaManagedAgentsUnrestrictedCredentialNetworkingResponse or BetaManagedAgentsLimitedCredentialNetworkingResponse`
Outbound hosts the secret value is substituted on.
- `BetaManagedAgentsUnrestrictedCredentialNetworkingResponse object { type }`
The secret is substituted on any host the session's Environment network policy permits egress to.
- `type: "unrestricted"`
- `"unrestricted"`
- `BetaManagedAgentsLimitedCredentialNetworkingResponse object { allowed_hosts, type }`
The secret is substituted only on requests to the listed hosts.
- `allowed_hosts: array of string`
Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself.
- `type: "limited"`
- `"limited"`
- `secret_name: string`
Name of the environment variable.
- `type: "environment_variable"`
- `"environment_variable"`
- `created_at: string`
A timestamp in RFC 3339 format
- `metadata: map[string]`
Arbitrary key-value metadata attached to the credential.
- `type: "vault_credential"`
- `"vault_credential"`
- `updated_at: string`
A timestamp in RFC 3339 format
- `vault_id: string`
Identifier of the vault this credential belongs to.
- `display_name: optional string or null`
Human-readable name for the credential.
- `next_page: optional string or null`
Pagination token for the next page, or null if no more results.
### Example
```http
curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"
```
#### Response
```json
{
"data": [
{
"id": "vcrd_011CZkZEMt8gZan2iYOQfSkw",
"archived_at": null,
"auth": {
"mcp_server_url": "https://example-server.modelcontextprotocol.io/sse",
"type": "static_bearer"
},
"created_at": "2026-03-15T10:00:00Z",
"metadata": {
"environment": "production"
},
Cut at 300 lines. The page has the rest.
api/beta/vaults/credentials/mcp_oauth_validate First recorded · 217 lines, first recorded
## Validate Credential ### Path Parameters ### Header Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Validate Credential
url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/mcp_oauth_validate
---
## Validate Credential
**post** `/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate`
Validate Credential
### Path Parameters
- `vault_id: string`
- `credential_id: string`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Returns
- `BetaManagedAgentsCredentialValidation object { credential_id, has_refresh_token, mcp_probe, 5 more }`
Result of live-probing a credential against its configured MCP server.
- `credential_id: string`
Unique identifier of the credential that was validated.
- `has_refresh_token: boolean`
Whether the credential has a refresh token configured.
- `mcp_probe: BetaManagedAgentsMCPProbe or null`
The failing step of an MCP validation probe.
- `http_response: BetaManagedAgentsRefreshHTTPResponse or null`
An HTTP response captured during a credential validation probe.
- `body: string`
Response body. May be truncated and has sensitive values scrubbed.
- `body_truncated: boolean`
Whether `body` was truncated.
- `content_type: string`
Value of the `Content-Type` response header.
- `status_code: number`
HTTP status code.
- `method: string`
The MCP method that failed (for example `initialize` or `tools/list`).
- `refresh: BetaManagedAgentsRefreshObject or null`
Outcome of a refresh-token exchange attempted during credential validation.
- `http_response: BetaManagedAgentsRefreshHTTPResponse or null`
An HTTP response captured during a credential validation probe.
- `status: "succeeded" or "failed" or "connect_error" or "no_refresh_token"`
Outcome of a refresh-token exchange attempted during credential validation.
- `"succeeded"`
- `"failed"`
- `"connect_error"`
- `"no_refresh_token"`
- `status: BetaManagedAgentsCredentialValidationStatus`
Overall verdict of a credential validation probe.
- `"valid"`
- `"invalid"`
- `"unknown"`
- `type: "vault_credential_validation"`
- `"vault_credential_validation"`
- `validated_at: string`
A timestamp in RFC 3339 format
- `vault_id: string`
Identifier of the vault containing the credential.
### Example
```http
curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID/mcp_oauth_validate \
-X POST \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"
```
#### Response
```json
{
"credential_id": "vcrd_011CZkZEMt8gZan2iYOQfSkw",
"has_refresh_token": true,
"mcp_probe": {
"http_response": {
"body": "body",
"body_truncated": true,
"content_type": "content_type",
"status_code": 0
},
"method": "method"
},
"refresh": {
"http_response": {
"body": "body",
"body_truncated": true,
"content_type": "content_type",
"status_code": 0
},
"status": "succeeded"
},
"status": "valid",
"type": "vault_credential_validation",
"validated_at": "2026-03-15T10:00:00Z",
"vault_id": "vlt_011CZkZDLs7fYzm1hXNPeRjv"
}
```
api/beta/vaults/credentials/retrieve First recorded · 288 lines, first recorded
## Get Credential ### Path Parameters ### Header Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Get Credential
url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/retrieve
---
## Get Credential
**get** `/v1/vaults/{vault_id}/credentials/{credential_id}`
Get Credential
### Path Parameters
- `vault_id: string`
- `credential_id: string`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Returns
- `BetaManagedAgentsCredential object { id, archived_at, auth, 6 more }`
A credential stored in a vault. Sensitive fields are never returned in responses.
- `id: string`
Unique identifier for the credential.
- `archived_at: string or null`
A timestamp in RFC 3339 format
- `auth: BetaManagedAgentsMCPOAuthAuthResponse or BetaManagedAgentsStaticBearerAuthResponse or BetaManagedAgentsEnvironmentVariableAuthResponse`
Authentication details for a credential.
- `BetaManagedAgentsMCPOAuthAuthResponse object { mcp_server_url, type, expires_at, refresh }`
OAuth credential details for an MCP server.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "mcp_oauth"`
- `"mcp_oauth"`
- `expires_at: optional string or null`
A timestamp in RFC 3339 format
- `refresh: optional BetaManagedAgentsMCPOAuthRefreshResponse or null`
OAuth refresh token configuration returned in credential responses.
- `client_id: string`
OAuth client ID.
- `token_endpoint: string`
Token endpoint URL used to refresh the access token.
- `token_endpoint_auth: BetaManagedAgentsTokenEndpointAuthNoneResponse or BetaManagedAgentsTokenEndpointAuthBasicResponse or BetaManagedAgentsTokenEndpointAuthPostResponse`
Token endpoint requires no client authentication.
- `BetaManagedAgentsTokenEndpointAuthNoneResponse object { type }`
Token endpoint requires no client authentication.
- `type: "none"`
- `"none"`
- `BetaManagedAgentsTokenEndpointAuthBasicResponse object { type }`
Token endpoint uses HTTP Basic authentication with client credentials.
- `type: "client_secret_basic"`
- `"client_secret_basic"`
- `BetaManagedAgentsTokenEndpointAuthPostResponse object { type }`
Token endpoint uses POST body authentication with client credentials.
- `type: "client_secret_post"`
- `"client_secret_post"`
- `resource: optional string or null`
OAuth resource indicator.
- `scope: optional string or null`
OAuth scope for the refresh request.
- `BetaManagedAgentsStaticBearerAuthResponse object { mcp_server_url, type }`
Static bearer token credential details for an MCP server.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "static_bearer"`
- `"static_bearer"`
- `BetaManagedAgentsEnvironmentVariableAuthResponse object { injection_location, networking, secret_name, type }`
Environment variable credential details. The secret value is never returned.
- `injection_location: BetaManagedAgentsInjectionLocationResponse`
Where in the outbound request the secret value is substituted.
- `body: boolean`
Whether the placeholder is substituted in the request body.
- `header: boolean`
Whether the placeholder is substituted in request header values.
- `networking: BetaManagedAgentsUnrestrictedCredentialNetworkingResponse or BetaManagedAgentsLimitedCredentialNetworkingResponse`
Outbound hosts the secret value is substituted on.
- `BetaManagedAgentsUnrestrictedCredentialNetworkingResponse object { type }`
The secret is substituted on any host the session's Environment network policy permits egress to.
- `type: "unrestricted"`
- `"unrestricted"`
- `BetaManagedAgentsLimitedCredentialNetworkingResponse object { allowed_hosts, type }`
The secret is substituted only on requests to the listed hosts.
- `allowed_hosts: array of string`
Hostnames on which the secret will be substituted. An entry matches the request host exactly; a `*.`-prefixed entry matches any subdomain of the named domain but not the domain itself.
- `type: "limited"`
- `"limited"`
- `secret_name: string`
Name of the environment variable.
- `type: "environment_variable"`
- `"environment_variable"`
- `created_at: string`
A timestamp in RFC 3339 format
- `metadata: map[string]`
Arbitrary key-value metadata attached to the credential.
- `type: "vault_credential"`
- `"vault_credential"`
- `updated_at: string`
A timestamp in RFC 3339 format
- `vault_id: string`
Identifier of the vault this credential belongs to.
- `display_name: optional string or null`
Human-readable name for the credential.
### Example
```http
curl https://api.anthropic.com/v1/vaults/$VAULT_ID/credentials/$CREDENTIAL_ID \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"
```
#### Response
```json
{
"id": "vcrd_011CZkZEMt8gZan2iYOQfSkw",
"archived_at": null,
"auth": {
"mcp_server_url": "https://example-server.modelcontextprotocol.io/sse",
"type": "static_bearer"
},
"created_at": "2026-03-15T10:00:00Z",
"metadata": {
"environment": "production"
},
"type": "vault_credential",
"updated_at": "2026-03-15T10:00:00Z",
"vault_id": "vlt_011CZkZDLs7fYzm1hXNPeRjv",
"display_name": "Example credential"
}
```
api/beta/vaults/credentials/update First recorded · 425 lines, first recorded
## Update Credential ### Path Parameters ### Header Parameters ### Body Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Update Credential
url: https://platform.claude.com/docs/en/api/beta/vaults/credentials/update
---
## Update Credential
**post** `/v1/vaults/{vault_id}/credentials/{credential_id}`
Update Credential
### Path Parameters
- `vault_id: string`
- `credential_id: string`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Body Parameters
- `auth: optional BetaManagedAgentsMCPOAuthUpdateParams or BetaManagedAgentsStaticBearerUpdateParams or BetaManagedAgentsEnvironmentVariableUpdateParams`
Updated authentication details for a credential.
- `BetaManagedAgentsMCPOAuthUpdateParams object { type, access_token, expires_at, refresh }`
Parameters for updating an MCP OAuth credential. The `mcp_server_url` is immutable.
- `type: "mcp_oauth"`
- `"mcp_oauth"`
- `access_token: optional string or null`
Updated OAuth access token.
- `expires_at: optional string or null`
A timestamp in RFC 3339 format
- `refresh: optional BetaManagedAgentsMCPOAuthRefreshUpdateParams or null`
Parameters for updating OAuth refresh token configuration.
- `refresh_token: optional string or null`
Updated OAuth refresh token.
- `scope: optional string or null`
Updated OAuth scope for the refresh request.
- `token_endpoint_auth: optional BetaManagedAgentsTokenEndpointAuthBasicUpdateParam or BetaManagedAgentsTokenEndpointAuthPostUpdateParam`
Updated HTTP Basic authentication parameters for the token endpoint.
- `BetaManagedAgentsTokenEndpointAuthBasicUpdateParam object { type, client_secret }`
Updated HTTP Basic authentication parameters for the token endpoint.
- `type: "client_secret_basic"`
- `"client_secret_basic"`
- `client_secret: optional string or null`
Updated OAuth client secret.
- `BetaManagedAgentsTokenEndpointAuthPostUpdateParam object { type, client_secret }`
Updated POST body authentication parameters for the token endpoint.
- `type: "client_secret_post"`
- `"client_secret_post"`
- `client_secret: optional string or null`
Updated OAuth client secret.
- `BetaManagedAgentsStaticBearerUpdateParams object { type, token }`
Parameters for updating a static bearer token credential. The `mcp_server_url` is immutable.
- `type: "static_bearer"`
- `"static_bearer"`
- `token: optional string or null`
Updated static bearer token value.
- `BetaManagedAgentsEnvironmentVariableUpdateParams object { type, injection_location, networking, secret_value }`
Parameters for updating an environment variable credential. `secret_name` is immutable.
- `type: "environment_variable"`
- `"environment_variable"`
- `injection_location: optional BetaManagedAgentsInjectionLocationUpdateParams`
Updated injection location.
- `body: optional boolean`
Substitute when the placeholder appears in the request body.
- `header: optional boolean`
Substitute when the placeholder appears in a request header value.
- `networking: optional BetaManagedAgentsCredentialNetworkingParams or null`
Updated networking scope. Full replacement.
- `BetaManagedAgentsUnrestrictedCredentialNetworkingParams object { type }`
Substitute the secret on any host the session's Environment network policy permits egress to. The Environment's network policy is the only boundary on where the secret can reach.
- `type: "unrestricted"`
- `"unrestricted"`
- `BetaManagedAgentsLimitedCredentialNetworkingParams object { allowed_hosts, type }`
Substitute the secret only on requests to the listed hosts.
- `allowed_hosts: array of string`
Hostnames on which the secret will be substituted. Each entry is a bare hostname (`api.example.com`), an IPv4 address (`192.0.2.1`), or a `*.`-prefixed wildcard (`*.example.com`). URLs, ports, paths, and IPv6 addresses are not accepted. At most 16 entries.
- `type: "limited"`
- `"limited"`
- `secret_value: optional string or null`
Updated secret value.
- `display_name: optional string or null`
Updated human-readable name for the credential. 1-255 characters.
- `metadata: optional map[string] or null`
Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omitted keys are preserved.
### Returns
- `BetaManagedAgentsCredential object { id, archived_at, auth, 6 more }`
A credential stored in a vault. Sensitive fields are never returned in responses.
- `id: string`
Unique identifier for the credential.
- `archived_at: string or null`
A timestamp in RFC 3339 format
- `auth: BetaManagedAgentsMCPOAuthAuthResponse or BetaManagedAgentsStaticBearerAuthResponse or BetaManagedAgentsEnvironmentVariableAuthResponse`
Authentication details for a credential.
- `BetaManagedAgentsMCPOAuthAuthResponse object { mcp_server_url, type, expires_at, refresh }`
OAuth credential details for an MCP server.
- `mcp_server_url: string`
URL of the MCP server this credential authenticates against.
- `type: "mcp_oauth"`
- `"mcp_oauth"`
- `expires_at: optional string or null`
A timestamp in RFC 3339 format
- `refresh: optional BetaManagedAgentsMCPOAuthRefreshResponse or null`
OAuth refresh token configuration returned in credential responses.
- `client_id: string`
OAuth client ID.
- `token_endpoint: string`
Token endpoint URL used to refresh the access token.
- `token_endpoint_auth: BetaManagedAgentsTokenEndpointAuthNoneResponse or BetaManagedAgentsTokenEndpointAuthBasicResponse or BetaManagedAgentsTokenEndpointAuthPostResponse`
Token endpoint requires no client authentication.
- `BetaManagedAgentsTokenEndpointAuthNoneResponse object { type }`
Token endpoint requires no client authentication.
- `type: "none"`
- `"none"`
- `BetaManagedAgentsTokenEndpointAuthBasicResponse object { type }`
Token endpoint uses HTTP Basic authentication with client credentials.
- `type: "client_secret_basic"`
- `"client_secret_basic"`
- `BetaManagedAgentsTokenEndpointAuthPostResponse object { type }`
Token endpoint uses POST body authentication with client credentials.
- `type: "client_secret_post"`
- `"client_secret_post"`
- `resource: optional string or null`
OAuth resource indicator.
Cut at 300 lines. The page has the rest.
api/beta/vaults/delete First recorded · 123 lines, first recorded
## Delete Vault ### Path Parameters ### Header Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Delete Vault
url: https://platform.claude.com/docs/en/api/beta/vaults/delete
---
## Delete Vault
**delete** `/v1/vaults/{vault_id}`
Delete Vault
### Path Parameters
- `vault_id: string`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Returns
- `BetaManagedAgentsDeletedVault object { id, type }`
Confirmation of a deleted vault.
- `id: string`
Unique identifier of the deleted vault.
- `type: "vault_deleted"`
- `"vault_deleted"`
### Example
```http
curl https://api.anthropic.com/v1/vaults/$VAULT_ID \
-X DELETE \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"
```
#### Response
```json
{
"id": "vlt_011CZkZDLs7fYzm1hXNPeRjv",
"type": "vault_deleted"
}
```
api/beta/vaults/list First recorded · 168 lines, first recorded
## List Vaults ### Query Parameters ### Header Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: List Vaults
url: https://platform.claude.com/docs/en/api/beta/vaults/list
---
## List Vaults
**get** `/v1/vaults`
List Vaults
### Query Parameters
- `include_archived: optional boolean`
Whether to include archived vaults in the results.
- `limit: optional number`
Maximum number of vaults to return per page. Defaults to 20, maximum 100.
- `page: optional string`
Opaque pagination token from a previous `list_vaults` response.
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Returns
- `data: optional array of BetaManagedAgentsVault`
List of vaults.
- `id: string`
Unique identifier for the vault.
- `archived_at: string or null`
A timestamp in RFC 3339 format
- `created_at: string`
A timestamp in RFC 3339 format
- `display_name: string`
Human-readable name for the vault.
- `metadata: map[string]`
Arbitrary key-value metadata attached to the vault.
- `type: "vault"`
- `"vault"`
- `updated_at: string`
A timestamp in RFC 3339 format
- `next_page: optional string or null`
Pagination token for the next page, or null if no more results.
### Example
```http
curl https://api.anthropic.com/v1/vaults \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"
```
#### Response
```json
{
"data": [
{
"id": "vlt_011CZkZDLs7fYzm1hXNPeRjv",
"archived_at": null,
"created_at": "2026-03-15T10:00:00Z",
"display_name": "Example vault",
"metadata": {
"environment": "production"
},
"type": "vault",
"updated_at": "2026-03-15T10:00:00Z"
}
],
"next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}
```
api/beta/vaults/retrieve First recorded · 149 lines, first recorded
## Get Vault ### Path Parameters ### Header Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Get Vault
url: https://platform.claude.com/docs/en/api/beta/vaults/retrieve
---
## Get Vault
**get** `/v1/vaults/{vault_id}`
Get Vault
### Path Parameters
- `vault_id: string`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Returns
- `BetaManagedAgentsVault object { id, archived_at, created_at, 4 more }`
A vault that stores credentials for use by agents during sessions.
- `id: string`
Unique identifier for the vault.
- `archived_at: string or null`
A timestamp in RFC 3339 format
- `created_at: string`
A timestamp in RFC 3339 format
- `display_name: string`
Human-readable name for the vault.
- `metadata: map[string]`
Arbitrary key-value metadata attached to the vault.
- `type: "vault"`
- `"vault"`
- `updated_at: string`
A timestamp in RFC 3339 format
### Example
```http
curl https://api.anthropic.com/v1/vaults/$VAULT_ID \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY"
```
#### Response
```json
{
"id": "vlt_011CZkZDLs7fYzm1hXNPeRjv",
"archived_at": null,
"created_at": "2026-03-15T10:00:00Z",
"display_name": "Example vault",
"metadata": {
"environment": "production"
},
"type": "vault",
"updated_at": "2026-03-15T10:00:00Z"
}
```
api/beta/vaults/update First recorded · 166 lines, first recorded
## Update Vault ### Path Parameters ### Header Parameters ### Body Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Update Vault
url: https://platform.claude.com/docs/en/api/beta/vaults/update
---
## Update Vault
**post** `/v1/vaults/{vault_id}`
Update Vault
### Path Parameters
- `vault_id: string`
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Body Parameters
- `display_name: optional string or null`
Updated human-readable name for the vault. 1-255 characters.
- `metadata: optional map[string] or null`
Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omitted keys are preserved.
### Returns
- `BetaManagedAgentsVault object { id, archived_at, created_at, 4 more }`
A vault that stores credentials for use by agents during sessions.
- `id: string`
Unique identifier for the vault.
- `archived_at: string or null`
A timestamp in RFC 3339 format
- `created_at: string`
A timestamp in RFC 3339 format
- `display_name: string`
Human-readable name for the vault.
- `metadata: map[string]`
Arbitrary key-value metadata attached to the vault.
- `type: "vault"`
- `"vault"`
- `updated_at: string`
A timestamp in RFC 3339 format
### Example
```http
curl https://api.anthropic.com/v1/vaults/$VAULT_ID \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H 'anthropic-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"display_name": "Example vault",
"metadata": {
"environment": "production"
}
}'
```
#### Response
```json
{
"id": "vlt_011CZkZDLs7fYzm1hXNPeRjv",
"archived_at": null,
"created_at": "2026-03-15T10:00:00Z",
"display_name": "Example vault",
"metadata": {
"environment": "production"
},
"type": "vault",
"updated_at": "2026-03-15T10:00:00Z"
}
```
api/beta/webhooks First recorded · 2716 lines, first recorded
# Webhooks ## Domain Types ### Beta Webhook Agent Archived Event Data ### Beta Webhook Agent Created Event Data ### Beta Webhook Agent Deleted Event Data ### Beta Webhook Agent Updated Event Data ### Beta Webhook Deployment Archived Event Data ### Beta Webhook Deployment Created Event Data ### Beta Webhook Deployment Deleted Event Data ### Beta Webhook Deployment Paused Event Data ### Beta Webhook Deployment Run Failed Event Data ### Beta Webhook Deployment Run Started Event Data ### Beta Webhook Deployment Run Succeeded Event Data ### Beta Webhook Deployment Unpaused Event Data ### Beta Webhook Deployment Updated Event Data ### Beta Webhook Environment Archived Event Data ### Beta Webhook Environment Created Event Data ### Beta Webhook Environment Deleted Event Data ### Beta Webhook Environment Updated Event Data ### Beta Webhook Event ### Beta Webhook Event Data ### Beta Webhook Memory Store Archived Event Data ### Beta Webhook Memory Store Created Event Data ### Beta Webhook Memory Store Deleted Event Data ### Beta Webhook Session Archived Event Data ### Beta Webhook Session Budget Reached Event Data ### Beta Webhook Session Created Event Data ### Beta Webhook Session Deleted Event Data ### Beta Webhook Session Idled Event Data ### Beta Webhook Session Outcome Evaluation Ended Event Data ### Beta Webhook Session Pending Event Data ### Beta Webhook Session Requires Action Event Data ### Beta Webhook Session Running Event Data ### Beta Webhook Session Status Idled Event Data ### Beta Webhook Session Status Rescheduled Event Data ### Beta Webhook Session Status Run Started Event Data ### Beta Webhook Session Status Terminated Event Data ### Beta Webhook Session Thread Created Event Data ### Beta Webhook Session Thread Idled Event Data ### Beta Webhook Session Thread Terminated Event Data ### Beta Webhook Session Updated Event Data ### Beta Webhook Vault Archived Event Data ### Beta Webhook Vault Created Event Data ### Beta Webhook Vault Credential Archived Event Data ### Beta Webhook Vault Credential Created Event Data ### Beta Webhook Vault Credential Deleted Event Data ### Beta Webhook Vault Credential Refresh Failed Event Data ### Beta Webhook Vault Deleted Event Data ### Unwrap Webhook Event
The first capture of this source. The page was already there, and this is what it said.
---
title: Webhooks
url: https://platform.claude.com/docs/en/api/beta/webhooks
---
# Webhooks
## Domain Types
### Beta Webhook Agent Archived Event Data
- `BetaWebhookAgentArchivedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the agent that triggered the event.
- `organization_id: string`
- `type: "agent.archived"`
- `"agent.archived"`
- `workspace_id: string`
### Beta Webhook Agent Created Event Data
- `BetaWebhookAgentCreatedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the agent that triggered the event.
- `organization_id: string`
- `type: "agent.created"`
- `"agent.created"`
- `workspace_id: string`
### Beta Webhook Agent Deleted Event Data
- `BetaWebhookAgentDeletedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the agent that triggered the event.
- `organization_id: string`
- `type: "agent.deleted"`
- `"agent.deleted"`
- `workspace_id: string`
### Beta Webhook Agent Updated Event Data
- `BetaWebhookAgentUpdatedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the agent that triggered the event.
- `organization_id: string`
- `type: "agent.updated"`
- `"agent.updated"`
- `workspace_id: string`
### Beta Webhook Deployment Archived Event Data
- `BetaWebhookDeploymentArchivedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the deployment that triggered the event.
- `organization_id: string`
- `type: "deployment.archived"`
- `"deployment.archived"`
- `workspace_id: string`
### Beta Webhook Deployment Created Event Data
- `BetaWebhookDeploymentCreatedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the deployment that triggered the event.
- `organization_id: string`
- `type: "deployment.created"`
- `"deployment.created"`
- `workspace_id: string`
### Beta Webhook Deployment Deleted Event Data
- `BetaWebhookDeploymentDeletedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the deployment that triggered the event.
- `organization_id: string`
- `type: "deployment.deleted"`
- `"deployment.deleted"`
- `workspace_id: string`
### Beta Webhook Deployment Paused Event Data
- `BetaWebhookDeploymentPausedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the deployment that triggered the event.
- `organization_id: string`
- `type: "deployment.paused"`
- `"deployment.paused"`
- `workspace_id: string`
### Beta Webhook Deployment Run Failed Event Data
- `BetaWebhookDeploymentRunFailedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the deployment run that triggered the event.
- `organization_id: string`
- `type: "deployment_run.failed"`
- `"deployment_run.failed"`
- `workspace_id: string`
### Beta Webhook Deployment Run Started Event Data
- `BetaWebhookDeploymentRunStartedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the deployment run that triggered the event.
- `organization_id: string`
- `type: "deployment_run.started"`
- `"deployment_run.started"`
- `workspace_id: string`
### Beta Webhook Deployment Run Succeeded Event Data
- `BetaWebhookDeploymentRunSucceededEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the deployment run that triggered the event.
- `organization_id: string`
- `type: "deployment_run.succeeded"`
- `"deployment_run.succeeded"`
- `workspace_id: string`
### Beta Webhook Deployment Unpaused Event Data
- `BetaWebhookDeploymentUnpausedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the deployment that triggered the event.
- `organization_id: string`
- `type: "deployment.unpaused"`
- `"deployment.unpaused"`
- `workspace_id: string`
### Beta Webhook Deployment Updated Event Data
- `BetaWebhookDeploymentUpdatedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the deployment that triggered the event.
- `organization_id: string`
- `type: "deployment.updated"`
- `"deployment.updated"`
- `workspace_id: string`
### Beta Webhook Environment Archived Event Data
- `BetaWebhookEnvironmentArchivedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the environment that triggered the event.
- `organization_id: string`
- `type: "environment.archived"`
- `"environment.archived"`
- `workspace_id: string`
### Beta Webhook Environment Created Event Data
- `BetaWebhookEnvironmentCreatedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the environment that triggered the event.
- `organization_id: string`
- `type: "environment.created"`
- `"environment.created"`
- `workspace_id: string`
### Beta Webhook Environment Deleted Event Data
- `BetaWebhookEnvironmentDeletedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the environment that triggered the event.
- `organization_id: string`
- `type: "environment.deleted"`
- `"environment.deleted"`
- `workspace_id: string`
### Beta Webhook Environment Updated Event Data
- `BetaWebhookEnvironmentUpdatedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the environment that triggered the event.
- `organization_id: string`
- `type: "environment.updated"`
- `"environment.updated"`
- `workspace_id: string`
### Beta Webhook Event
- `BetaWebhookEvent object { id, created_at, data, type }`
- `id: string`
Unique event identifier for idempotency.
- `created_at: string`
RFC 3339 timestamp when the event occurred.
- `data: BetaWebhookEventData`
- `BetaWebhookSessionCreatedEventData object { id, organization_id, type, workspace_id }`
- `id: string`
ID of the session that triggered the event.
Cut at 300 lines. The page has the rest.
api/claude-code/routines-fire First recorded · 163 lines, first recorded
## Differences from the Claude Platform ## Before you begin ## Trigger a routine ### Headers ### Path parameters ### Request body ### Response ### Errors ## Authentication ## Idempotency ## Rate limits ## SDK support ## See also
The first capture of this source. The page was already there, and this is what it said.
---
title: Trigger a routine through the API
url: https://platform.claude.com/docs/en/api/claude-code/routines-fire
description: Start a Claude Code routine session on demand by sending an authenticated POST request.
---
<Warning>
This is an experimental API. Request and response shapes, rate limits, and token semantics might change. Breaking changes ship behind new dated beta header versions, and the two previous header versions continue to work so that callers have time to migrate.
</Warning>
[Claude Code](https://code.claude.com/docs) is Anthropic's agentic coding tool. [Claude Code on the web](https://code.claude.com/docs/en/claude-code-on-the-web) runs Claude Code sessions on Anthropic-managed cloud infrastructure at claude.ai/code, and a [routine](https://code.claude.com/docs/en/routines) is a saved configuration there: a prompt, one or more repositories, and connectors, packaged so it can run unattended on a schedule, in response to GitHub events, or when called over HTTP.
This endpoint is the HTTP entry point. POSTing to it starts a new run of an existing routine and returns the resulting session ID and URL. Typical callers are alerting systems, CI pipelines, and internal tools that need to start a Claude Code session programmatically.
Calling this endpoint requires a claude.ai account on a Pro, Max, Team, or Enterprise plan with [Claude Code on the web](https://code.claude.com/docs/en/claude-code-on-the-web) enabled. Authenticate with a per-routine bearer token created in the Claude Code web UI rather than a Claude API key.
## Differences from the Claude Platform
The routine fire endpoint belongs to the Claude Code product surface, which differs from the Claude Platform APIs and SDKs in a few ways:
| Aspect | This endpoint | Claude Platform APIs |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Authentication | `Authorization: Bearer` with a per-routine token (`sk-ant-oat01-...`) created at [claude.ai/code/routines](https://claude.ai/code/routines) | `x-api-key` with a Claude API key from Claude Console |
| Token scope | One routine only; no read access | Workspace-level |
| SDK support | None | Available in all [client SDKs](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) |
| Billing | Claude Code subscription usage on claude.ai | Claude Platform usage |
| Path namespace | `/v1/claude_code/...` | `/v1/...` |
| Stability | Experimental; requires `anthropic-beta: experimental-cc-routine-2026-04-01` | Stable or standard beta |
## Before you begin
To call this endpoint, you need:
1. A routine created at [claude.ai/code/routines](https://claude.ai/code/routines).
2. A bearer token generated for that routine: open the routine for editing, click **Add another trigger** under **Select a trigger**, choose **API**, then click **Generate token** in the modal window. The token is shown once and cannot be retrieved later.
See [Add an API trigger](https://code.claude.com/docs/en/routines#add-an-api-trigger) in the Claude Code documentation for the full setup walkthrough.
## Trigger a routine
```http
POST https://api.anthropic.com/v1/claude_code/routines/{routine_id}/fire
```
Every request must include the `anthropic-beta: experimental-cc-routine-2026-04-01` header. Requests without it return `400 invalid_request_error`.
The Claude Code web UI provides the full URL alongside the token when you add an API trigger, so most integrations store both as secrets and call the endpoint directly. The following examples show a shell call and a GitHub Actions step that triggers the routine on CI failure.
```bash cURL
curl -X POST https://api.anthropic.com/v1/claude_code/routines/$ROUTINE_ID/fire \
-H "Authorization: Bearer $ROUTINE_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "Content-Type: application/json" \
-d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'
```
```yaml GitHub Actions
- if: failure()
env:
ROUTINE_FIRE_URL: ${{ secrets.ROUTINE_FIRE_URL }}
ROUTINE_FIRE_TOKEN: ${{ secrets.ROUTINE_FIRE_TOKEN }}
run: |
curl -X POST "$ROUTINE_FIRE_URL" \
-H "Authorization: Bearer $ROUTINE_FIRE_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "Content-Type: application/json" \
-d "{\"text\": \"CI failed: $GITHUB_WORKFLOW run $GITHUB_RUN_ID on $GITHUB_REF\"}"
```
The request returns once the session is created. It does not stream session output or wait for the session to complete.
### Headers
| Name | Required | Description |
| ------------------- | -------------------- | ---------------------------------------------------------------------------------------------------- |
| `Authorization` | Yes | `Bearer <token>`. The per-routine token created in the Claude Code web UI, prefixed `sk-ant-oat01-`. |
| `anthropic-beta` | Yes | Must include `experimental-cc-routine-2026-04-01`. |
| `anthropic-version` | Yes | The [API version](https://platform.claude.com/docs/en/api/versioning), for example `2023-06-01`. |
| `Content-Type` | When body is present | `application/json`. |
### Path parameters
| Name | Type | Description |
| ------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `routine_id` | string | The routine's identifier. Despite the parameter name, the value is prefixed `trig_` rather than `routine_`. Included in the URL the modal window shows when you add an API trigger. |
### Request body
| Field | Type | Required | Description |
| ------ | ------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `text` | string | No | Initial context for this run, such as an alert body, a failing log line, or a git diff. The value is freeform text and is not parsed; if you send JSON or another structured payload, the routine receives it as a literal string. Passed to the routine alongside its saved prompt. Maximum 65,536 characters. |
The body is optional. Unknown fields in the body are ignored.
### Response
A successful request returns `200 OK` with the new session details:
```json
{
"type": "routine_fire",
"claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
"claude_code_session_url": "https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ"
}
```
| Field | Type | Description |
| ------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------ |
| `type` | string | Always `routine_fire`. |
| `claude_code_session_id` | string | The ID of the Claude Code session created for this run. |
| `claude_code_session_url` | string | A link to the session on claude.ai. Open it in a browser to watch the run, review changes, or continue the conversation. |
### Errors
Errors use the standard Anthropic [error envelope](https://platform.claude.com/docs/en/api/errors):
```json
{
"type": "error",
"error": {
"type": "not_found_error",
"message": "<string>"
}
}
```
| HTTP status | Error type | Cause |
| ----------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 400 | `invalid_request_error` | Missing or invalid `anthropic-beta` header, `text` exceeds 65,536 characters, or the routine is paused (see [Edit and control routines](https://code.claude.com/docs/en/routines#edit-and-control-routines)). |
| 401 | `authentication_error` | No bearer token in the `Authorization` header, or the token does not match this routine. |
| 403 | `permission_error` | The account or organization does not have access to this endpoint. |
| 404 | `not_found_error` | The routine does not exist. |
| 429 | `rate_limit_error` | The account's routine run limit or usage limit has been reached. The response includes a `Retry-After` header indicating when the window resets. |
| 500 | `api_error` | An unexpected server error. Retry with exponential backoff; if the error persists, contact support with the request ID. |
| 503 | `overloaded_error` | The service is temporarily overloaded. Retry after a short delay. The Claude Platform returns 529 for this error type; this endpoint returns 503. |
## Authentication
The bearer token is scoped to a single routine. A compromised token can only trigger that routine; it grants no read access, no access to other routines, and no access to account data.
Generate and revoke tokens from the routine's API trigger settings at [claude.ai/code/routines](https://claude.ai/code/routines). There is no public API for token management. Generating a new token revokes the previous one.
## Idempotency
Each successful request creates a new session. There is no idempotency key. If a webhook caller retries, the endpoint creates multiple sessions.
## Rate limits
Routine runs count against a per-account daily allowance that varies by plan, and the resulting sessions draw down the same Claude Code subscription usage as interactive sessions. When either limit is reached, the endpoint returns `429 rate_limit_error` with a `Retry-After` header. Organizations with extra usage enabled continue past the included allowance on metered overage.
View your remaining daily runs at [claude.ai/code/routines](https://claude.ai/code/routines). For how routine usage interacts with subscription limits and extra usage billing, see [Usage and limits](https://code.claude.com/docs/en/routines#usage-and-limits) in the Claude Code documentation.
## SDK support
This endpoint is not in the Anthropic SDKs. Its token model differs from API key authentication, and typical callers such as CI jobs and alerting webhooks send the request directly.
## See also
* [Automate work with routines](https://code.claude.com/docs/en/routines) in the Claude Code documentation
* [Beta headers](https://platform.claude.com/docs/en/api/beta-headers)
* [Errors](https://platform.claude.com/docs/en/api/errors)
api/claude-platform-on-aws-iam-actions First recorded · 510 lines, first recorded
## Service details ## Actions ### Inference ### Batch processing ### Models ### Files ### Skills ### Agents ### Sessions ### Environments ### Vaults ### Memory stores ### Webhooks ### User profiles ### Workspaces ### Compliance ### Authentication ### Console access ## Route-to-action mapping ## Managed policies ## Example policies ### Synchronous inference on a single workspace ### Per-customer workspace isolation ### Feature lockdown for a ZDR-sensitive workspace ### Provisioning automation ## See also
The first capture of this source. The page was already there, and this is what it said.
---
title: IAM actions for Claude Platform on AWS
url: https://platform.claude.com/docs/en/api/claude-platform-on-aws-iam-actions
description: IAM action reference for controlling access to Claude Platform on AWS through AWS policies.
---
Claude Platform on AWS uses AWS IAM for access control. Every API route maps to an IAM action in the `aws-external-anthropic` namespace. This page lists all actions, the routes each action authorizes, and the managed policies available for common access patterns. For platform setup and authentication, see [Claude Platform on AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws).
## Service details
| Attribute | Value |
| ---------------------- | ------------------------ |
| **IAM service prefix** | `aws-external-anthropic` |
| **Resource types** | `workspace` |
Workspace ARN format:
```text wrap
arn:aws:aws-external-anthropic:{region}:{account-id}:workspace/{workspace-id}
```
The ARN region is always populated and matches the region the workspace is bound to. The resource segment is the tagged workspace ID (`wrkspc_...`), the same value you pass in the `anthropic-workspace-id` header.
## Actions
The service defines 66 actions. Actions follow the AWS `VerbNoun` convention and use verb discipline so that `Get*` and `List*` wildcards produce a clean read-only boundary.
### Inference
| Action | Routes authorized |
| ----------------- | -------------------------------- |
| `CreateInference` | `POST /v1/messages` |
| `CountTokens` | `POST /v1/messages/count_tokens` |
### Batch processing
| Action | Routes authorized |
| ---------------------- | ----------------------------------------------------------------------- |
| `CreateBatchInference` | `POST /v1/messages/batches` |
| `GetBatchInference` | `GET /v1/messages/batches/{id}` `GET /v1/messages/batches/{id}/results` |
| `ListBatchInferences` | `GET /v1/messages/batches` |
| `CancelBatchInference` | `POST /v1/messages/batches/{id}/cancel` |
| `DeleteBatchInference` | `DELETE /v1/messages/batches/{id}` |
<Note>
`GetBatchInference` authorizes both reading batch metadata and downloading batch results. The `AnthropicReadOnlyAccess`, `AnthropicInferenceAccess`, and `AnthropicLimitedAccess` policies' `Get*` wildcards include this action.
</Note>
### Models
| Action | Routes authorized |
| ------------ | --------------------- |
| `GetModel` | `GET /v1/models/{id}` |
| `ListModels` | `GET /v1/models` |
### Files
| Action | Routes authorized |
| ------------ | ------------------------------------------------- |
| `CreateFile` | `POST /v1/files` |
| `GetFile` | `GET /v1/files/{id}` `GET /v1/files/{id}/content` |
| `ListFiles` | `GET /v1/files` |
| `DeleteFile` | `DELETE /v1/files/{id}` |
<Note>
`GetFile` authorizes both metadata and content download. A principal with read-only access can download file bytes, not just list files.
</Note>
### Skills
| Action | Routes authorized |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `CreateSkill` | `POST /v1/skills` |
| `GetSkill` | `GET /v1/skills/{id}` `GET /v1/skills/{id}/versions` `GET /v1/skills/{id}/versions/{version}` `GET /v1/skills/{id}/versions/{version}/content` |
| `ListSkills` | `GET /v1/skills` |
| `UpdateSkill` | `POST /v1/skills/{id}/versions` `DELETE /v1/skills/{id}/versions/{version}` |
| `DeleteSkill` | `DELETE /v1/skills/{id}` |
<Note>
`GetSkill` authorizes both skill metadata and skill-content download. A principal with read-only access can download skill bytes, not just list skills.
</Note>
<Note>
Creating or deleting an individual skill version maps to `UpdateSkill`, not `CreateSkill` or `DeleteSkill`. A policy that denies `aws-external-anthropic:Delete*` still allows version deletion, and a policy that denies `aws-external-anthropic:Create*` still allows version creation. Deny `UpdateSkill` and `CreateSkill` as well if you need to prevent any skill mutation.
</Note>
### Agents
| Action | Routes authorized |
| -------------- | ---------------------------------------------------- |
| `CreateAgent` | `POST /v1/agents` |
| `GetAgent` | `GET /v1/agents/{id}` `GET /v1/agents/{id}/versions` |
| `ListAgents` | `GET /v1/agents` |
| `UpdateAgent` | `POST /v1/agents/{id}` |
| `ArchiveAgent` | `POST /v1/agents/{id}/archive` |
<Note>
Agents support only archive, not hard delete. A policy that denies `aws-external-anthropic:Delete*` does not block `ArchiveAgent`. Deny `ArchiveAgent`, `UpdateAgent`, and `CreateAgent` if you need to prevent any agent mutation.
</Note>
### Sessions
| Action | Routes authorized |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CreateSession` | `POST /v1/sessions` |
| `GetSession` | `GET /v1/sessions/{id}` `GET /v1/sessions/{id}/events` `GET /v1/sessions/{id}/events/stream` `GET /v1/sessions/{id}/resources` `GET /v1/sessions/{id}/resources/{id}` |
| `ListSessions` | `GET /v1/sessions` |
| `UpdateSession` | `POST /v1/sessions/{id}` `POST /v1/sessions/{id}/events` `POST /v1/sessions/{id}/resources` `POST /v1/sessions/{id}/resources/{id}` `DELETE /v1/sessions/{id}/resources/{id}` |
| `ArchiveSession` | `POST /v1/sessions/{id}/archive` |
| `DeleteSession` | `DELETE /v1/sessions/{id}` |
<Note>
`GetSession` authorizes reading session metadata, the full event stream (conversation history), and session resources. The `AnthropicReadOnlyAccess`, `AnthropicInferenceAccess`, and `AnthropicLimitedAccess` policies' `Get*` wildcards include this action.
</Note>
<Note>
Creating, updating, or deleting an individual session sub-resource (events or session resources) maps to `UpdateSession`, not `CreateSession` or `DeleteSession`. A policy that denies `aws-external-anthropic:Delete*` still allows sub-resource deletion, and a policy that denies `aws-external-anthropic:Create*` still allows sub-resource creation. Deny `UpdateSession`, `CreateSession`, and `ArchiveSession` as well if you need to prevent any session mutation.
</Note>
### Environments
| Action | Routes authorized |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CreateEnvironment` | `POST /v1/environments` |
| `GetEnvironment` | `GET /v1/environments/{id}` `GET /v1/environments/{id}/work` `GET /v1/environments/{id}/work/{work_id}` `GET /v1/environments/{id}/work/stats` |
| `ListEnvironments` | `GET /v1/environments` |
| `UpdateEnvironment` | `POST /v1/environments/{id}` |
| `ArchiveEnvironment` | `POST /v1/environments/{id}/archive` |
| `DeleteEnvironment` | `DELETE /v1/environments/{id}` |
| `ProcessEnvironmentWork` | `GET /v1/environments/{id}/work/poll` `POST /v1/environments/{id}/work/{work_id}` `POST /v1/environments/{id}/work/{work_id}/ack` `POST /v1/environments/{id}/work/{work_id}/heartbeat` `POST /v1/environments/{id}/work/{work_id}/stop` |
<Note>
A policy that denies `aws-external-anthropic:Delete*` does not block `ArchiveEnvironment`. `ProcessEnvironmentWork` is not matched by `Create*`, `Update*`, `Delete*`, or `Archive*` wildcards. Deny `ArchiveEnvironment`, `UpdateEnvironment`, `CreateEnvironment`, and `ProcessEnvironmentWork` as well if you need to prevent any environment mutation.
</Note>
<Note>
`ProcessEnvironmentWork` authorizes a [self-hosted sandbox](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes) worker to poll for, acknowledge, heartbeat, stop, and post results on environment work items. Grant it only to principals that run self-hosted environment workers. The `AnthropicSelfHostedEnvironmentAccess` managed policy includes this action.
</Note>
### Vaults
| Action | Routes authorized |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CreateVault` | `POST /v1/vaults` |
| `GetVault` | `GET /v1/vaults/{id}` `GET /v1/vaults/{id}/credentials` `GET /v1/vaults/{id}/credentials/{id}` |
| `ListVaults` | `GET /v1/vaults` |
| `UpdateVault` | `POST /v1/vaults/{id}` `POST /v1/vaults/{id}/credentials` `POST /v1/vaults/{id}/credentials/{id}` `POST /v1/vaults/{id}/credentials/{id}/archive` `DELETE /v1/vaults/{id}/credentials/{id}` |
| `ArchiveVault` | `POST /v1/vaults/{id}/archive` |
| `DeleteVault` | `DELETE /v1/vaults/{id}` |
<Note>
Creating, updating, archiving, or deleting an individual vault credential maps to `UpdateVault`. Reading a credential maps to `GetVault`. Vault credential secrets are not exposed: secret fields are write-only and are never returned by `GetVault` (see [Authenticate with vaults](https://platform.claude.com/docs/en/managed-agents/vaults)). A policy that denies `aws-external-anthropic:Delete*` still allows credential deletion, and a policy that denies `aws-external-anthropic:Create*` still allows credential creation. Deny `UpdateVault`, `CreateVault`, and `ArchiveVault` as well if you need to prevent any vault mutation.
</Note>
### Memory stores
| Action | Routes authorized |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `CreateMemoryStore` | `POST /v1/memory_stores` |
| `GetMemoryStore` | `GET /v1/memory_stores/{id}` `GET /v1/memory_stores/{id}/memories` `GET /v1/memory_stores/{id}/memories/{id}` `GET /v1/memory_stores/{id}/memory_versions` `GET /v1/memory_stores/{id}/memory_versions/{id}` |
| `ListMemoryStores` | `GET /v1/memory_stores` |
| `UpdateMemoryStore` | `POST /v1/memory_stores/{id}` `POST /v1/memory_stores/{id}/memories` `POST /v1/memory_stores/{id}/memories/{id}` `DELETE /v1/memory_stores/{id}/memories/{id}` `POST /v1/memory_stores/{id}/memory_versions/{id}/redact` |
| `ArchiveMemoryStore` | `POST /v1/memory_stores/{id}/archive` |
| `DeleteMemoryStore` | `DELETE /v1/memory_stores/{id}` |
<Note>
`GetMemoryStore` authorizes reading store metadata, all memories, and memory version history. The `AnthropicReadOnlyAccess`, `AnthropicInferenceAccess`, and `AnthropicLimitedAccess` policies' `Get*` wildcards include this action.
</Note>
<Note>
Creating, updating, or deleting an individual memory and redacting a memory version both map to `UpdateMemoryStore`, not `CreateMemoryStore` or `DeleteMemoryStore`. A policy that denies `aws-external-anthropic:Delete*` still allows individual-memory deletion and memory-version redaction, and a policy that denies `aws-external-anthropic:Create*` still allows individual-memory creation. Deny `UpdateMemoryStore`, `CreateMemoryStore`, and `ArchiveMemoryStore` as well if you need to prevent any memory-store mutation.
</Note>
### Webhooks
| Action | Routes authorized |
| --------------------- | -------------------------------------------------- |
| `CreateWebhook` | `POST /v1/webhooks` |
| `GetWebhook` | `GET /v1/webhooks/{id}` |
| `ListWebhooks` | `GET /v1/webhooks` |
| `UpdateWebhook` | `POST /v1/webhooks/{id}` |
| `DeleteWebhook` | `DELETE /v1/webhooks/{id}` |
| `RotateWebhookSecret` | `POST /v1/webhooks/{id}/regenerate_signing_secret` |
<Note>
Webhook signing secrets are write-only. `GetWebhook` returns webhook metadata only; it does not return the signing secret.
</Note>
<Note>
`RotateWebhookSecret` is not matched by `aws-external-anthropic:Create*`, `Update*`, or `Delete*` wildcards. A policy that denies those patterns still allows secret rotation. Deny `RotateWebhookSecret`, `UpdateWebhook`, `CreateWebhook`, and `DeleteWebhook` if you need to prevent any webhook mutation.
</Note>
### User profiles
| Action | Routes authorized |
| ------------------- | ----------------------------- |
| `CreateUserProfile` | `POST /v1/user_profiles` |
| `GetUserProfile` | `GET /v1/user_profiles/{id}` |
| `ListUserProfiles` | `GET /v1/user_profiles` |
| `UpdateUserProfile` | `POST /v1/user_profiles/{id}` |
<Warning>
IAM action matching is case-insensitive. The wildcard `aws-external-anthropic:*File` matches `CreateFile`, `GetFile`, and `DeleteFile`, but does not match `ListFiles` (which ends in "files", not "file"). It also over-matches `CreateUserProfile`, `GetUserProfile`, and `UpdateUserProfile` because "Profile" ends in "file". If you intend to grant or deny only Files API actions, enumerate them explicitly (`CreateFile`, `GetFile`, `ListFiles`, `DeleteFile`) rather than using a `*File` suffix pattern.
</Warning>
### Workspaces
| Action | Routes authorized |
| ------------------ | ------------------------------------------------ |
| `CreateWorkspace` | `POST /v1/organizations/workspaces` |
| `GetWorkspace` | `GET /v1/organizations/workspaces/{id}` |
| `ListWorkspaces` | `GET /v1/organizations/workspaces` |
| `UpdateWorkspace` | `POST /v1/organizations/workspaces/{id}` |
| `ArchiveWorkspace` | `POST /v1/organizations/workspaces/{id}/archive` |
<Note>
Workspaces support only archive, not hard delete. A policy that denies `aws-external-anthropic:Delete*` does not block `ArchiveWorkspace`. Deny `ArchiveWorkspace`, `UpdateWorkspace`, and `CreateWorkspace` if you need to prevent any workspace mutation.
</Note>
### Compliance
| Action | Routes authorized |
| -------------------------- | ------------------------------- |
| `ListComplianceActivities` | `GET /v1/compliance/activities` |
<Note>
`ListComplianceActivities` authorizes reading the [Compliance API](https://platform.claude.com/docs/en/manage-claude/compliance-api) [Activity Feed](https://platform.claude.com/docs/en/manage-claude/compliance-activity-feed), the organization-wide audit log that includes access transparency events. The route returns an error until the Compliance API is [enabled for your organization](https://platform.claude.com/docs/en/manage-claude/compliance-api-access); enablement is on request through your Anthropic account team. The `AnthropicReadOnlyAccess`, `AnthropicInferenceAccess`, and `AnthropicLimitedAccess` policies' `List*` wildcards include this action.
</Note>
<Note>
`ListComplianceActivities` is account-scoped, like `ListWorkspaces`. Specifying a workspace ARN on this action has no effect; use `Resource: "*"`.
</Note>
### Authentication
| Action | Routes authorized |
| --------------------- | ----------------- |
| `CallWithBearerToken` | (none) |
`CallWithBearerToken` is an authentication-layer permission that authorizes a principal to authenticate through an API key (bearer token) rather than AWS SigV4. It does not map to a route. Grant it alongside the route-mapped actions you want the API key holder to perform.
### Console access
| Action | Routes authorized |
| --------------- | ----------------- |
| `AssumeConsole` | (none) |
`AssumeConsole` authorizes a principal to open the Claude Console for a Claude Platform on AWS workspace through the AWS Console federation flow. It does not map to a route. Grant it to principals who should be able to click **Open Claude Console** on the Claude Platform on AWS service page in the AWS Console. The Claude Console role (Admin or Developer) is assigned separately by your Anthropic account representative; it is not derived from the principal's IAM permissions. See [Using the Claude Console](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws#using-the-claude-console) for the sign-in flow and role descriptions.
## Route-to-action mapping
The following table lists every route on Claude Platform on AWS and the IAM action required to call it. Each IAM action also authorizes requests that use the `anthropic-beta` header; beta variants of a route do not require a separate IAM action. CloudTrail classifies each action as either a Data event (high-volume, data-plane operations) or a Management event (control-plane operations). Vault and webhook actions are classified as Management events because they hold secrets (vault credentials and webhook signing secrets) and benefit from default-on audit logging. Workspace and compliance actions are also classified as Management events because they are organization-scoped control-plane operations. All other actions, including inference, batch, model, file, skill, user profile, and the remaining Claude Managed Agents actions, are classified as Data events.
| Method | Route | IAM action | CloudTrail event type |
| -------- | ---------------------------------------------------- | -------------------------- | --------------------- |
| `POST` | `/v1/messages` | `CreateInference` | Data |
| `POST` | `/v1/messages/count_tokens` | `CountTokens` | Data |
| `POST` | `/v1/messages/batches` | `CreateBatchInference` | Data |
| `GET` | `/v1/messages/batches` | `ListBatchInferences` | Data |
| `GET` | `/v1/messages/batches/{id}` | `GetBatchInference` | Data |
| `GET` | `/v1/messages/batches/{id}/results` | `GetBatchInference` | Data |
| `POST` | `/v1/messages/batches/{id}/cancel` | `CancelBatchInference` | Data |
| `DELETE` | `/v1/messages/batches/{id}` | `DeleteBatchInference` | Data |
| `GET` | `/v1/models` | `ListModels` | Data |
| `GET` | `/v1/models/{id}` | `GetModel` | Data |
| `POST` | `/v1/files` | `CreateFile` | Data |
| `GET` | `/v1/files` | `ListFiles` | Data |
| `GET` | `/v1/files/{id}` | `GetFile` | Data |
| `GET` | `/v1/files/{id}/content` | `GetFile` | Data |
| `DELETE` | `/v1/files/{id}` | `DeleteFile` | Data |
| `POST` | `/v1/skills` | `CreateSkill` | Data |
| `GET` | `/v1/skills` | `ListSkills` | Data |
| `GET` | `/v1/skills/{id}` | `GetSkill` | Data |
| `DELETE` | `/v1/skills/{id}` | `DeleteSkill` | Data |
| `POST` | `/v1/skills/{id}/versions` | `UpdateSkill` | Data |
| `GET` | `/v1/skills/{id}/versions` | `GetSkill` | Data |
| `GET` | `/v1/skills/{id}/versions/{version}` | `GetSkill` | Data |
| `GET` | `/v1/skills/{id}/versions/{version}/content` | `GetSkill` | Data |
| `DELETE` | `/v1/skills/{id}/versions/{version}` | `UpdateSkill` | Data |
| `POST` | `/v1/user_profiles` | `CreateUserProfile` | Data |
| `GET` | `/v1/user_profiles` | `ListUserProfiles` | Data |
| `GET` | `/v1/user_profiles/{id}` | `GetUserProfile` | Data |
| `POST` | `/v1/user_profiles/{id}` | `UpdateUserProfile` | Data |
| `POST` | `/v1/organizations/workspaces` | `CreateWorkspace` | Management |
| `GET` | `/v1/organizations/workspaces` | `ListWorkspaces` | Management |
| `GET` | `/v1/organizations/workspaces/{id}` | `GetWorkspace` | Management |
| `POST` | `/v1/organizations/workspaces/{id}` | `UpdateWorkspace` | Management |
| `POST` | `/v1/organizations/workspaces/{id}/archive` | `ArchiveWorkspace` | Management |
| `GET` | `/v1/compliance/activities` | `ListComplianceActivities` | Management |
| `POST` | `/v1/agents` | `CreateAgent` | Data |
| `GET` | `/v1/agents` | `ListAgents` | Data |
| `GET` | `/v1/agents/{id}` | `GetAgent` | Data |
| `POST` | `/v1/agents/{id}` | `UpdateAgent` | Data |
| `POST` | `/v1/agents/{id}/archive` | `ArchiveAgent` | Data |
| `GET` | `/v1/agents/{id}/versions` | `GetAgent` | Data |
| `POST` | `/v1/sessions` | `CreateSession` | Data |
| `GET` | `/v1/sessions` | `ListSessions` | Data |
| `GET` | `/v1/sessions/{id}` | `GetSession` | Data |
| `POST` | `/v1/sessions/{id}` | `UpdateSession` | Data |
| `POST` | `/v1/sessions/{id}/archive` | `ArchiveSession` | Data |
Cut at 300 lines. The page has the rest.
api/completions First recorded · 484 lines, first recorded
# Completions ## Create a Text Completion ### Header Parameters ### Body Parameters ### Returns ### Example #### Response ## Domain Types ### Completion
The first capture of this source. The page was already there, and this is what it said.
---
title: Completions
url: https://platform.claude.com/docs/en/api/completions
---
# Completions
## Create a Text Completion
**post** `/v1/complete`
[Legacy] Create a Text Completion.
The Text Completions API is a legacy API. We recommend using the [Messages API](https://platform.claude.com/docs/en/api/messages) going forward.
Future models and features will not be compatible with Text Completions. See our [migration guide](https://platform.claude.com/docs/en/build-with-claude/working-with-messages) for guidance in migrating from Text Completions to Messages.
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Body Parameters
- `max_tokens_to_sample: number`
The maximum number of tokens to generate before stopping.
Note that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.
- `model: Model`
The model that will complete your prompt.
See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.
- `"claude-sonnet-5" or "claude-fable-5" or "claude-mythos-5" or 12 more`
The model that will complete your prompt.
See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.
- `"claude-sonnet-5"`
High-performance model for coding and agents
- `"claude-fable-5"`
Next generation of intelligence for the hardest knowledge work and coding problems
- `"claude-mythos-5"`
Most capable model for cybersecurity and biology research
- `"claude-opus-5"`
Powerful intelligence for long-running agents and coding
- `"claude-opus-4-8"`
Powerful intelligence for long-running agents and coding
- `"claude-opus-4-7"`
Powerful intelligence for long-running agents and coding
- `"claude-mythos-preview"`
New class of intelligence, strongest in coding and cybersecurity
- `"claude-opus-4-6"`
Powerful intelligence for long-running agents and coding
- `"claude-sonnet-4-6"`
Best combination of speed and intelligence
- `"claude-haiku-4-5"`
Fastest model with near-frontier intelligence
- `"claude-haiku-4-5-20251001"`
Fastest model with near-frontier intelligence
- `"claude-opus-4-5"`
Powerful intelligence for long-running agents and coding
- `"claude-opus-4-5-20251101"`
Powerful intelligence for long-running agents and coding
- `"claude-sonnet-4-5"`
High-performance model for agents and coding
- `"claude-sonnet-4-5-20250929"`
High-performance model for agents and coding
- `string`
- `prompt: string`
The prompt that you want Claude to complete.
For proper response generation you will need to format your prompt using alternating `
Human:`and`
Assistant:` conversational turns. For example:
```
"
Human: {userQuestion}
Assistant:"
```
See [prompt validation](https://platform.claude.com/docs/en/build-with-claude/working-with-messages) and our guide to [prompt design](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview) for more details.
- `metadata: optional Metadata`
An object describing metadata about the request.
- `user_id: optional string or null`
An external identifier for the user who is associated with the request.
This should be a uuid, hash value, or other opaque identifier. Anthropic may use this id to help detect abuse. Do not include any identifying information such as name, email address, or phone number.
- `stop_sequences: optional array of string`
Sequences that will cause the model to stop generating.
Our models stop on `"
Human:"`, and may include additional built-in stop sequences in the future. By providing the stop_sequences parameter, you may include additional strings that will cause the model to stop generating.
- `stream: optional boolean`
Whether to incrementally stream the response using server-sent events.
See [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming) for details.
- `temperature: optional number`
Amount of randomness injected into the response.
Defaults to `1.0`. Ranges from `0.0` to `1.0`. Use `temperature` closer to `0.0` for analytical / multiple choice, and closer to `1.0` for creative and generative tasks.
Note that even with `temperature` of `0.0`, the results will not be fully deterministic.
- `top_k: optional number`
Only sample from the top K options for each subsequent token.
Used to remove "long tail" low probability responses. [Learn more technical details here](https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277).
Recommended for advanced use cases only.
- `top_p: optional number`
Use nucleus sampling.
In nucleus sampling, we compute the cumulative distribution over all the options for each subsequent token in decreasing probability order and cut it off once it reaches a particular probability specified by `top_p`.
Recommended for advanced use cases only.
### Returns
- `Completion object { id, completion, model, 2 more }`
- `id: string`
Unique object identifier.
The format and length of IDs may change over time.
- `completion: string`
The resulting completion up to and excluding the stop sequences.
- `model: Model`
The model that will complete your prompt.
See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.
- `"claude-sonnet-5" or "claude-fable-5" or "claude-mythos-5" or 12 more`
The model that will complete your prompt.
See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.
- `"claude-sonnet-5"`
High-performance model for coding and agents
- `"claude-fable-5"`
Next generation of intelligence for the hardest knowledge work and coding problems
- `"claude-mythos-5"`
Most capable model for cybersecurity and biology research
- `"claude-opus-5"`
Powerful intelligence for long-running agents and coding
- `"claude-opus-4-8"`
Powerful intelligence for long-running agents and coding
- `"claude-opus-4-7"`
Powerful intelligence for long-running agents and coding
- `"claude-mythos-preview"`
New class of intelligence, strongest in coding and cybersecurity
- `"claude-opus-4-6"`
Powerful intelligence for long-running agents and coding
Cut at 300 lines. The page has the rest.
api/completions/create First recorded · 375 lines, first recorded
## Create a Text Completion ### Header Parameters ### Body Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Create a Text Completion
url: https://platform.claude.com/docs/en/api/completions/create
---
## Create a Text Completion
**post** `/v1/complete`
[Legacy] Create a Text Completion.
The Text Completions API is a legacy API. We recommend using the [Messages API](https://platform.claude.com/docs/en/api/messages) going forward.
Future models and features will not be compatible with Text Completions. See our [migration guide](https://platform.claude.com/docs/en/build-with-claude/working-with-messages) for guidance in migrating from Text Completions to Messages.
### Header Parameters
- `"anthropic-beta": optional array of AnthropicBeta`
Optional header to specify the beta version(s) you want to use.
- `string`
- `"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 30 more`
- `"message-batches-2024-09-24"`
- `"prompt-caching-2024-07-31"`
- `"computer-use-2024-10-22"`
- `"computer-use-2025-01-24"`
- `"pdfs-2024-09-25"`
- `"token-counting-2024-11-01"`
- `"token-efficient-tools-2025-02-19"`
- `"output-128k-2025-02-19"`
- `"files-api-2025-04-14"`
- `"mcp-client-2025-04-04"`
- `"mcp-client-2025-11-20"`
- `"dev-full-thinking-2025-05-14"`
- `"interleaved-thinking-2025-05-14"`
- `"code-execution-2025-05-22"`
- `"extended-cache-ttl-2025-04-11"`
- `"context-1m-2025-08-07"`
- `"context-management-2025-06-27"`
- `"model-context-window-exceeded-2025-08-26"`
- `"skills-2025-10-02"`
- `"fast-mode-2026-02-01"`
- `"output-300k-2026-03-24"`
- `"user-profiles-2026-03-24"`
- `"advisor-tool-2026-03-01"`
- `"managed-agents-2026-04-01"`
- `"cache-diagnosis-2026-04-07"`
- `"dreaming-2026-04-21"`
- `"thinking-token-count-2026-05-13"`
- `"server-side-fallback-2026-06-01"`
- `"server-side-fallback-2026-07-01"`
- `"fallback-credit-2026-06-01"`
- `"fallback-credit-2026-07-01"`
- `"agent-memory-2026-07-22"`
- `"mid-conversation-tool-changes-2026-07-01"`
### Body Parameters
- `max_tokens_to_sample: number`
The maximum number of tokens to generate before stopping.
Note that our models may stop _before_ reaching this maximum. This parameter only specifies the absolute maximum number of tokens to generate.
- `model: Model`
The model that will complete your prompt.
See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.
- `"claude-sonnet-5" or "claude-fable-5" or "claude-mythos-5" or 12 more`
The model that will complete your prompt.
See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.
- `"claude-sonnet-5"`
High-performance model for coding and agents
- `"claude-fable-5"`
Next generation of intelligence for the hardest knowledge work and coding problems
- `"claude-mythos-5"`
Most capable model for cybersecurity and biology research
- `"claude-opus-5"`
Powerful intelligence for long-running agents and coding
- `"claude-opus-4-8"`
Powerful intelligence for long-running agents and coding
- `"claude-opus-4-7"`
Powerful intelligence for long-running agents and coding
- `"claude-mythos-preview"`
New class of intelligence, strongest in coding and cybersecurity
- `"claude-opus-4-6"`
Powerful intelligence for long-running agents and coding
- `"claude-sonnet-4-6"`
Best combination of speed and intelligence
- `"claude-haiku-4-5"`
Fastest model with near-frontier intelligence
- `"claude-haiku-4-5-20251001"`
Fastest model with near-frontier intelligence
- `"claude-opus-4-5"`
Powerful intelligence for long-running agents and coding
- `"claude-opus-4-5-20251101"`
Powerful intelligence for long-running agents and coding
- `"claude-sonnet-4-5"`
High-performance model for agents and coding
- `"claude-sonnet-4-5-20250929"`
High-performance model for agents and coding
- `string`
- `prompt: string`
The prompt that you want Claude to complete.
For proper response generation you will need to format your prompt using alternating `
Human:`and`
Assistant:` conversational turns. For example:
```
"
Human: {userQuestion}
Assistant:"
```
See [prompt validation](https://platform.claude.com/docs/en/build-with-claude/working-with-messages) and our guide to [prompt design](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview) for more details.
- `metadata: optional Metadata`
An object describing metadata about the request.
- `user_id: optional string or null`
An external identifier for the user who is associated with the request.
This should be a uuid, hash value, or other opaque identifier. Anthropic may use this id to help detect abuse. Do not include any identifying information such as name, email address, or phone number.
- `stop_sequences: optional array of string`
Sequences that will cause the model to stop generating.
Our models stop on `"
Human:"`, and may include additional built-in stop sequences in the future. By providing the stop_sequences parameter, you may include additional strings that will cause the model to stop generating.
- `stream: optional boolean`
Whether to incrementally stream the response using server-sent events.
See [streaming](https://platform.claude.com/docs/en/build-with-claude/streaming) for details.
- `temperature: optional number`
Amount of randomness injected into the response.
Defaults to `1.0`. Ranges from `0.0` to `1.0`. Use `temperature` closer to `0.0` for analytical / multiple choice, and closer to `1.0` for creative and generative tasks.
Note that even with `temperature` of `0.0`, the results will not be fully deterministic.
- `top_k: optional number`
Only sample from the top K options for each subsequent token.
Used to remove "long tail" low probability responses. [Learn more technical details here](https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277).
Recommended for advanced use cases only.
- `top_p: optional number`
Use nucleus sampling.
In nucleus sampling, we compute the cumulative distribution over all the options for each subsequent token in decreasing probability order and cut it off once it reaches a particular probability specified by `top_p`.
Recommended for advanced use cases only.
### Returns
- `Completion object { id, completion, model, 2 more }`
- `id: string`
Unique object identifier.
The format and length of IDs may change over time.
- `completion: string`
The resulting completion up to and excluding the stop sequences.
- `model: Model`
The model that will complete your prompt.
See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.
- `"claude-sonnet-5" or "claude-fable-5" or "claude-mythos-5" or 12 more`
The model that will complete your prompt.
See [models](https://docs.anthropic.com/en/docs/models-overview) for additional details and options.
- `"claude-sonnet-5"`
High-performance model for coding and agents
- `"claude-fable-5"`
Next generation of intelligence for the hardest knowledge work and coding problems
- `"claude-mythos-5"`
Most capable model for cybersecurity and biology research
- `"claude-opus-5"`
Powerful intelligence for long-running agents and coding
- `"claude-opus-4-8"`
Powerful intelligence for long-running agents and coding
- `"claude-opus-4-7"`
Powerful intelligence for long-running agents and coding
- `"claude-mythos-preview"`
New class of intelligence, strongest in coding and cybersecurity
- `"claude-opus-4-6"`
Powerful intelligence for long-running agents and coding
- `"claude-sonnet-4-6"`
Cut at 300 lines. The page has the rest.
api/compliance First recorded · 167733 lines, first recorded
# Compliance API # Activities ## Query compliance activities ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Activity List Response # Organizations ## List organizations ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Organization List Response # Users ## List organization users ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### User List Response # Roles ## List Compliance Roles ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Get Compliance Role ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Role List Response ### Role Retrieve Response # Permissions ## List Compliance Role Permissions ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Permission List Response # Settings ## Get effective organization settings ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Setting Retrieve Response # Groups ## List Compliance Groups ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Get Compliance Group ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Group List Response ### Group Retrieve Response # Members ## List Compliance Group Members ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Member List Response # Apps # Chats ## List chats ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Delete chat ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Chat List Response ### Chat Delete Response # Messages ## Get chat messages ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Message List Response # Files ## Get file metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Delete file ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Download file content ### Path Parameters ### Header Parameters ### Example ## Domain Types ### File Retrieve Response ### File Delete Response # Generated Files ## Get Claude-generated file metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Download a Claude-generated file ### Path Parameters ### Header Parameters ### Example ## Domain Types ### Generated File Retrieve Response # Projects ## List projects ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Get project details ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Delete project ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Project List Response ### Project Retrieve Response ### Project Delete Response # Attachments ## List project attachments ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Attachment List Response # Collaborators ## List project collaborators ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Collaborator List Response # Documents ## Get project document content ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Get project document metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Delete project document ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Document Retrieve Response ### Document Metadata Response ### Document Delete Response # Artifacts ## Get artifact metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Download artifact content ### Path Parameters ### Header Parameters ### Example ## Domain Types ### Artifact Retrieve Response # Sessions # Local ## List local sessions ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Retrieve a local session ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Local List Response ### Local Retrieve Response # Messages ## Retrieve local session messages ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Message List Response # Remote ## List remote sessions ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Remote List Response # Messages ## Retrieve remote session messages ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Message List Response # Code # Artifacts ## List Code Artifacts ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Download Code Artifact Version Content ### Path Parameters ### Header Parameters ### Example ## Delete Code Artifact ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Artifact List Response ### Artifact Delete Response
This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
The first capture of this source. The page was already there, and this is what it said.
---
title: Compliance API
url: https://platform.claude.com/docs/en/api/compliance
---
# Compliance API
# Activities
## Query compliance activities
**get** `/v1/compliance/activities`
List compliance activities for the authenticated tenant.
The tenant is the caller's parent organization, or — for an organization
with no parent — the organization itself. Returns a paginated list of
compliance activities that can be filtered by various criteria.
### Query Parameters
- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "admin_api_key_created" or 464 more`
Filter activities by type. See the response `data` schema for the additional fields each type returns. Cannot be combined with `exclude_activity_types[]`.
- `"abuse_decision_received"`
An external anti-abuse service reported a consequential decision about a sign-in or sign-up attempt.
- `"account_deleted"`
User-initiated self-service account deletion.
- `"admin_api_key_created"`
An admin API key was created.
- `"admin_api_key_deleted"`
An admin API key was deleted.
- `"admin_api_key_updated"`
An admin API key was updated (renamed or activated/deactivated).
- `"admin_connector_request_resolved"`
Admin approved or dismissed pending member requests to enable an MCP connector.
- `"admin_request_created"`
Admin request created by an org member (seat upgrade, limit increase, join org, end-user invite).
- `"age_verified"`
User age was verified.
- `"anonymous_mobile_login_attempted"`
Anonymous mobile login was attempted.
- `"api_key_created"`
Activity logged when a new API key is created.
- `"audit_log_export_accessed"`
Audit log export file was accessed/downloaded via signed URL.
- `"audit_log_export_started"`
Audit log export was initiated.
- `"billing_emails_updated"`
The organization's billing email recipients were updated.
- `"ccr_agent_created"`
A Claude Code agent was created.
- `"ccr_agent_deleted"`
A Claude Code agent was deleted.
- `"ccr_agent_proxy_credential_created"`
A Claude Code agent proxy credential was created. Credentials hold the secrets the agent proxy injects into requests Claude Code sessions send to approved external services; each credential belongs to an agent proxy profile. Audit events carry only credential names and settings, never the secret material itself.
- `"ccr_agent_proxy_credential_deleted"`
A Claude Code agent proxy credential was deleted. Its secret material was removed and can no longer be sent to any host.
- `"ccr_agent_proxy_credential_rotated"`
A Claude Code agent proxy credential's secret material was replaced. The replacement keeps the same name, profile, and allowed hosts under a new credential identifier, and everything that referenced the old credential now uses the replacement.
- `"ccr_agent_proxy_credential_updated"`
A Claude Code agent proxy credential's settings were updated. Only the display name and the allowed host patterns can be updated; the secret material can only be replaced through a rotation.
- `"ccr_agent_proxy_destination_deleted"`
An agent proxy destination was deleted.
- `"ccr_agent_proxy_network_events_listed"`
A Claude Code network activity export was accessed for the given hour.
- `"ccr_agent_proxy_profile_bound"`
A Claude Code agent proxy profile was bound to a scope, applying its policy to Claude Code sessions in that scope.
- `"ccr_agent_proxy_profile_created"`
A Claude Code agent proxy profile was created. Agent proxy profiles are named, reusable bundles of access policy that administrators bind to parts of the organization.
- `"ccr_agent_proxy_profile_deleted"`
A Claude Code agent proxy profile was deleted, removing its policy from everything it was bound to.
- `"ccr_agent_proxy_profile_unbound"`
A Claude Code agent proxy profile was unbound from a scope, removing its policy from Claude Code sessions in that scope.
- `"ccr_agent_proxy_profile_updated"`
A Claude Code agent proxy profile's configuration was updated.
- `"ccr_agent_proxy_provisioning_credential_rejected"`
An organization owner rejected a credential that a teammate submitted via an agent proxy provisioning link: the credential and its disabled rule were deleted and the link was revoked. The actor is the owner; the submitter is recorded for attribution.
- `"ccr_agent_proxy_provisioning_link_enabled"`
An organization owner enabled a credential that a teammate submitted via an agent proxy provisioning link: the disabled rule created at submission was switched to enforce, so the credential now takes traffic. The actor is the owner; the submitter is the actor on the prior ccr_agent_proxy_provisioning_link_submitted event.
- `"ccr_agent_proxy_provisioning_link_generated"`
An organization owner generated a one-time agent proxy credential provisioning link so a teammate can submit a credential into the target agent proxy profile without holding the owner role.
- `"ccr_agent_proxy_provisioning_link_revoked"`
An organization owner revoked an unfilled agent proxy provisioning link.
- `"ccr_agent_proxy_provisioning_link_submitted"`
A teammate submitted a credential via an agent proxy provisioning link. The credential and a disabled rule are created; the credential takes traffic only after an organization owner enables the submitted credential. This event records the link-mediated lifecycle; the credential itself additionally emits ccr_agent_proxy_credential_created.
- `"ccr_agent_proxy_rule_deleted"`
An agent proxy rule was deleted.
- `"ccr_agent_slack_access_scope_created"`
A Claude Code agent was granted access to read or write in an additional Slack channel beyond the one it is assigned to.
- `"ccr_agent_slack_access_scope_deleted"`
A Claude Code agent's access to an additional Slack channel was revoked.
- `"ccr_agent_slack_binding_created"`
A Claude Code agent was assigned to a Slack channel or workspace as its dedicated agent.
- `"ccr_agent_slack_binding_deleted"`
A Claude Code agent's assignment to a Slack channel or workspace was removed.
- `"ccr_agent_updated"`
A Claude Code agent's configuration was updated. Also emitted with updated_fields ["is_virtual"] alone when an auto-provisioned agent is promoted to a configured one, whether by an update request targeting it or by binding an agent proxy profile to it.
- `"ccr_role_channel_assignment_deleted"`
CcrRoleChannelAssignmentDeleted is emitted when an org owner/admin removes an RBAC role's channel assignment row (the role reverts to granting zero channels).
- `"ccr_role_channel_assignment_updated"`
CcrRoleChannelAssignmentUpdated is emitted when an org owner/admin sets or replaces the list of Slack channels an RBAC role's holders may configure via the delegated Claude-in-Slack channel-manage surface.
- `"claude_artifact_access_failed"`
An attempt to access an artifact failed.
- `"claude_artifact_created"`
An artifact was created.
- `"claude_artifact_published"`
An artifact was published and made publicly accessible.
- `"claude_artifact_sharing_updated"`
An artifact's sharing settings were updated.
- `"claude_artifact_viewed"`
An artifact was viewed.
- `"claude_chat_access_failed"`
A user was denied access to a Claude.ai chat conversation.
- `"claude_chat_created"`
User created a chat.
- `"claude_chat_deleted"`
A user deleted a Claude.ai chat conversation.
- `"claude_chat_deletion_failed"`
A request to delete a Claude.ai chat conversation failed.
- `"claude_chat_settings_updated"`
User updated the settings for a conversation.
- `"claude_chat_snapshot_created"`
User created/shared a chat snapshot.
- `"claude_chat_snapshot_deleted"`
User deleted/unshared a chat snapshot.
- `"claude_chat_snapshot_viewed"`
User viewed a chat snapshot (authenticated or public/unauthenticated).
- `"claude_chat_sync_source_created"`
A sync source was connected for syncing external content into Claude chats.
- `"claude_chat_sync_source_deleted"`
A sync source was disconnected from Claude chats.
- `"claude_chat_sync_source_updated"`
A Claude chat sync source's configuration was updated.
- `"claude_chat_updated"`
User updated the chat metadata (e.g name, model).
- `"claude_chat_viewed"`
A user viewed a Claude.ai chat conversation.
- `"claude_code_credential_revoked"`
A Claude Code credential (runner pool key, runner token, or session token) was revoked. The credential itself is never recorded.
- `"claude_code_review_config_updated"`
Claude Code Review configuration was enabled/disabled for an org.
- `"claude_code_review_repository_added"`
A repository was added to org-level Claude Code Review configuration.
- `"claude_code_review_repository_removed"`
A repository was removed from org-level Claude Code Review configuration.
- `"claude_code_review_repository_updated"`
A Claude Code Review repository configuration was updated.
- `"claude_code_runner_deleted"`
A self-hosted runner was forcibly removed from its pool. Sessions assigned to the runner were returned to the pool queue, unless a session had already been requeued repeatedly, in which case it was marked stuck instead of being requeued again.
- `"claude_code_runner_pool_created"`
A self-hosted runner pool for Claude Code was created.
- `"claude_code_runner_pool_deleted"`
A self-hosted runner pool was deleted.
- `"claude_code_runner_pool_secret_minted"`
A registration key for a self-hosted runner pool was minted. Runners present this key to join the pool. The key itself is never recorded.
- `"claude_code_runner_pool_session_queue_updated"`
An admin changed a session's position in its self-hosted runner pool's queue: requeued it onto a different runner, dismissed it from the queue, or re-admitted it for another runner provisioning attempt.
- `"claude_code_runner_pool_updated"`
A self-hosted runner pool's settings were updated.
- `"claude_code_security_center_config_updated"`
Claude Code Security Center scanning was enabled/disabled for an org.
Cut at 300 lines. The page has the rest.
api/compliance/activities First recorded · 161764 lines, first recorded
# Activities ## Query compliance activities ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Activity List Response
This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
The first capture of this source. The page was already there, and this is what it said.
---
title: Activities
url: https://platform.claude.com/docs/en/api/compliance/activities
---
# Activities
## Query compliance activities
**get** `/v1/compliance/activities`
List compliance activities for the authenticated tenant.
The tenant is the caller's parent organization, or — for an organization
with no parent — the organization itself. Returns a paginated list of
compliance activities that can be filtered by various criteria.
### Query Parameters
- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "admin_api_key_created" or 464 more`
Filter activities by type. See the response `data` schema for the additional fields each type returns. Cannot be combined with `exclude_activity_types[]`.
- `"abuse_decision_received"`
An external anti-abuse service reported a consequential decision about a sign-in or sign-up attempt.
- `"account_deleted"`
User-initiated self-service account deletion.
- `"admin_api_key_created"`
An admin API key was created.
- `"admin_api_key_deleted"`
An admin API key was deleted.
- `"admin_api_key_updated"`
An admin API key was updated (renamed or activated/deactivated).
- `"admin_connector_request_resolved"`
Admin approved or dismissed pending member requests to enable an MCP connector.
- `"admin_request_created"`
Admin request created by an org member (seat upgrade, limit increase, join org, end-user invite).
- `"age_verified"`
User age was verified.
- `"anonymous_mobile_login_attempted"`
Anonymous mobile login was attempted.
- `"api_key_created"`
Activity logged when a new API key is created.
- `"audit_log_export_accessed"`
Audit log export file was accessed/downloaded via signed URL.
- `"audit_log_export_started"`
Audit log export was initiated.
- `"billing_emails_updated"`
The organization's billing email recipients were updated.
- `"ccr_agent_created"`
A Claude Code agent was created.
- `"ccr_agent_deleted"`
A Claude Code agent was deleted.
- `"ccr_agent_proxy_credential_created"`
A Claude Code agent proxy credential was created. Credentials hold the secrets the agent proxy injects into requests Claude Code sessions send to approved external services; each credential belongs to an agent proxy profile. Audit events carry only credential names and settings, never the secret material itself.
- `"ccr_agent_proxy_credential_deleted"`
A Claude Code agent proxy credential was deleted. Its secret material was removed and can no longer be sent to any host.
- `"ccr_agent_proxy_credential_rotated"`
A Claude Code agent proxy credential's secret material was replaced. The replacement keeps the same name, profile, and allowed hosts under a new credential identifier, and everything that referenced the old credential now uses the replacement.
- `"ccr_agent_proxy_credential_updated"`
A Claude Code agent proxy credential's settings were updated. Only the display name and the allowed host patterns can be updated; the secret material can only be replaced through a rotation.
- `"ccr_agent_proxy_destination_deleted"`
An agent proxy destination was deleted.
- `"ccr_agent_proxy_network_events_listed"`
A Claude Code network activity export was accessed for the given hour.
- `"ccr_agent_proxy_profile_bound"`
A Claude Code agent proxy profile was bound to a scope, applying its policy to Claude Code sessions in that scope.
- `"ccr_agent_proxy_profile_created"`
A Claude Code agent proxy profile was created. Agent proxy profiles are named, reusable bundles of access policy that administrators bind to parts of the organization.
- `"ccr_agent_proxy_profile_deleted"`
A Claude Code agent proxy profile was deleted, removing its policy from everything it was bound to.
- `"ccr_agent_proxy_profile_unbound"`
A Claude Code agent proxy profile was unbound from a scope, removing its policy from Claude Code sessions in that scope.
- `"ccr_agent_proxy_profile_updated"`
A Claude Code agent proxy profile's configuration was updated.
- `"ccr_agent_proxy_provisioning_credential_rejected"`
An organization owner rejected a credential that a teammate submitted via an agent proxy provisioning link: the credential and its disabled rule were deleted and the link was revoked. The actor is the owner; the submitter is recorded for attribution.
- `"ccr_agent_proxy_provisioning_link_enabled"`
An organization owner enabled a credential that a teammate submitted via an agent proxy provisioning link: the disabled rule created at submission was switched to enforce, so the credential now takes traffic. The actor is the owner; the submitter is the actor on the prior ccr_agent_proxy_provisioning_link_submitted event.
- `"ccr_agent_proxy_provisioning_link_generated"`
An organization owner generated a one-time agent proxy credential provisioning link so a teammate can submit a credential into the target agent proxy profile without holding the owner role.
- `"ccr_agent_proxy_provisioning_link_revoked"`
An organization owner revoked an unfilled agent proxy provisioning link.
- `"ccr_agent_proxy_provisioning_link_submitted"`
A teammate submitted a credential via an agent proxy provisioning link. The credential and a disabled rule are created; the credential takes traffic only after an organization owner enables the submitted credential. This event records the link-mediated lifecycle; the credential itself additionally emits ccr_agent_proxy_credential_created.
- `"ccr_agent_proxy_rule_deleted"`
An agent proxy rule was deleted.
- `"ccr_agent_slack_access_scope_created"`
A Claude Code agent was granted access to read or write in an additional Slack channel beyond the one it is assigned to.
- `"ccr_agent_slack_access_scope_deleted"`
A Claude Code agent's access to an additional Slack channel was revoked.
- `"ccr_agent_slack_binding_created"`
A Claude Code agent was assigned to a Slack channel or workspace as its dedicated agent.
- `"ccr_agent_slack_binding_deleted"`
A Claude Code agent's assignment to a Slack channel or workspace was removed.
- `"ccr_agent_updated"`
A Claude Code agent's configuration was updated. Also emitted with updated_fields ["is_virtual"] alone when an auto-provisioned agent is promoted to a configured one, whether by an update request targeting it or by binding an agent proxy profile to it.
- `"ccr_role_channel_assignment_deleted"`
CcrRoleChannelAssignmentDeleted is emitted when an org owner/admin removes an RBAC role's channel assignment row (the role reverts to granting zero channels).
- `"ccr_role_channel_assignment_updated"`
CcrRoleChannelAssignmentUpdated is emitted when an org owner/admin sets or replaces the list of Slack channels an RBAC role's holders may configure via the delegated Claude-in-Slack channel-manage surface.
- `"claude_artifact_access_failed"`
An attempt to access an artifact failed.
- `"claude_artifact_created"`
An artifact was created.
- `"claude_artifact_published"`
An artifact was published and made publicly accessible.
- `"claude_artifact_sharing_updated"`
An artifact's sharing settings were updated.
- `"claude_artifact_viewed"`
An artifact was viewed.
- `"claude_chat_access_failed"`
A user was denied access to a Claude.ai chat conversation.
- `"claude_chat_created"`
User created a chat.
- `"claude_chat_deleted"`
A user deleted a Claude.ai chat conversation.
- `"claude_chat_deletion_failed"`
A request to delete a Claude.ai chat conversation failed.
- `"claude_chat_settings_updated"`
User updated the settings for a conversation.
- `"claude_chat_snapshot_created"`
User created/shared a chat snapshot.
- `"claude_chat_snapshot_deleted"`
User deleted/unshared a chat snapshot.
- `"claude_chat_snapshot_viewed"`
User viewed a chat snapshot (authenticated or public/unauthenticated).
- `"claude_chat_sync_source_created"`
A sync source was connected for syncing external content into Claude chats.
- `"claude_chat_sync_source_deleted"`
A sync source was disconnected from Claude chats.
- `"claude_chat_sync_source_updated"`
A Claude chat sync source's configuration was updated.
- `"claude_chat_updated"`
User updated the chat metadata (e.g name, model).
- `"claude_chat_viewed"`
A user viewed a Claude.ai chat conversation.
- `"claude_code_credential_revoked"`
A Claude Code credential (runner pool key, runner token, or session token) was revoked. The credential itself is never recorded.
- `"claude_code_review_config_updated"`
Claude Code Review configuration was enabled/disabled for an org.
- `"claude_code_review_repository_added"`
A repository was added to org-level Claude Code Review configuration.
- `"claude_code_review_repository_removed"`
A repository was removed from org-level Claude Code Review configuration.
- `"claude_code_review_repository_updated"`
A Claude Code Review repository configuration was updated.
- `"claude_code_runner_deleted"`
A self-hosted runner was forcibly removed from its pool. Sessions assigned to the runner were returned to the pool queue, unless a session had already been requeued repeatedly, in which case it was marked stuck instead of being requeued again.
- `"claude_code_runner_pool_created"`
A self-hosted runner pool for Claude Code was created.
- `"claude_code_runner_pool_deleted"`
A self-hosted runner pool was deleted.
- `"claude_code_runner_pool_secret_minted"`
A registration key for a self-hosted runner pool was minted. Runners present this key to join the pool. The key itself is never recorded.
- `"claude_code_runner_pool_session_queue_updated"`
An admin changed a session's position in its self-hosted runner pool's queue: requeued it onto a different runner, dismissed it from the queue, or re-admitted it for another runner provisioning attempt.
- `"claude_code_runner_pool_updated"`
A self-hosted runner pool's settings were updated.
- `"claude_code_security_center_config_updated"`
Claude Code Security Center scanning was enabled/disabled for an org.
- `"claude_code_security_scan_cancelled"`
Cut at 300 lines. The page has the rest.
api/compliance/activities/list First recorded · 82829 lines, first recorded
## Query compliance activities ### Query Parameters ### Header Parameters ### Returns ### Example #### Response
This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
The first capture of this source. The page was already there, and this is what it said.
---
title: Query compliance activities
url: https://platform.claude.com/docs/en/api/compliance/activities/list
---
## Query compliance activities
**get** `/v1/compliance/activities`
List compliance activities for the authenticated tenant.
The tenant is the caller's parent organization, or — for an organization
with no parent — the organization itself. Returns a paginated list of
compliance activities that can be filtered by various criteria.
### Query Parameters
- `activity_types: optional array of "abuse_decision_received" or "account_deleted" or "admin_api_key_created" or 464 more`
Filter activities by type. See the response `data` schema for the additional fields each type returns. Cannot be combined with `exclude_activity_types[]`.
- `"abuse_decision_received"`
An external anti-abuse service reported a consequential decision about a sign-in or sign-up attempt.
- `"account_deleted"`
User-initiated self-service account deletion.
- `"admin_api_key_created"`
An admin API key was created.
- `"admin_api_key_deleted"`
An admin API key was deleted.
- `"admin_api_key_updated"`
An admin API key was updated (renamed or activated/deactivated).
- `"admin_connector_request_resolved"`
Admin approved or dismissed pending member requests to enable an MCP connector.
- `"admin_request_created"`
Admin request created by an org member (seat upgrade, limit increase, join org, end-user invite).
- `"age_verified"`
User age was verified.
- `"anonymous_mobile_login_attempted"`
Anonymous mobile login was attempted.
- `"api_key_created"`
Activity logged when a new API key is created.
- `"audit_log_export_accessed"`
Audit log export file was accessed/downloaded via signed URL.
- `"audit_log_export_started"`
Audit log export was initiated.
- `"billing_emails_updated"`
The organization's billing email recipients were updated.
- `"ccr_agent_created"`
A Claude Code agent was created.
- `"ccr_agent_deleted"`
A Claude Code agent was deleted.
- `"ccr_agent_proxy_credential_created"`
A Claude Code agent proxy credential was created. Credentials hold the secrets the agent proxy injects into requests Claude Code sessions send to approved external services; each credential belongs to an agent proxy profile. Audit events carry only credential names and settings, never the secret material itself.
- `"ccr_agent_proxy_credential_deleted"`
A Claude Code agent proxy credential was deleted. Its secret material was removed and can no longer be sent to any host.
- `"ccr_agent_proxy_credential_rotated"`
A Claude Code agent proxy credential's secret material was replaced. The replacement keeps the same name, profile, and allowed hosts under a new credential identifier, and everything that referenced the old credential now uses the replacement.
- `"ccr_agent_proxy_credential_updated"`
A Claude Code agent proxy credential's settings were updated. Only the display name and the allowed host patterns can be updated; the secret material can only be replaced through a rotation.
- `"ccr_agent_proxy_destination_deleted"`
An agent proxy destination was deleted.
- `"ccr_agent_proxy_network_events_listed"`
A Claude Code network activity export was accessed for the given hour.
- `"ccr_agent_proxy_profile_bound"`
A Claude Code agent proxy profile was bound to a scope, applying its policy to Claude Code sessions in that scope.
- `"ccr_agent_proxy_profile_created"`
A Claude Code agent proxy profile was created. Agent proxy profiles are named, reusable bundles of access policy that administrators bind to parts of the organization.
- `"ccr_agent_proxy_profile_deleted"`
A Claude Code agent proxy profile was deleted, removing its policy from everything it was bound to.
- `"ccr_agent_proxy_profile_unbound"`
A Claude Code agent proxy profile was unbound from a scope, removing its policy from Claude Code sessions in that scope.
- `"ccr_agent_proxy_profile_updated"`
A Claude Code agent proxy profile's configuration was updated.
- `"ccr_agent_proxy_provisioning_credential_rejected"`
An organization owner rejected a credential that a teammate submitted via an agent proxy provisioning link: the credential and its disabled rule were deleted and the link was revoked. The actor is the owner; the submitter is recorded for attribution.
- `"ccr_agent_proxy_provisioning_link_enabled"`
An organization owner enabled a credential that a teammate submitted via an agent proxy provisioning link: the disabled rule created at submission was switched to enforce, so the credential now takes traffic. The actor is the owner; the submitter is the actor on the prior ccr_agent_proxy_provisioning_link_submitted event.
- `"ccr_agent_proxy_provisioning_link_generated"`
An organization owner generated a one-time agent proxy credential provisioning link so a teammate can submit a credential into the target agent proxy profile without holding the owner role.
- `"ccr_agent_proxy_provisioning_link_revoked"`
An organization owner revoked an unfilled agent proxy provisioning link.
- `"ccr_agent_proxy_provisioning_link_submitted"`
A teammate submitted a credential via an agent proxy provisioning link. The credential and a disabled rule are created; the credential takes traffic only after an organization owner enables the submitted credential. This event records the link-mediated lifecycle; the credential itself additionally emits ccr_agent_proxy_credential_created.
- `"ccr_agent_proxy_rule_deleted"`
An agent proxy rule was deleted.
- `"ccr_agent_slack_access_scope_created"`
A Claude Code agent was granted access to read or write in an additional Slack channel beyond the one it is assigned to.
- `"ccr_agent_slack_access_scope_deleted"`
A Claude Code agent's access to an additional Slack channel was revoked.
- `"ccr_agent_slack_binding_created"`
A Claude Code agent was assigned to a Slack channel or workspace as its dedicated agent.
- `"ccr_agent_slack_binding_deleted"`
A Claude Code agent's assignment to a Slack channel or workspace was removed.
- `"ccr_agent_updated"`
A Claude Code agent's configuration was updated. Also emitted with updated_fields ["is_virtual"] alone when an auto-provisioned agent is promoted to a configured one, whether by an update request targeting it or by binding an agent proxy profile to it.
- `"ccr_role_channel_assignment_deleted"`
CcrRoleChannelAssignmentDeleted is emitted when an org owner/admin removes an RBAC role's channel assignment row (the role reverts to granting zero channels).
- `"ccr_role_channel_assignment_updated"`
CcrRoleChannelAssignmentUpdated is emitted when an org owner/admin sets or replaces the list of Slack channels an RBAC role's holders may configure via the delegated Claude-in-Slack channel-manage surface.
- `"claude_artifact_access_failed"`
An attempt to access an artifact failed.
- `"claude_artifact_created"`
An artifact was created.
- `"claude_artifact_published"`
An artifact was published and made publicly accessible.
- `"claude_artifact_sharing_updated"`
An artifact's sharing settings were updated.
- `"claude_artifact_viewed"`
An artifact was viewed.
- `"claude_chat_access_failed"`
A user was denied access to a Claude.ai chat conversation.
- `"claude_chat_created"`
User created a chat.
- `"claude_chat_deleted"`
A user deleted a Claude.ai chat conversation.
- `"claude_chat_deletion_failed"`
A request to delete a Claude.ai chat conversation failed.
- `"claude_chat_settings_updated"`
User updated the settings for a conversation.
- `"claude_chat_snapshot_created"`
User created/shared a chat snapshot.
- `"claude_chat_snapshot_deleted"`
User deleted/unshared a chat snapshot.
- `"claude_chat_snapshot_viewed"`
User viewed a chat snapshot (authenticated or public/unauthenticated).
- `"claude_chat_sync_source_created"`
A sync source was connected for syncing external content into Claude chats.
- `"claude_chat_sync_source_deleted"`
A sync source was disconnected from Claude chats.
- `"claude_chat_sync_source_updated"`
A Claude chat sync source's configuration was updated.
- `"claude_chat_updated"`
User updated the chat metadata (e.g name, model).
- `"claude_chat_viewed"`
A user viewed a Claude.ai chat conversation.
- `"claude_code_credential_revoked"`
A Claude Code credential (runner pool key, runner token, or session token) was revoked. The credential itself is never recorded.
- `"claude_code_review_config_updated"`
Claude Code Review configuration was enabled/disabled for an org.
- `"claude_code_review_repository_added"`
A repository was added to org-level Claude Code Review configuration.
- `"claude_code_review_repository_removed"`
A repository was removed from org-level Claude Code Review configuration.
- `"claude_code_review_repository_updated"`
A Claude Code Review repository configuration was updated.
- `"claude_code_runner_deleted"`
A self-hosted runner was forcibly removed from its pool. Sessions assigned to the runner were returned to the pool queue, unless a session had already been requeued repeatedly, in which case it was marked stuck instead of being requeued again.
- `"claude_code_runner_pool_created"`
A self-hosted runner pool for Claude Code was created.
- `"claude_code_runner_pool_deleted"`
A self-hosted runner pool was deleted.
- `"claude_code_runner_pool_secret_minted"`
A registration key for a self-hosted runner pool was minted. Runners present this key to join the pool. The key itself is never recorded.
- `"claude_code_runner_pool_session_queue_updated"`
An admin changed a session's position in its self-hosted runner pool's queue: requeued it onto a different runner, dismissed it from the queue, or re-admitted it for another runner provisioning attempt.
- `"claude_code_runner_pool_updated"`
A self-hosted runner pool's settings were updated.
- `"claude_code_security_center_config_updated"`
Claude Code Security Center scanning was enabled/disabled for an org.
- `"claude_code_security_scan_cancelled"`
In-flight Claude Code Security scans were cancelled for a project.
Cut at 300 lines. The page has the rest.
api/compliance/apps First recorded · 4097 lines, first recorded
# Apps # Chats ## List chats ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Delete chat ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Chat List Response ### Chat Delete Response # Messages ## Get chat messages ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Message List Response # Files ## Get file metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Delete file ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Download file content ### Path Parameters ### Header Parameters ### Example ## Domain Types ### File Retrieve Response ### File Delete Response # Generated Files ## Get Claude-generated file metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Download a Claude-generated file ### Path Parameters ### Header Parameters ### Example ## Domain Types ### Generated File Retrieve Response # Projects ## List projects ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Get project details ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Delete project ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Project List Response ### Project Retrieve Response ### Project Delete Response # Attachments ## List project attachments ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Attachment List Response # Collaborators ## List project collaborators ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Collaborator List Response # Documents ## Get project document content ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Get project document metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Delete project document ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Document Retrieve Response ### Document Metadata Response ### Document Delete Response # Artifacts ## Get artifact metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Download artifact content ### Path Parameters ### Header Parameters ### Example ## Domain Types ### Artifact Retrieve Response # Sessions # Local ## List local sessions ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Retrieve a local session ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Local List Response ### Local Retrieve Response # Messages ## Retrieve local session messages ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Message List Response # Remote ## List remote sessions ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Remote List Response # Messages ## Retrieve remote session messages ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Message List Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Apps
url: https://platform.claude.com/docs/en/api/compliance/apps
---
# Apps
# Chats
## List chats
**get** `/v1/compliance/apps/chats`
Lists chat metadata with filtering capabilities for targeted
compliance review. Results are sorted chronologically (time ascending)
by the `order_by` key, with ties broken by id.
### Query Parameters
- `after_id: optional string`
Pagination cursor for retrieving the next page of results. To paginate, pass the `last_id` value from the most recent response. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
- `before_id: optional string`
Pagination cursor for retrieving the previous page of results. To paginate, pass the `first_id` value from the most recent response. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
- `created_at: optional object { gt, gte, lt, lte }`
- `gt: optional string`
Filter chats created after this time (RFC 3339 format)
- `gte: optional string`
Filter chats created at or after this time (RFC 3339 format)
- `lt: optional string`
Filter chats created before this time (RFC 3339 format)
- `lte: optional string`
Filter chats created at or before this time (RFC 3339 format)
- `limit: optional number`
Maximum results (default: 100, max: 1000)
- `order_by: optional "created_at" or "updated_at"`
Sort key for results. `created_at` (default) sorts by chat creation time. `updated_at` sorts by last update time and is only supported for org-wide queries (omit user_ids[]). For org-wide queries, any time filter must match the sort key: `created_at.*` filters require `order_by=created_at`, and `updated_at.*` filters require `order_by=updated_at`.
- `"created_at"`
- `"updated_at"`
- `organization_ids: optional array of string`
Filter by organization IDs (accepts `org_...` or organization UUID). Enumerate IDs via `GET /v1/compliance/organizations`.
- `project_ids: optional array of string`
Filter by project IDs (accepts `claude_proj_...`). Enumerate IDs via `GET /v1/compliance/apps/projects`. Requires user_ids[]; not supported for org-wide queries.
- `updated_at: optional object { gt, gte, lt, lte }`
- `gt: optional string`
Filter chats updated after this time (RFC 3339 format)
- `gte: optional string`
Filter chats updated at or after this time (RFC 3339 format)
- `lt: optional string`
Filter chats updated before this time (RFC 3339 format)
- `lte: optional string`
Filter chats updated at or before this time (RFC 3339 format)
- `user_ids: optional array of string`
Filter to chats created by specific users (max 10 per request). Omit for an org-wide query. Enumerate IDs via `GET /v1/compliance/organizations/{org_uuid}/users`.
### Header Parameters
- `"x-api-key": optional string`
### Returns
- `data: array of object { id, created_at, deleted_at, 8 more }`
List of chat metadata sorted chronologically by the request's `order_by` key (default `created_at`), tie break by id
- `id: string`
Chat ID
- `created_at: string`
Creation timestamp
- `deleted_at: string or null`
Deletion timestamp if deleted
- `href: string`
URL to view this chat in claude.ai
- `model: string or null`
Model selected for this chat (e.g. 'claude-opus-4-7'). May be null for legacy chats that never had a model recorded.
- `name: string`
Chat name/title
- `organization_id: string`
Organization ID this chat belongs to
- `organization_uuid: string`
Organization UUID this chat belongs to
- `project_id: string or null`
Project ID this chat belongs to
- `updated_at: string`
Last update timestamp
- `user: object { id, email_address } or null`
User information for compliance responses.
- `id: string`
User identifier
- `email_address: string`
User's email address
- `first_id: string or null`
Opaque pagination cursor for the first chat in the current result set. Pass as `before_id` on the next request to page backwards. Backward pagination is only supported for per-user queries (`user_ids[]` set); org-wide queries do not accept `before_id`. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
- `has_more: boolean`
Whether more records exist beyond the current result set
- `last_id: string or null`
Opaque pagination cursor for the last chat in the current result set. Pass as `after_id` on the next request to page forwards. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
### Example
```http
curl https://api.anthropic.com/v1/compliance/apps/chats \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
```
#### Response
```json
{
"data": [
{
"id": "claude_chat_abc123",
"name": "Product Requirements Discussion",
"created_at": "2025-06-07T08:09:10Z",
"updated_at": "2025-06-07T09:10:11Z",
"organization_id": "org_abc123",
"organization_uuid": "abcdef0123-4567-89ab-cdef-0123456789ab",
"project_id": "claude_proj_xyz789",
"model": "claude-opus-4-7",
"user": {
"id": "user_xyz456",
"email_address": "[email protected]"
},
"href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789"
}
],
"has_more": false,
"first_id": "eyJrIjogImNyZWF0ZWRfYXQiLCAidCI6ICIyMDI1LTA2LTA3VDA4OjA5OjEwKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLTIzNDUtNjc4OS1hYmNkLWVmMDEyMzQ1Njc4OSJ9",
"last_id": "eyJrIjogImNyZWF0ZWRfYXQiLCAidCI6ICIyMDI1LTA2LTA3VDA4OjA5OjEwKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLTIzNDUtNjc4OS1hYmNkLWVmMDEyMzQ1Njc4OSJ9"
}
```
## Delete chat
**delete** `/v1/compliance/apps/chats/{claude_chat_id}`
Permanently deletes a chat and all associated messages and
files. This is a destructive operation that cannot be undone.
### Path Parameters
- `claude_chat_id: string`
The chat ID (tagged ID, e.g., claude_chat_abc123)
### Header Parameters
- `"x-api-key": optional string`
### Returns
- `id: string`
The ID of the Claude chat that was deleted
- `type: optional "claude_chat_deleted"`
Constant string confirming deletion
- `"claude_chat_deleted"`
### Example
```http
curl https://api.anthropic.com/v1/compliance/apps/chats/$CLAUDE_CHAT_ID \
-X DELETE \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
```
#### Response
```json
{
"id": "claude_chat_abc123",
"type": "claude_chat_deleted"
}
```
## Domain Types
### Chat List Response
- `ChatListResponse object { id, created_at, deleted_at, 8 more }`
Chat metadata for listing chats (without messages).
- `id: string`
Chat ID
- `created_at: string`
Creation timestamp
- `deleted_at: string or null`
Deletion timestamp if deleted
- `href: string`
URL to view this chat in claude.ai
- `model: string or null`
Model selected for this chat (e.g. 'claude-opus-4-7'). May be null for legacy chats that never had a model recorded.
- `name: string`
Chat name/title
- `organization_id: string`
Organization ID this chat belongs to
- `organization_uuid: string`
Organization UUID this chat belongs to
- `project_id: string or null`
Project ID this chat belongs to
- `updated_at: string`
Last update timestamp
- `user: object { id, email_address } or null`
User information for compliance responses.
- `id: string`
User identifier
- `email_address: string`
User's email address
Cut at 300 lines. The page has the rest.
api/compliance/apps/artifacts First recorded · 151 lines, first recorded
# Artifacts ## Get artifact metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Download artifact content ### Path Parameters ### Header Parameters ### Example ## Domain Types ### Artifact Retrieve Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Artifacts
url: https://platform.claude.com/docs/en/api/compliance/apps/artifacts
---
# Artifacts
## Get artifact metadata
**get** `/v1/compliance/apps/artifacts/{artifact_version_id}`
Returns metadata for an artifact version, without the content body.
Use the sibling `/content` endpoint to fetch the artifact text. The
`md5` and `size_bytes` fields here are computed over the UTF-8
encoding of that text, so a DLP consumer can dedupe or match hashes
without downloading every artifact.
### Path Parameters
- `artifact_version_id: string`
The artifact version ID (tagged ID, e.g., claude_artifact_version_abc123)
### Header Parameters
- `"x-api-key": optional string`
### Returns
- `id: string`
Artifact ID e.g. 'claude_artifact_abc123'
- `artifact_type: string or null`
MIME-like artifact type e.g. 'application/vnd.ant.code'
- `claude_chat_id: string`
The chat this artifact belongs to
- `created_at: string`
Artifact version creation timestamp
- `md5: string`
Lowercase hex MD5 of the artifact content (UTF-8 encoded). Matches the `content` field returned by the sibling `/content` endpoint.
- `size_bytes: number`
Size in bytes of the artifact content (UTF-8 encoded)
- `title: string or null`
Artifact title
- `version_id: string`
Artifact version ID e.g. 'claude_artifact_version_abc123'
### Example
```http
curl https://api.anthropic.com/v1/compliance/apps/artifacts/$ARTIFACT_VERSION_ID \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
```
#### Response
```json
{
"id": "id",
"artifact_type": "artifact_type",
"claude_chat_id": "claude_chat_id",
"created_at": "2019-12-27T18:11:19.117Z",
"md5": "md5",
"size_bytes": 0,
"title": "title",
"version_id": "version_id"
}
```
## Download artifact content
**get** `/v1/compliance/apps/artifacts/{artifact_version_id}/content`
Download the content of an artifact version for compliance purposes.
Returns the full text content of the artifact version.
### Path Parameters
- `artifact_version_id: string`
The artifact version ID (tagged ID, e.g., claude_artifact_version_abc123)
### Header Parameters
- `"x-api-key": optional string`
### Example
```http
curl https://api.anthropic.com/v1/compliance/apps/artifacts/$ARTIFACT_VERSION_ID/content \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
```
## Domain Types
### Artifact Retrieve Response
- `ArtifactRetrieveResponse object { id, artifact_type, claude_chat_id, 5 more }`
Artifact version metadata for GET /v1/compliance/apps/artifacts/{artifact_version_id}.
Returns metadata only. Use the sibling `/content` endpoint to fetch the
artifact body.
- `id: string`
Artifact ID e.g. 'claude_artifact_abc123'
- `artifact_type: string or null`
MIME-like artifact type e.g. 'application/vnd.ant.code'
- `claude_chat_id: string`
The chat this artifact belongs to
- `created_at: string`
Artifact version creation timestamp
- `md5: string`
Lowercase hex MD5 of the artifact content (UTF-8 encoded). Matches the `content` field returned by the sibling `/content` endpoint.
- `size_bytes: number`
Size in bytes of the artifact content (UTF-8 encoded)
- `title: string or null`
Artifact title
- `version_id: string`
Artifact version ID e.g. 'claude_artifact_version_abc123'
api/compliance/apps/artifacts/download First recorded · 29 lines, first recorded
## Download artifact content ### Path Parameters ### Header Parameters ### Example
The first capture of this source. The page was already there, and this is what it said.
---
title: Download artifact content
url: https://platform.claude.com/docs/en/api/compliance/apps/artifacts/download
---
## Download artifact content
**get** `/v1/compliance/apps/artifacts/{artifact_version_id}/content`
Download the content of an artifact version for compliance purposes.
Returns the full text content of the artifact version.
### Path Parameters
- `artifact_version_id: string`
The artifact version ID (tagged ID, e.g., claude_artifact_version_abc123)
### Header Parameters
- `"x-api-key": optional string`
### Example
```http
curl https://api.anthropic.com/v1/compliance/apps/artifacts/$ARTIFACT_VERSION_ID/content \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
```
api/compliance/apps/artifacts/retrieve First recorded · 81 lines, first recorded
## Get artifact metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Get artifact metadata
url: https://platform.claude.com/docs/en/api/compliance/apps/artifacts/retrieve
---
## Get artifact metadata
**get** `/v1/compliance/apps/artifacts/{artifact_version_id}`
Returns metadata for an artifact version, without the content body.
Use the sibling `/content` endpoint to fetch the artifact text. The
`md5` and `size_bytes` fields here are computed over the UTF-8
encoding of that text, so a DLP consumer can dedupe or match hashes
without downloading every artifact.
### Path Parameters
- `artifact_version_id: string`
The artifact version ID (tagged ID, e.g., claude_artifact_version_abc123)
### Header Parameters
- `"x-api-key": optional string`
### Returns
- `id: string`
Artifact ID e.g. 'claude_artifact_abc123'
- `artifact_type: string or null`
MIME-like artifact type e.g. 'application/vnd.ant.code'
- `claude_chat_id: string`
The chat this artifact belongs to
- `created_at: string`
Artifact version creation timestamp
- `md5: string`
Lowercase hex MD5 of the artifact content (UTF-8 encoded). Matches the `content` field returned by the sibling `/content` endpoint.
- `size_bytes: number`
Size in bytes of the artifact content (UTF-8 encoded)
- `title: string or null`
Artifact title
- `version_id: string`
Artifact version ID e.g. 'claude_artifact_version_abc123'
### Example
```http
curl https://api.anthropic.com/v1/compliance/apps/artifacts/$ARTIFACT_VERSION_ID \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
```
#### Response
```json
{
"id": "id",
"artifact_type": "artifact_type",
"claude_chat_id": "claude_chat_id",
"created_at": "2019-12-27T18:11:19.117Z",
"md5": "md5",
"size_bytes": 0,
"title": "title",
"version_id": "version_id"
}
```
api/compliance/apps/chats First recorded · 1268 lines, first recorded
# Chats ## List chats ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Delete chat ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Chat List Response ### Chat Delete Response # Messages ## Get chat messages ### Path Parameters ### Query Parameters ### Header Parameters ### Returns ### Example #### Response ## Domain Types ### Message List Response # Files ## Get file metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Delete file ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Download file content ### Path Parameters ### Header Parameters ### Example ## Domain Types ### File Retrieve Response ### File Delete Response # Generated Files ## Get Claude-generated file metadata ### Path Parameters ### Header Parameters ### Returns ### Example #### Response ## Download a Claude-generated file ### Path Parameters ### Header Parameters ### Example ## Domain Types ### Generated File Retrieve Response
The first capture of this source. The page was already there, and this is what it said.
---
title: Chats
url: https://platform.claude.com/docs/en/api/compliance/apps/chats
---
# Chats
## List chats
**get** `/v1/compliance/apps/chats`
Lists chat metadata with filtering capabilities for targeted
compliance review. Results are sorted chronologically (time ascending)
by the `order_by` key, with ties broken by id.
### Query Parameters
- `after_id: optional string`
Pagination cursor for retrieving the next page of results. To paginate, pass the `last_id` value from the most recent response. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
- `before_id: optional string`
Pagination cursor for retrieving the previous page of results. To paginate, pass the `first_id` value from the most recent response. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
- `created_at: optional object { gt, gte, lt, lte }`
- `gt: optional string`
Filter chats created after this time (RFC 3339 format)
- `gte: optional string`
Filter chats created at or after this time (RFC 3339 format)
- `lt: optional string`
Filter chats created before this time (RFC 3339 format)
- `lte: optional string`
Filter chats created at or before this time (RFC 3339 format)
- `limit: optional number`
Maximum results (default: 100, max: 1000)
- `order_by: optional "created_at" or "updated_at"`
Sort key for results. `created_at` (default) sorts by chat creation time. `updated_at` sorts by last update time and is only supported for org-wide queries (omit user_ids[]). For org-wide queries, any time filter must match the sort key: `created_at.*` filters require `order_by=created_at`, and `updated_at.*` filters require `order_by=updated_at`.
- `"created_at"`
- `"updated_at"`
- `organization_ids: optional array of string`
Filter by organization IDs (accepts `org_...` or organization UUID). Enumerate IDs via `GET /v1/compliance/organizations`.
- `project_ids: optional array of string`
Filter by project IDs (accepts `claude_proj_...`). Enumerate IDs via `GET /v1/compliance/apps/projects`. Requires user_ids[]; not supported for org-wide queries.
- `updated_at: optional object { gt, gte, lt, lte }`
- `gt: optional string`
Filter chats updated after this time (RFC 3339 format)
- `gte: optional string`
Filter chats updated at or after this time (RFC 3339 format)
- `lt: optional string`
Filter chats updated before this time (RFC 3339 format)
- `lte: optional string`
Filter chats updated at or before this time (RFC 3339 format)
- `user_ids: optional array of string`
Filter to chats created by specific users (max 10 per request). Omit for an org-wide query. Enumerate IDs via `GET /v1/compliance/organizations/{org_uuid}/users`.
### Header Parameters
- `"x-api-key": optional string`
### Returns
- `data: array of object { id, created_at, deleted_at, 8 more }`
List of chat metadata sorted chronologically by the request's `order_by` key (default `created_at`), tie break by id
- `id: string`
Chat ID
- `created_at: string`
Creation timestamp
- `deleted_at: string or null`
Deletion timestamp if deleted
- `href: string`
URL to view this chat in claude.ai
- `model: string or null`
Model selected for this chat (e.g. 'claude-opus-4-7'). May be null for legacy chats that never had a model recorded.
- `name: string`
Chat name/title
- `organization_id: string`
Organization ID this chat belongs to
- `organization_uuid: string`
Organization UUID this chat belongs to
- `project_id: string or null`
Project ID this chat belongs to
- `updated_at: string`
Last update timestamp
- `user: object { id, email_address } or null`
User information for compliance responses.
- `id: string`
User identifier
- `email_address: string`
User's email address
- `first_id: string or null`
Opaque pagination cursor for the first chat in the current result set. Pass as `before_id` on the next request to page backwards. Backward pagination is only supported for per-user queries (`user_ids[]` set); org-wide queries do not accept `before_id`. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
- `has_more: boolean`
Whether more records exist beyond the current result set
- `last_id: string or null`
Opaque pagination cursor for the last chat in the current result set. Pass as `after_id` on the next request to page forwards. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
### Example
```http
curl https://api.anthropic.com/v1/compliance/apps/chats \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
```
#### Response
```json
{
"data": [
{
"id": "claude_chat_abc123",
"name": "Product Requirements Discussion",
"created_at": "2025-06-07T08:09:10Z",
"updated_at": "2025-06-07T09:10:11Z",
"organization_id": "org_abc123",
"organization_uuid": "abcdef0123-4567-89ab-cdef-0123456789ab",
"project_id": "claude_proj_xyz789",
"model": "claude-opus-4-7",
"user": {
"id": "user_xyz456",
"email_address": "[email protected]"
},
"href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789"
}
],
"has_more": false,
"first_id": "eyJrIjogImNyZWF0ZWRfYXQiLCAidCI6ICIyMDI1LTA2LTA3VDA4OjA5OjEwKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLTIzNDUtNjc4OS1hYmNkLWVmMDEyMzQ1Njc4OSJ9",
"last_id": "eyJrIjogImNyZWF0ZWRfYXQiLCAidCI6ICIyMDI1LTA2LTA3VDA4OjA5OjEwKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLTIzNDUtNjc4OS1hYmNkLWVmMDEyMzQ1Njc4OSJ9"
}
```
## Delete chat
**delete** `/v1/compliance/apps/chats/{claude_chat_id}`
Permanently deletes a chat and all associated messages and
files. This is a destructive operation that cannot be undone.
### Path Parameters
- `claude_chat_id: string`
The chat ID (tagged ID, e.g., claude_chat_abc123)
### Header Parameters
- `"x-api-key": optional string`
### Returns
- `id: string`
The ID of the Claude chat that was deleted
- `type: optional "claude_chat_deleted"`
Constant string confirming deletion
- `"claude_chat_deleted"`
### Example
```http
curl https://api.anthropic.com/v1/compliance/apps/chats/$CLAUDE_CHAT_ID \
-X DELETE \
-H "Authorization: Bearer $ANTHROPIC_COMPLIANCE_API_KEY"
```
#### Response
```json
{
"id": "claude_chat_abc123",
"type": "claude_chat_deleted"
}
```
## Domain Types
### Chat List Response
- `ChatListResponse object { id, created_at, deleted_at, 8 more }`
Chat metadata for listing chats (without messages).
- `id: string`
Chat ID
- `created_at: string`
Creation timestamp
- `deleted_at: string or null`
Deletion timestamp if deleted
- `href: string`
URL to view this chat in claude.ai
- `model: string or null`
Model selected for this chat (e.g. 'claude-opus-4-7'). May be null for legacy chats that never had a model recorded.
- `name: string`
Chat name/title
- `organization_id: string`
Organization ID this chat belongs to
- `organization_uuid: string`
Organization UUID this chat belongs to
- `project_id: string or null`
Project ID this chat belongs to
- `updated_at: string`
Last update timestamp
- `user: object { id, email_address } or null`
User information for compliance responses.
- `id: string`
User identifier
- `email_address: string`
User's email address
### Chat Delete Response
Cut at 300 lines. The page has the rest.