How to verify a credential
Scope: verification.execute ·
Reference: Verifications_Create
You need a verification policy first.
curl -sS -X POST "$DILIGENCE_BASE_URL/v1.0/verifications" \
-H "Authorization: ApiKey $DILIGENCE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: checkout-8891" \
-d '{ "policyIdentifier": "membership-check" }'
You get back a verification in pending, with a request for the holder — usually rendered as a QR code.
Then wait for the holder
curl -sS "$DILIGENCE_BASE_URL/v1.0/verifications/$VERIFICATION_ID" \
-H "Authorization: ApiKey $DILIGENCE_API_KEY"
pending until the holder consents and presents. That is a correct state, not a timeout — the holder is a
participant, not a latency problem.
Set your own overall deadline and show the user something meaningful while waiting.
You name a policy, not claims
You cannot ask for arbitrary claims at runtime, by design. The policy was written by whoever understands the risk and is frozen; an endpoint that accepted raw claim names would let a compromised front end ask for anything the holder might have.
Cancel if the user walks away
curl -sS -X POST "$DILIGENCE_BASE_URL/v1.0/verifications/$VERIFICATION_ID/cancel" \
-H "Authorization: ApiKey $DILIGENCE_API_KEY"