Skip to main content

Held credentials

List, read and delete the credentials that the organisation wallet holds, check their revocation status, and ask the issuer for a new version.

Delete credential

Deletes a held credential, with every copy of its batch. The wallet marks the records as deleted (they leave the lists and are never presented), sends the holder event `ows.holder.credential.deleted`, and then tells the issuer with the OpenID4VCI `credential_deleted` notification. The notification is best effort: an issuer that does not answer does not stop the delete. To decline an offer, delete its record. You cannot delete a Wallet Unit Attestation (the wallet provider revokes it) or a credential that an extension manages (`isSystemManaged`).

Read credential revocation status

Checks now whether the issuer revoked or suspended a held credential. The wallet reads the Token Status List of the issuer at the status entry of the credential, stores the result in `revocationStatus`, and returns the record. Use it for a credential in `credential_acked` or `credential_accepted`. A new `Revoked` result also makes a `credential_revoked` wallet notification and the holder event `ows.holder.credential.revoked`. The wallet also checks the held credentials by itself at the interval of the holder configuration (`credentialStatusRefreshIntervalSeconds`).

Request credential re-issuance

Asks the issuer for a new version of a held credential, for example before it expires (OpenID4VCI 1.0 with the refresh token grant of RFC 6749 section 6). The wallet uses the stored access token of the credential, or gets a new one with the stored refresh token, asks for the credential again and replaces the stored one: the old token goes to `expiredCredentialTokens`, and `refreshCount` goes up. Then it reads the revocation status of the new credential. It sends the holder event `ows.holder.credential.reissued`. A Wallet Unit Attestation is not re-issued: the answer is then a `message`. The request has no body.