Skip to content

Revoke applied policy credential

PUT
/api/v1/projects/{projectId}/policies/{appliedPolicyId}/credentials/{credentialId}/revoke
curl --request PUT \
--url https://localhost:10001/api/v1/projects/example/policies/example/credentials/example/revoke \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "reason": "example" }'

Revoke a specific issued credential associated with an applied policy

projectId
required
string

Project ID, UUID (urn:uuid optional), or slug:my-project

appliedPolicyId
required
string

Applied policy ID, slug:my-policy, or urn:cid:bafy…

credentialId
required
string

Credential ID or UUID (urn:uuid optional)

Revocation reason

Media type application/json
object
reason
required
string
Example generated
{
"reason": "example"
}

Revoked credential

Media type application/json

A verifiable credential issued over an applied policy, revocable but never deleted

object
appliedPolicyId

Taken from the path on create

integer
credential
object
credentialId

Urn:uuid minted per issuance; identifies the row

string
expiresAt
string format: date-time
id
integer
issuedAt
string format: date-time
issuedBy
string
issuedByDid

Verifiable actor; issuedBy is the label

string
revoked

Set via the revoke endpoint

boolean
revokedAt

Set via the revoke endpoint

string format: date-time
revokedBy

Set via the revoke endpoint

string
revokedByDid

Verifiable actor; revokedBy is the label

string
revokedReason

Set via the revoke endpoint

string
sourceCid

Assigned by the integrity service

string
Example generated
{
"expiresAt": "2026-04-15T12:00:00Z"
}

Bad request - Invalid IDs, missing reason, or credential already revoked

Media type application/json

Error body returned by the governance endpoints; the message is human-readable and not a stable identifier

object
error
string
Example
{
"error": "Invalid request body"
}

Unauthorized - Authentication required

Media type application/json

Error body returned by the governance endpoints; the message is human-readable and not a stable identifier

object
error
string
Example
{
"error": "Invalid request body"
}

Forbidden - No project access or insufficient permissions

Media type application/json

Error body returned by the governance endpoints; the message is human-readable and not a stable identifier

object
error
string
Example
{
"error": "Invalid request body"
}

Credential not found

Media type application/json

Error body returned by the governance endpoints; the message is human-readable and not a stable identifier

object
error
string
Example
{
"error": "Invalid request body"
}

Internal server error

Media type application/json

Error body returned by the governance endpoints; the message is human-readable and not a stable identifier

object
error
string
Example
{
"error": "Invalid request body"
}