Skip to main content
DELETE
Revoke Credential

Headers

API-Version
string

Pin request, response, and webhook shapes to a specific dated API version (YYYY-MM-DD). Omit to use the version pinned to your API key (set when the key is created; new keys default to the latest version). New integrations should target the latest version.

Pattern: ^\d{4}-\d{2}-\d{2}$
Example:

"2026-11-02"

Path Parameters

credentialId
string
required

URN of the credential to revoke

Example:

"urn:via:credential:550e8400-e29b-41d4-a716-446655440000"

Body

application/json
reason
string

Free-text reason for revocation, recorded on the credential as inactiveReason, prefixed as revoked:<reason>. It is signed into the mandate's REVOKE event for good, so it says why, never who: no names, emails or other personal data (v0.3 §2). Recommended values from VIA protocol v0.2-new §5.5.1: "user_initiated", "organization_policy", "system_expiry".

Maximum string length: 200
Example:

"user_initiated"

Response

Credential revoked. The revocation is recorded as a REVOKE proof on the credential.

credentialId
string
required

URN of the revoked credential

Example:

"urn:via:credential:550e8400-e29b-41d4-a716-446655440000"

status
enum<string>
required

Always REVOKED on a successful response (v0.3 §0.10.1); the REVOKE event on its chain records it. An API version before 2026-11-02 receives INACTIVE.

Available options:
REVOKED
Example:

"REVOKED"

revokedAt
string
required

When the credential was revoked (ISO 8601)

Example:

"2026-05-02T10:15:30.000Z"