Rotate a tool credential
Rotation creates a new immutable version with new write-only material. It does not switch any consumer: every tool, MCP server and published agent keeps its pinned version. To adopt the new version, replace each referencing tool or MCP server with {secret_id, version}, review the draft diff and publish each affected agent; calls admitted before that keep their version. Older versions stay active until you revoke them, so a cutover can proceed agent by agent.
Authentication
Create and manage workspace-owned keys through the existing app session routes, outside this public API. Creator and manager identities are audit actors only. Key validity follows workspace policy, expiry and explicit revocation, independently of creator membership. Do not include a workspace-selection header.
Path parameters
Headers
Stable key per logical intent, 1–255 printable characters. Persist it before sending. Retry the same key/body after an uncertain result for 24 hours. A changed body conflicts. Beyond retention, reconcile the resource before retrying; this is not permanent deduplication. Current authorization is rechecked on replay. Evaluation order: authenticate and check current authorization; look up intent; replay its stored receipt before checking the current revision; only a new intent evaluates If-Match and executes. Fingerprint includes method, path, body and original If-Match. A changed request returns idempotency_key_reused. The server stores only a keyed (HMAC) fingerprint, and no error or response ever returns a fingerprint or hash of a request. In-flight intent returns 409 idempotency_in_progress with Retry-After; retry the same intent after reconciliation. Receipts describe that attempt, not current resource state. A replay returns the original status code and body, with the response header Idempotent-Replayed: true.
Request
Write-only credential material. Sealed inside the request transaction. Never returned, logged, included in diffs, errors, events or call evidence.
Response headers
true when this response replays a stored Idempotency-Key result. The status and body equal the original.
Response
Open response vocabulary. Preserve unknown values; never assume they mean success.
Reason given to revokeSecretVersion. Open response vocabulary. Preserve unknown values; never assume they mean success.
Reference counts at response time. Use GET /secrets/{secret_id}/references for the exact consumers.