Claude Platform Docs

Credentials

Create Credential
POST/v1/vaults/{vault_id}/credentials
List Credentials
GET/v1/vaults/{vault_id}/credentials
Get Credential
GET/v1/vaults/{vault_id}/credentials/{credential_id}
Update Credential
POST/v1/vaults/{vault_id}/credentials/{credential_id}
Delete Credential
DELETE/v1/vaults/{vault_id}/credentials/{credential_id}
Archive Credential
POST/v1/vaults/{vault_id}/credentials/{credential_id}/archive
Validate Credential
POST/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate
Models
BetaManagedAgentsCredential object{ type: "vault_credential", id, archived_at, 6 more }

A credential stored in a vault. Sensitive fields are never returned in responses.

One of the following:
BetaManagedAgentsUnrestrictedCredentialNetworkingParams object{ type: "unrestricted" }

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"
BetaManagedAgentsLimitedCredentialNetworkingParams object{ type: "limited", allowed_hosts }

Substitute the secret only on requests to the listed hosts.

type: "limited"
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.

BetaManagedAgentsCredentialValidation object{ type: "vault_credential_validation", credential_id, has_refresh_token, 5 more }

Result of live-probing a credential against its configured MCP server.

BetaManagedAgentsCredentialValidationStatus = "valid" or "invalid" or "unknown"

Overall verdict of a credential validation probe.

One of the following:
"valid"
"invalid"
"unknown"
BetaManagedAgentsDeletedCredential object{ type: "vault_credential_deleted", id }

Confirmation of a deleted credential.

type: "vault_credential_deleted"
id: string

Unique identifier of the deleted credential.

BetaManagedAgentsEnvironmentVariableAuthResponse object{ type: "environment_variable", injection_location, networking, secret_name }

Environment variable credential details. The secret value is never returned.

BetaManagedAgentsEnvironmentVariableCreateParams object{ type: "environment_variable", networking, secret_name, 2 more }

Parameters for creating an environment variable credential.

BetaManagedAgentsEnvironmentVariableUpdateParams object{ type: "environment_variable", injection_location, networking, secret_value }

Parameters for updating an environment variable credential. secret_name is immutable.

BetaManagedAgentsInjectionLocationParams object{ body, header }

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.

BetaManagedAgentsInjectionLocationResponse object{ body, header }

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.

BetaManagedAgentsInjectionLocationUpdateParams object{ body, header }

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.

BetaManagedAgentsLimitedCredentialNetworkingParams object{ type: "limited", allowed_hosts }

Substitute the secret only on requests to the listed hosts.

type: "limited"
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.

BetaManagedAgentsLimitedCredentialNetworkingResponse object{ type: "limited", allowed_hosts }

The secret is substituted only on requests to the listed hosts.

type: "limited"
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.

BetaManagedAgentsMCPOAuthAuthResponse object{ type: "mcp_oauth", mcp_server_url, expires_at, refresh }

OAuth credential details for an MCP server.

type: "mcp_oauth"
mcp_server_url: string

URL of the MCP server this credential authenticates against.

expires_at: optional string or null

A timestamp in RFC 3339 format

formatdate-time
refresh: optional BetaManagedAgentsMCPOAuthRefreshResponse { client_id, token_endpoint, token_endpoint_auth, 2 more } or null

OAuth refresh token configuration returned in credential responses.

BetaManagedAgentsMCPOAuthCreateParams object{ type: "mcp_oauth", access_token, mcp_server_url, 2 more }

Parameters for creating an MCP OAuth credential.

type: "mcp_oauth"
access_token: string

OAuth access token.

minLength1
maxLength8192
mcp_server_url: string

URL of the MCP server this credential authenticates against.

minLength1
maxLength2047
expires_at: optional string or null

A timestamp in RFC 3339 format

formatdate-time
refresh: optional BetaManagedAgentsMCPOAuthRefreshParams { client_id, refresh_token, token_endpoint, 3 more } or null

OAuth refresh token parameters for creating a credential with refresh support.

BetaManagedAgentsMCPOAuthRefreshParams object{ client_id, refresh_token, token_endpoint, 3 more }

OAuth refresh token parameters for creating a credential with refresh support.

BetaManagedAgentsMCPOAuthRefreshResponse object{ client_id, token_endpoint, token_endpoint_auth, 2 more }

OAuth refresh token configuration returned in credential responses.

BetaManagedAgentsMCPOAuthRefreshUpdateParams object{ refresh_token, scope, token_endpoint_auth }

Parameters for updating OAuth refresh token configuration.

BetaManagedAgentsMCPOAuthUpdateParams object{ type: "mcp_oauth", access_token, expires_at, refresh }

Parameters for updating an MCP OAuth credential. The mcp_server_url is immutable.

type: "mcp_oauth"
access_token: optional string or null

Updated OAuth access token.

minLength1
maxLength8192
expires_at: optional string or null

A timestamp in RFC 3339 format

formatdate-time
refresh: optional BetaManagedAgentsMCPOAuthRefreshUpdateParams { refresh_token, scope, token_endpoint_auth } or null

Parameters for updating OAuth refresh token configuration.

BetaManagedAgentsMCPProbe object{ http_response, method }

The failing step of an MCP validation probe.

http_response: BetaManagedAgentsRefreshHTTPResponse { body, body_truncated, content_type, status_code } 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.

formatint32
method: string

The MCP method that failed (for example initialize or tools/list).

BetaManagedAgentsRefreshHTTPResponse object{ body, body_truncated, content_type, status_code }

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.

formatint32
BetaManagedAgentsRefreshObject object{ http_response, status }

Outcome of a refresh-token exchange attempted during credential validation.

http_response: BetaManagedAgentsRefreshHTTPResponse { body, body_truncated, content_type, status_code } 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.

formatint32
status: "succeeded" or "failed" or "connect_error" or "no_refresh_token"

Outcome of a refresh-token exchange attempted during credential validation.

One of the following:
"succeeded"
"failed"
"connect_error"
"no_refresh_token"
BetaManagedAgentsStaticBearerAuthResponse object{ type: "static_bearer", mcp_server_url }

Static bearer token credential details for an MCP server.

type: "static_bearer"
mcp_server_url: string

URL of the MCP server this credential authenticates against.

BetaManagedAgentsStaticBearerCreateParams object{ type: "static_bearer", token, mcp_server_url }

Parameters for creating a static bearer token credential.

type: "static_bearer"
token: string

Static bearer token value.

minLength1
maxLength8192
mcp_server_url: string

URL of the MCP server this credential authenticates against.

minLength1
maxLength2047
BetaManagedAgentsStaticBearerUpdateParams object{ type: "static_bearer", token }

Parameters for updating a static bearer token credential. The mcp_server_url is immutable.

type: "static_bearer"
token: optional string or null

Updated static bearer token value.

minLength1
maxLength8192
BetaManagedAgentsTokenEndpointAuthBasicParam object{ type: "client_secret_basic", client_secret }

Token endpoint uses HTTP Basic authentication with client credentials.

type: "client_secret_basic"
client_secret: string

OAuth client secret.

minLength1
maxLength512
BetaManagedAgentsTokenEndpointAuthBasicResponse object{ type: "client_secret_basic" }

Token endpoint uses HTTP Basic authentication with client credentials.

type: "client_secret_basic"
BetaManagedAgentsTokenEndpointAuthBasicUpdateParam object{ type: "client_secret_basic", client_secret }

Updated HTTP Basic authentication parameters for the token endpoint.

type: "client_secret_basic"
client_secret: optional string or null

Updated OAuth client secret.

minLength1
maxLength512
BetaManagedAgentsTokenEndpointAuthNoneParam object{ type: "none" }

Token endpoint requires no client authentication.

type: "none"
BetaManagedAgentsTokenEndpointAuthNoneResponse object{ type: "none" }

Token endpoint requires no client authentication.

type: "none"
BetaManagedAgentsTokenEndpointAuthPostParam object{ type: "client_secret_post", client_secret }

Token endpoint uses POST body authentication with client credentials.

type: "client_secret_post"
client_secret: string

OAuth client secret.

minLength1
maxLength512
BetaManagedAgentsTokenEndpointAuthPostResponse object{ type: "client_secret_post" }

Token endpoint uses POST body authentication with client credentials.

type: "client_secret_post"
BetaManagedAgentsTokenEndpointAuthPostUpdateParam object{ type: "client_secret_post", client_secret }

Updated POST body authentication parameters for the token endpoint.

type: "client_secret_post"
client_secret: optional string or null

Updated OAuth client secret.

minLength1
maxLength512
BetaManagedAgentsUnrestrictedCredentialNetworkingParams object{ type: "unrestricted" }

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"
BetaManagedAgentsUnrestrictedCredentialNetworkingResponse object{ type: "unrestricted" }

The secret is substituted on any host the session's Environment network policy permits egress to.

type: "unrestricted"