Skip to main content
The Credential Vault stores per-user secrets the agent encounters that aren’t third-party OAuth grants — a SaaS API key it generated, a session cookie, a KYC reference. Each value is envelope-encrypted with a managed KMS, scoped to one tenant user (see Architecture → Vault encryption).

CLI First

Tools

ToolTypeDescription
vault_listCoreList a user’s entry keys (values masked)
vault_putCoreStore or replace an encrypted entry
vault_revealCoreDecrypt and return a value (POST — never in a URL)
vault_deleteCoreDelete an entry
vault_rotateManagementRe-wrap the encryption key (or fully re-encrypt)

Storing & Revealing

put is idempotent on the key. reveal is a POST so the secret travels in the response body, never in a URL.
Response (reveal):

Parameters (put)

ParamTypeRequiredDefaultDescription
valuestringYesThe secret to encrypt and store
kindstringNonoteapi_key, password, cookie, token, note, reference
lockedbooleanNofalseIf true, the entry can be stored but never revealed back
expires_atstringNoISO timestamp; excluded from list and 404 on reveal once expired
metadataobjectNoArbitrary JSON attached to the entry
locked entries are agent-profile-only — useful when an agent must use a secret indirectly but should never read it back. rotate re-wraps the data key cheaply; ?regenerate_dek=true fully re-encrypts the value.

Listing & Deleting

Third-party connections surface read-only in the dashboard Vault tab alongside vault entries, for one unified per-user credential view.

Error Handling

ErrorCauseRecovery
not_foundKey doesn’t exist, expired, or invalid user_idUse GET .../vault to list current keys
forbiddenTried to reveal a locked entryLocked entries can’t be revealed; store a new one
invalid_inputMissing value on putProvide a string value
feature_not_configuredVault KMS not configured on the APIContact support

Typical Workflow