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"

Edit this page on GitHub