VerificationSession
Full verification session resource. credentialData and verificationResult are present only when status is completed; failureReason only when status is failed.
Unique session identifier. Always present.
550e8400-e29b-41d4-a716-446655440000Session state. pending is non-terminal; completed and failed are terminal.
Possible values: [pending, completed, failed]
completedOriginal OpenID4VP URL. Always present.
openid4vp://authorize?response_type=vp_token&client_id=...Session creation timestamp. Always present.
2025-01-15T10:00:00ZLast update timestamp. Always present.
2025-01-15T10:01:12ZSession expiry timestamp. Always present.
2025-01-15T10:02:00ZYour correlation ID. Present if provided at creation.
kyc-check-99887Requested credential type. Always present.
VerifiedPersonPresentation definition used. Always present.
verified-person-v1Your configuration_id. Always present.
your_configuration_idTrust network this verification belongs to. Always present.
urn:uuid:1f0a8b3c-9e4d-4c2a-b1f7-3d5e6a7b8c9dYour verifier identity (URN) in the trust network. Always present.
urn:uuid:8b6b2812-5c3e-4f1a-9d2b-7e8f9a0b1c2dWhen the VP token arrived. Present after the wallet submits.
2025-01-15T10:01:10ZWhen the backend completed verification. Present after verification.
2025-01-15T10:01:12ZWhen your webhook was notified. Present if a callback is configured.
2025-01-15T10:01:13ZNumber of webhook delivery attempts. Always present.
1Webhook delivery state — independent of verification status. A session can be completed with callbackDeliveryStatus: exhausted when verification succeeded but your webhook endpoint was unreachable.
Possible values: [pending, delivered, exhausted]
deliveredcredentialData object
Extracted credential claims (e.g. givenName, dateOfBirth). Present only when status is completed.
Extracted credential claims (e.g. givenName, dateOfBirth). Present only when status is completed.
{"givenName":"Alice","dateOfBirth":"1990-01-15"}verificationResult object
Detailed verification check results. Present only when the session status is completed.
Credential signature verified.
trueIssuer is a trusted member of the trust network.
trueAll verification policies passed.
trueRevocation check outcome. Always verify this is not revoked before granting access.
Possible values: [not_revoked, revoked, unknown]
not_revokedIssuer's identity (URN) in the trust network.
urn:uuid:3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8fchecks object[]
Individual check results.
Check category.
Possible values: [signature, revocation, expiration, issuer_trust, policy, schema]
signatureCheck outcome.
Possible values: [success, passed, failure, failed, skipped, warning]
successCryptographic algorithm (signature checks only).
ES256Revocation mechanism (revocation checks only).
BitstringStatusListAdditional context for the check.
Why verification failed. Present only when status is failed.
| Value | Meaning | Recommended Action |
|---|---|---|
expired | Session TTL elapsed before holder presented | Create a new session |
invalid_vp | VP token was malformed or signature invalid | Wallet integration issue — check wallet logs |
issuer_not_trusted | Credential issuer not in the trust network | Contact iDen2 to add the issuer to your trust network |
revoked_credential | Credential has been revoked | Reject the holder; do not grant access |
audience_mismatch | KB-JWT audience does not match client_id | Wallet integration issue — check holder key binding |
verifier_not_authorized | Verifier configuration issue | Check your verifier configuration and token scopes |
policy_violation | Verification policy check failed | Review your presentation definition policy |
internal_error | Platform error | Retry; contact support if recurring |
Webhook delivery failures are tracked separately in callbackDeliveryStatus, not here.
Possible values: [expired, invalid_vp, issuer_not_trusted, revoked_credential, audience_mismatch, verifier_not_authorized, policy_violation, internal_error]
issuer_not_trusted{
"sessionId": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"authorizationUrl": "openid4vp://authorize?response_type=vp_token&client_id=...",
"createdAt": "2025-01-15T10:00:00Z",
"updatedAt": "2025-01-15T10:01:12Z",
"expiresAt": "2025-01-15T10:02:00Z",
"externalId": "kyc-check-99887",
"credentialType": "VerifiedPerson",
"presentationDefinitionId": "verified-person-v1",
"configurationId": "your_configuration_id",
"trustNetworkId": "urn:uuid:1f0a8b3c-9e4d-4c2a-b1f7-3d5e6a7b8c9d",
"verifierMemberId": "urn:uuid:8b6b2812-5c3e-4f1a-9d2b-7e8f9a0b1c2d",
"vpReceivedAt": "2025-01-15T10:01:10Z",
"vendorVerifiedAt": "2025-01-15T10:01:12Z",
"callbackDeliveredAt": "2025-01-15T10:01:13Z",
"callbackAttempts": 1,
"callbackDeliveryStatus": "delivered",
"credentialData": {
"givenName": "Alice",
"dateOfBirth": "1990-01-15"
},
"verificationResult": {
"signatureValid": true,
"issuerTrusted": true,
"policyCompliant": true,
"revocationStatus": "not_revoked",
"issuerMemberId": "urn:uuid:3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f",
"checks": [
{
"type": "signature",
"status": "success",
"algorithm": "ES256",
"mechanism": "BitstringStatusList",
"detail": "string"
}
]
},
"failureReason": "issuer_not_trusted"
}