Concepts

Verification sessions

The lifecycle of a verification session, from creation to a terminal status.

A verification session is the unit of work in AveTrust. You create it, the user completes it, and it settles on a terminal status.

Statuses

StatusMeaning
PENDINGCreated, waiting for the user to start
PROCESSINGCapture done, checks running
REVIEWNeeds a manual decision
APPROVEDIdentity confirmed
REJECTEDNot confirmed
EXPIREDThe link expired before completion

APPROVED, REJECTED and REVIEW are terminal.

Create

curl https://api.avetrust.net/api/v1/sessions \
  -H "X-Api-Key: $AVETRUST_API_KEY" -H "Content-Type: application/json" \
  -d '{ "checks": ["DOCUMENT", "LIVENESS"], "decisionMode": "AUTO" }'

decisionMode is AUTO (AveTrust decides from the checks) or MANUAL (always lands in REVIEW for you to decide).

Retrieve & list

curl https://api.avetrust.net/api/v1/sessions/SESSION_ID -H "X-Api-Key: $AVETRUST_API_KEY"
curl "https://api.avetrust.net/api/v1/sessions?status=REVIEW" -H "X-Api-Key: $AVETRUST_API_KEY"
curl https://api.avetrust.net/api/v1/sessions/SESSION_ID/send \
  -H "X-Api-Key: $AVETRUST_API_KEY" -H "Content-Type: application/json" \
  -d '{ "channel": "EMAIL", "to": "client@example.com", "link": "HOSTED_URL" }'

Follow progress live (SSE)

GET /sessions/events streams text/event-stream status updates — the SDKs wrap it as stream(token).

Next steps

On this page