Preview release.These docs are a work in progress. Pages are still being written, links may break, and structure may shift without notice. Treat everything here as a draft and report issues onGitHub.
Update credential lifecycle status
POST
/admin/v1/credentials/{credential_id}/status
const url = 'https://example.com/admin/v1/credentials/example/status';const options = { method: 'POST', headers: {'X-Api-Key': '<X-Api-Key>', 'Content-Type': 'application/json'}, body: '{"status":"valid"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/admin/v1/credentials/example/status \ --header 'Content-Type: application/json' \ --header 'X-Api-Key: <X-Api-Key>' \ --data '{ "status": "valid" }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”credential_id
required
string
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
status
required
string
Responses
Section titled “Responses”Updated credential status record
Media typeapplication/json
Example
{ "credential_id": "urn:ulid:01HX7Y5F2WAJ7ZP0Q4M5K9E8NC", "credential_profile": "civil_status_sd_jwt", "expires_at": "2026-05-25T12:10:00Z", "issued_at": "2026-05-25T12:00:00Z", "issuer": "did:web:issuer.example", "status": "revoked", "updated_at": "2026-05-25T12:00:00Z"}Invalid status value
Media typeapplication/problem+json
object
code
required
string
detail
required
string
request_id
required
string
status
required
integer format: int32
title
required
string
type
required
string format: uri
key
additional properties
any
Example
{ "code": "credential_status.invalid_status", "detail": "status must be valid, suspended, or revoked", "status": 400, "title": "Invalid credential status", "type": "https://docs.registry-notary.dev/problems/credential_status/invalid_status"}Missing or invalid credential
Media typeapplication/problem+json
object
code
required
string
detail
required
string
request_id
required
string
status
required
integer format: int32
title
required
string
type
required
string format: uri
key
additional properties
any
Example
{ "code": "auth.missing_credential", "detail": "missing authentication credential", "status": 401, "title": "Missing credential", "type": "https://docs.registry-notary.dev/problems/auth/missing_credential"}Caller lacks registry_notary:admin scope
Media typeapplication/problem+json
object
code
required
string
detail
required
string
request_id
required
string
status
required
integer format: int32
title
required
string
type
required
string format: uri
key
additional properties
any
Example
{ "code": "auth.scope_denied", "detail": "missing required scope", "status": 403, "title": "Scope denied", "type": "https://docs.registry-notary.dev/problems/auth/scope_denied"}Credential status is disabled or not found
Media typeapplication/problem+json
object
code
required
string
detail
required
string
request_id
required
string
status
required
integer format: int32
title
required
string
type
required
string format: uri
key
additional properties
any
Example
{ "code": "credential_status.not_found", "detail": "credential status record was not found", "status": 404, "title": "Credential status not found", "type": "https://docs.registry-notary.dev/problems/credential_status/not_found"}Credential status store is unavailable
Media typeapplication/problem+json
object
code
required
string
detail
required
string
request_id
required
string
status
required
integer format: int32
title
required
string
type
required
string format: uri
key
additional properties
any
Example
{ "code": "credential_status.unavailable", "detail": "credential status store is unavailable", "status": 503, "title": "Credential status unavailable", "type": "https://docs.registry-notary.dev/problems/credential_status/unavailable"}