Claude Platform Docs

Validate Credential

$ ant beta:vaults:credentials mcp-oauth-validate
POST/v1/vaults/{vault_id}/credentials/{credential_id}/mcp_oauth_validate

Validate Credential

Parameters
--vault-id: string⁠Path parameter

Identifier of the vault containing the credential.

--credential-id: string⁠Path parameter

Unique identifier of the credential to validate.

--beta: optional array of AnthropicBeta⁠Header parameter

Optional header to specify the beta version(s) you want to use.

--workspace-id: optional string⁠Header parameter

Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).

Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.

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

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

type: "vault_credential_validation"
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: object{ http_response, method }

Details of the failing MCP probe step. Null when the probe succeeded.

http_response: object{ body, body_truncated, content_type, status_code }

The captured HTTP error response. Null when no HTTP response was received (timeout, DNS, TLS).

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

refresh: object{ http_response, status }

Details of the refresh-token exchange attempted on a 401. Null when no refresh was attempted.

http_response: object{ body, body_truncated, content_type, status_code }

The captured HTTP error response from the token endpoint. Populated only when status is failed.

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 the refresh attempt.

One of the following:
"succeeded"

The token endpoint returned a new access token.

"failed"

The token endpoint returned an error response. See http_response for detail.

"connect_error"

The token endpoint could not be reached (DNS, TLS, or connection error).

"no_refresh_token"

No refresh token is stored for the credential, so no exchange was attempted.

status: "valid" or "invalid" or "unknown"

Overall verdict of the validation probe.

One of the following:
"valid"

The credential successfully authenticated against its MCP server.

"invalid"

The probe reached the MCP server and was rejected, and a refresh (if attempted) did not recover it.

"unknown"

The probe could not determine validity — for example, a transport error or a successful refresh that was not re-probed.

validated_at: string

When the validation probe was performed.

formatdate-time
vault_id: string

Identifier of the vault containing the credential.

Validate Credential
ant beta:vaults:credentials mcp-oauth-validate \
  --api-key my-anthropic-api-key \
  --vault-id vlt_011CZkZDLs7fYzm1hXNPeRjv \
  --credential-id vcrd_011CZkZEMt8gZan2iYPQfSkw
Returns Examples
Response 200
{
  "credential_id": "vcrd_011CZkZEMt8gZan2iYPQfSkw",
  "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"
}