Age Verification

Poll an age check

Scoped to a project: a key can only read checks it created. result stays null until the check completes.

get/v1/age-checks/{id}

Request

  • Base URL: https://api.tessio.eu
  • URL: https://api.tessio.eu/v1/age-checks/{id}
  • Auth: HTTP bearer

Response

OK

idstring uuid
status'pending' | 'completed' | 'expired' | 'failed'
referencestring nullable

Your correlation id from create, echoed back

mode'test' | 'live'

The mode of the project that created this check, fixed when the project was created. test is a sandbox: the check completes on its own after a couple of seconds and its result is simulated, so meetsMinAge proves nothing about anyone. live means only a wallet presentation completes the check. Read this before acting on meetsMinAge.

failedAttemptsinteger

How many presentations failed verification, or wallet error responses arrived, while the check stayed pending, on either transport. Neither ends the check, so a pending or expired check with a count above zero means a response was posted and refused, or a wallet said it could not answer. It counts every refused response for the check, not only the holder's, so read it as a signal rather than as the person's own attempts.

lastFailureCodesstring[] nullable

The error codes of the most recent failed attempt, such as issuer_untrusted or signature_invalid. A code beginning wallet_ is the wallet's own error response, for example wallet_access_denied when the holder declined, the wallet held no matching credential or it could not authenticate the holder (OpenID4VP 1.0 section 8.5 gives one code for all three): it is the wallet's claim and nothing was verified. session_mismatch is a same device presentation whose redirect came back to a different browser from the one that opened the wallet, rejected under HAIP 1.0 section 5.1. Null when there has been none. Kept after the check completes.

Changes

No recorded changes to this operation across all 1 revision of this API.