Quick start
Quick start
Five minutes from a new account to a result in your webhook, all in test mode (no real captures, nothing billed).
1. Create a flow
In the dashboard open Flows and create one. Pick a template (for example "ID + selfie"), write the purpose text the applicant will read, and add your privacy policy URL. A flow without a privacy policy URL cannot start sessions. See Flows.
2. Create a test token
Open Account, API tokens, choose mode Test and the abilities sessions:read and sessions:write. A test token
looks like tid_test_... and can only touch test sessions. The token is shown once.
3. Create a session
curl -sS https://YOUR-LEGITFLASH-DOMAIN/api/v1/sessions \
-H "Authorization: Bearer $TRUSTID_TOKEN" \
-H "Idempotency-Key: order-1234-verification" \
-H "Content-Type: application/json" \
-d '{"flow_id":"FLOW_ID","external_reference":"order-1234","redirect_url":"https://shop.example/verified"}'
The 201 response holds the session id, the hosted url, a signed qr_svg_url and the embed settings. The url is
shown only in this response, so send the applicant there right away (or show the QR code, or embed it).
4. Let the applicant "capture"
In test mode the link shows a simulator instead of the camera: approve, reject with a reason, or request a resubmission. See Test mode.
5. Receive the result
Add a webhook endpoint under Developers, Webhooks, then verify the signature and read data.status
(see Webhooks). You can also fetch the result at any time:
curl -sS https://YOUR-LEGITFLASH-DOMAIN/api/v1/sessions/SESSION_ID \
-H "Authorization: Bearer $TRUSTID_TOKEN"
6. Go live
Accept the data processing agreement (Billing and legal), start your trial or subscription, create a Live token
(tid_live_...) and switch your integration to it. Live sessions are reviewed by a person and counted against your
plan's included verifications.