Skip to main content
GET
Get 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-09-01"

Path Parameters

credentialId
string
required

URN of the credential to retrieve

Example:

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

Response

The credential, including its W3C Verifiable Credential and the latest grantor decisions.

id
string
required

URN of the credential.

Example:

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

resourceType
string
required

The type of resource for this credential (e.g., DOCUMENT, FORM)

Example:

"DOCUMENT"

status
enum<string>
required

The status of the credential

Available options:
DRAFT,
ACTIVE,
INACTIVE
Example:

"DRAFT"

executionsRemaining
number | null
required

Uses left against the mandate's maxExecutions bound, where one use is one approved verification. null means the mandate is unlimited — note this is NOT the same as 0, which means every use has been spent and the mandate has revoked itself.

Example:

1

w3cCredential
object
required

The W3C Verifiable Credential following the VIA protocol specification.

While the credential is in DRAFT status, this object is in building mode: evidence, the proof, and other fields may still be attached or modified as grantors review and decide. It is unsigned at this stage.

Once all grantors have accepted (or the request window expires), the status transitions out of DRAFT and the credential is sealed and can be passed for verification as defined by the VIA protocol.

Every credential carries the signed specVersion marker, the singular evidence/proof keys, evidence with type+mediaType, and a single securing STAMP (proof.event = "STAMP").

Clients pinned below API version 2026-09-01 receive this reshaped to the historical plural evidences/proofs with the marker dropped — see that version's changes.

Example:
decisions
array[]
required

Whether each grantor accepted or rejected the credential and information about the grantor contact. The id field carries the grantor's DID. Always an array (empty when there are no decisions yet).

Example:
inactiveAt
object | null

When the credential stopped being usable — rejected, cancelled, revoked, exhausted or expired. Null while it is DRAFT or ACTIVE.

Example:

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

name
string

Human-readable name of the credential; null when unset.

Example:

"Credential Name"

description
string

Free-text description of the credential; null when unset.

Example:

"Document to be requested on onboarding"

internalId
string

Identifier to help you identify the credential in your own system. We recommend using a unique value.

Example:

"internal-12345"

tags
string[]

Free-form labels attached to the credential.

Example: