Skip to main content

CredentialRecordStatus

The unified lifecycle status of a credential record.

States are grouped into four phases: Offer, Verification, Issuance, and Credential lifecycle. Transient states (offerAccepted, verificationCompleted) are used only in audit events and never returned by queries.

enum CredentialRecordStatus {
expired
identityNotVerified
issuanceCompleted
issuanceExpired
issuanceFailed
issuanceStarted
offerAccepted
offerCancelled
offerExpired
offerFailed
offered
revoked
verificationCompleted
verificationFailed
verificationStarted
}

Values

CredentialRecordStatus.expired

The issued credential has expired (credential validity period passed). Operator action: reissue the credential.

CredentialRecordStatus.identityNotVerified

Identity verification failed because the subject's identity could not be confirmed (e.g. incorrect OTP, biometric mismatch). Operator action required.

CredentialRecordStatus.issuanceCompleted

The credential has been successfully issued and is in the holder's wallet. This is the stable active state.

CredentialRecordStatus.issuanceExpired

The 5-minute QR code window closed without the credential being redeemed into the wallet. Applies to both in-person and remote issuances.

CredentialRecordStatus.issuanceFailed

A technical failure occurred during the issuance process (e.g. the Verified ID server rejected the credential issuance call).

CredentialRecordStatus.issuanceStarted

The issuance process is actively underway: the offer has been accepted, the subject has been verified, and the QR code has been generated. In-person records begin here (offer acceptance and verification are handled in person by the operator and are not tracked as separate states).

CredentialRecordStatus.offerAccepted

The issuee has accepted the offer and the verification flow has been opened. Transient — used in audit events only, never returned by queries; reaching verificationStarted implies offerAccepted.

CredentialRecordStatus.offerCancelled

The offer was cancelled by an operator before the credential was issued.

CredentialRecordStatus.offerExpired

The offer window expired before the issuee accepted it. Remote issuances only.

CredentialRecordStatus.offerFailed

A technical failure occurred while delivering the offer notification (e.g. the communication channel could not reach the issuee).

CredentialRecordStatus.offered

The credential offer has been sent to the issuee and is awaiting acceptance. Remote issuances only — in-person records begin at issuanceStarted.

CredentialRecordStatus.revoked

The issued credential was revoked by an operator.

CredentialRecordStatus.verificationCompleted

Identity verification succeeded. Transient — the system immediately advances to issuanceStarted. Used in audit events only, never returned by queries.

CredentialRecordStatus.verificationFailed

A technical or system error occurred during the verification process (e.g. the IDV service was unavailable). Placeholder — reserved for future IDV integration.

CredentialRecordStatus.verificationStarted

Identity verification is underway. For remote issuances a verification communication (OTP/link) has been sent to the issuee. Reaching this state implies the offer was accepted.

Returned By

deprovisionCredential mutation

Member Of

CredentialRecord object ● CredentialRecordWhere input