Skip to main content

VC Extensions for Credential Status

The revocable VC must include a credentialStatus property containing the defaults from the chosen revocation format. Next to the credential's own schema, a second schema should be added to the credentialSchema property. The extra schema allows the validation of the properties used in the credentialStatus.

Basic Structure

{
"credentialStatus": {
// status_entry_specific_content
},
"credentialSchema": [
{
"id": "https://api-pilot.ebsi.eu/trusted-schemas-registry/v3/schemas/[ORIGINAL_VC_SCHEMA]",
"type": "FullJsonSchemaValidator2021"
},
{
"id": "https://api-pilot.ebsi.eu/trusted-schemas-registry/v3/schemas/[STATUS_ENTRY_SCHEMA]",
"type": "FullJsonSchemaValidator2021"
}
]
}

BitstringStatusListEntry

PropertyDescription
idIdentifier for status information
typeMust be BitstringStatusListEntry
statusPurposerefresh, revocation, suspension, or message
statusListIndexZero-based index value (integer as string)
statusListCredentialURL referencing BitstringStatusListCredential
statusSizeOptional: default is 1 bit
statusMessageOptional array with length matching statusSize possibilities
statusMessage[x].statusHexadecimal status value with 0x prefix
statusMessage[x].messageDebugging message (not for end users)
statusReferenceOptional URL(s) with related status materials

Example

{
"@context": ["https://www.w3.org/2018/credentials/v1"],
"id": "urn:uuid:003a1dd8-a5d2-42ef-8182-e921c0a9e5av",
"type": ["VerifiableCredential", "VerifiableAttestation"],
"issuer": "did:ebsi:zyrMG8T9xYbNoSwyQa4SGMJ",
"credentialSubject": {
"id": "did:ebsi:00001235"
},
"credentialStatus": [
{
"id": "ebsi:trusted-issuers-registry:/issuers/did:ebsi:zyrMG8T9xYbNoSwyQa4SGMJ/proxies/0x1e15b7e8d430ae8c298a151c9d00fd7b2311d74648c22a336f637551b2545638/credentials/status/123#94567",
"type": "BitstringStatusListEntry",
"statusPurpose": "revocation",
"statusListIndex": "94567",
"statusListCredential": "ebsi:trusted-issuers-registry:/issuers/did:ebsi:zyrMG8T9xYbNoSwyQa4SGMJ/proxies/0x1e15b7e8d430ae8c298a151c9d00fd7b2311d74648c22a336f637551b2545638/credentials/status/123"
},
{
"id": "ebsi:trusted-issuers-registry:/issuers/did:ebsi:zyrMG8T9xYbNoSwyQa4SGMJ/proxies/0x1e15b7e8d430ae8c298a151c9d00fd7b2311d74648c22a336f637551b2545638/credentials/status/456#492847",
"type": "BitstringStatusListEntry",
"statusPurpose": "message",
"statusListIndex": "492847",
"statusSize": 2,
"statusListCredential": "ebsi:trusted-issuers-registry:/issuers/did:ebsi:zyrMG8T9xYbNoSwyQa4SGMJ/proxies/0x1e15b7e8d430ae8c298a151c9d00fd7b2311d74648c22a336f637551b2545638/credentials/status/456",
"statusMessage": [
{ "status": "0x0", "message": "pending_review" },
{ "status": "0x1", "message": "accepted" },
{ "status": "0x2", "message": "rejected" },
{ "status": "0x3", "message": "other" }
],
"statusReference": "https://example.org/status-dictionary/"
}
]
}