Claude Platform Docs

Credentials

Create Credential
beta.vaults.credentials.create(vault_id, **kwargs) -> BetaManagedAgentsCredential
POST/v1/vaults/{vault_id}/credentials
List Credentials
beta.vaults.credentials.list(vault_id, **kwargs) -> PageCursor<BetaManagedAgentsCredential>
GET/v1/vaults/{vault_id}/credentials
Get Credential
beta.vaults.credentials.retrieve(credential_id, **kwargs) -> BetaManagedAgentsCredential
GET/v1/vaults/{vault_id}/credentials/{credential_id}
Update Credential
beta.vaults.credentials.update(credential_id, **kwargs) -> BetaManagedAgentsCredential
POST/v1/vaults/{vault_id}/credentials/{credential_id}
Delete Credential
beta.vaults.credentials.delete(credential_id, **kwargs) -> BetaManagedAgentsDeletedCredential
DELETE/v1/vaults/{vault_id}/credentials/{credential_id}
Archive Credential
beta.vaults.credentials.archive(credential_id, **kwargs) -> BetaManagedAgentsCredential
POST/v1/vaults/{vault_id}/credentials/{credential_id}/archive
Validate Credential
beta.vaults.credentials.mcp_oauth_validate(credential_id, **kwargs) -> BetaManagedAgentsCredentialValidation
POST/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate
Models
class BetaManagedAgentsCredential { id, archived_at, auth, 6 more }

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

BetaManagedAgentsCredentialNetworkingParams = BetaManagedAgentsUnrestrictedCredentialNetworkingParams { type } | BetaManagedAgentsLimitedCredentialNetworkingParams { allowed_hosts, 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.

One of the following:
class BetaManagedAgentsUnrestrictedCredentialNetworkingParams { 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
class BetaManagedAgentsLimitedCredentialNetworkingParams { allowed_hosts, type }

Substitute the secret only on requests to the listed hosts.

allowed_hosts: Array[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
class BetaManagedAgentsCredentialValidation { credential_id, has_refresh_token, mcp_probe, 5 more }

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

BetaManagedAgentsCredentialValidationStatus = :valid | :invalid | :unknown

Overall verdict of a credential validation probe.

One of the following:
:valid
:invalid
:unknown
class BetaManagedAgentsDeletedCredential { id, type }

Confirmation of a deleted credential.

id: String

Unique identifier of the deleted credential.

type: :vault_credential_deleted
class BetaManagedAgentsEnvironmentVariableAuthResponse { injection_location, networking, secret_name, type }

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

class BetaManagedAgentsEnvironmentVariableCreateParams { networking, secret_name, secret_value, 2 more }

Parameters for creating an environment variable credential.

class BetaManagedAgentsEnvironmentVariableUpdateParams { type, injection_location, networking, secret_value }

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

class BetaManagedAgentsInjectionLocationParams { body, header }

Where in the outbound request the secret value may be substituted.

body: bool

Substitute when the placeholder appears in the request body.

header: bool

Substitute when the placeholder appears in a request header value.

class BetaManagedAgentsInjectionLocationResponse { body, header }

Where in the outbound request the secret value is substituted.

body: bool

Whether the placeholder is substituted in the request body.

header: bool

Whether the placeholder is substituted in request header values.

class BetaManagedAgentsInjectionLocationUpdateParams { body, header }

Updated injection location.

body: bool

Substitute when the placeholder appears in the request body.

header: bool

Substitute when the placeholder appears in a request header value.

class BetaManagedAgentsLimitedCredentialNetworkingParams { allowed_hosts, type }

Substitute the secret only on requests to the listed hosts.

allowed_hosts: Array[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
class BetaManagedAgentsLimitedCredentialNetworkingResponse { allowed_hosts, type }

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

allowed_hosts: Array[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
class BetaManagedAgentsMCPOAuthAuthResponse { 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
expires_at: Time

A timestamp in RFC 3339 format

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

OAuth refresh token configuration returned in credential responses.

class BetaManagedAgentsMCPOAuthCreateParams { access_token, mcp_server_url, type, 2 more }

Parameters for creating an MCP OAuth credential.

access_token: String

OAuth access token.

minLength1
maxLength8192
mcp_server_url: String

URL of the MCP server this credential authenticates against.

minLength1
maxLength2047
type: :mcp_oauth
expires_at: Time

A timestamp in RFC 3339 format

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

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

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

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

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

OAuth refresh token configuration returned in credential responses.

class BetaManagedAgentsMCPOAuthRefreshUpdateParams { refresh_token, scope, token_endpoint_auth }

Parameters for updating OAuth refresh token configuration.

class BetaManagedAgentsMCPOAuthUpdateParams { type, access_token, expires_at, refresh }

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

type: :mcp_oauth
access_token: String

Updated OAuth access token.

minLength1
maxLength8192
expires_at: Time

A timestamp in RFC 3339 format

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

Parameters for updating OAuth refresh token configuration.

class BetaManagedAgentsMCPProbe { http_response, method_ }

The failing step of an MCP validation probe.

http_response: BetaManagedAgentsRefreshHTTPResponse { 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: bool

Whether body was truncated.

content_type: String

Value of the Content-Type response header.

status_code: Integer

HTTP status code.

formatint32
method_: String

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

class BetaManagedAgentsRefreshHTTPResponse { 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: bool

Whether body was truncated.

content_type: String

Value of the Content-Type response header.

status_code: Integer

HTTP status code.

formatint32
class BetaManagedAgentsRefreshObject { http_response, status }

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

http_response: BetaManagedAgentsRefreshHTTPResponse { 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: bool

Whether body was truncated.

content_type: String

Value of the Content-Type response header.

status_code: Integer

HTTP status code.

formatint32
status: :succeeded | :failed | :connect_error | :no_refresh_token

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

One of the following:
:succeeded
:failed
:connect_error
:no_refresh_token
class BetaManagedAgentsStaticBearerAuthResponse { 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
class BetaManagedAgentsStaticBearerCreateParams { token, mcp_server_url, type }

Parameters for creating a static bearer token credential.

token: String

Static bearer token value.

minLength1
maxLength8192
mcp_server_url: String

URL of the MCP server this credential authenticates against.

minLength1
maxLength2047
type: :static_bearer
class BetaManagedAgentsStaticBearerUpdateParams { type, token }

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

type: :static_bearer
token: String

Updated static bearer token value.

minLength1
maxLength8192
class BetaManagedAgentsTokenEndpointAuthBasicParam { client_secret, type }

Token endpoint uses HTTP Basic authentication with client credentials.

client_secret: String

OAuth client secret.

minLength1
maxLength512
type: :client_secret_basic
class BetaManagedAgentsTokenEndpointAuthBasicResponse { type }

Token endpoint uses HTTP Basic authentication with client credentials.

type: :client_secret_basic
class BetaManagedAgentsTokenEndpointAuthBasicUpdateParam { type, client_secret }

Updated HTTP Basic authentication parameters for the token endpoint.

type: :client_secret_basic
client_secret: String

Updated OAuth client secret.

minLength1
maxLength512
class BetaManagedAgentsTokenEndpointAuthNoneParam { type }

Token endpoint requires no client authentication.

type: :none
class BetaManagedAgentsTokenEndpointAuthNoneResponse { type }

Token endpoint requires no client authentication.

type: :none
class BetaManagedAgentsTokenEndpointAuthPostParam { client_secret, type }

Token endpoint uses POST body authentication with client credentials.

client_secret: String

OAuth client secret.

minLength1
maxLength512
type: :client_secret_post
class BetaManagedAgentsTokenEndpointAuthPostResponse { type }

Token endpoint uses POST body authentication with client credentials.

type: :client_secret_post
class BetaManagedAgentsTokenEndpointAuthPostUpdateParam { type, client_secret }

Updated POST body authentication parameters for the token endpoint.

type: :client_secret_post
client_secret: String

Updated OAuth client secret.

minLength1
maxLength512
class BetaManagedAgentsUnrestrictedCredentialNetworkingParams { 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
class BetaManagedAgentsUnrestrictedCredentialNetworkingResponse { type }

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

type: :unrestricted