Revoke a service credential
Revoke the credential and every secret it owns, immediately.
There is no grace window here, and that is the point: revocation is the answer to a leak, so a key that is still sitting in someone's environment stops working on the very next request rather than tomorrow. This includes any predecessor secret still serving a rotation grace window.
The row is not deleted. The credential is returned with isActive: false and revokedAt set, and it keeps appearing in GET /credentials so the audit trail stays legible. Revoking an already-revoked credential is harmless and keeps the original revokedAt.
A credential can revoke itself. Accepts an Idempotency-Key; a retry with the same key replays the original response instead of answering 404 for a credential the first attempt already revoked.
Request
- Base URL: https://inkseal.net/api/v1
- URL: https://inkseal.net/api/v1/credentials/{credentialId}
- Auth: HTTP bearer
Headers
Makes this mutation retry-safe. 1 to 255 printable ASCII characters (0x20 to 0x7e), trimmed before use. The key is scoped to the workspace and the credential that sent it. Reusing it with a different method, path, or payload answers 422 idempotency_key_reuse. A completed attempt replays its stored status and body with an Idempotent-Replay: true response header; 5xx, 429, and non-JSON answers leave the key retryable. A concurrent request holding the 90 second lease answers 409 idempotency_in_progress. Records are retained 24 hours.
Response
The revoked credential.
Example response
{
"data": {
"id": "V1StGXR8_Z5jdHi6B-myT",
"name": "Contract intake agent",
"agentIdentity": "intake-bot@ops.example.com",
"scopes": [
"documents:write",
"envelopes:write",
"envelopes:send"
],
"isActive": true,
"createdAt": "2026-08-01T11:02:44.000Z",
"lastUsedAt": "2026-08-21T07:41:12.338Z",
"secrets": [
{
"prefix": "isk_REDA",
"lastFour": "CTED",
"createdAt": "2026-08-01T11:02:44.000Z",
"lastUsedAt": "2026-08-21T07:41:12.338Z"
}
],
"limits": {
"maxCreditsPerDay": 25,
"maxSendsPerHour": 5
}
}
}Changes
No recorded changes to this operation across all 1 revision of this API.