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
| Property | Description |
|---|---|
id | Identifier for status information |
type | Must be BitstringStatusListEntry |
statusPurpose | refresh, revocation, suspension, or message |
statusListIndex | Zero-based index value (integer as string) |
statusListCredential | URL referencing BitstringStatusListCredential |
statusSize | Optional: default is 1 bit |
statusMessage | Optional array with length matching statusSize possibilities |
statusMessage[x].status | Hexadecimal status value with 0x prefix |
statusMessage[x].message | Debugging message (not for end users) |
statusReference | Optional 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/"
}
]
}