Sessions

POST https://api-verify.secuveri.com/v1/sessions with your API key in x-api-key. Every field is optional.

FieldLimitWhat it does
workflow_ida published workflow of your organizationRuns that workflow. A sk_test_ key runs only sandbox workflows, sk_live_ only production ones. Without it, the full verification runs.
vendor_data≤ 256 charactersYour id for the person. Returned in webhooks, results and dashboard search.
metadataJSON object, ≤ 16 KBYour data, returned in webhooks and results. Stored as plain JSON: do not put sensitive personal data in it.
callback_urlhttps, ≤ 2048 charactersWhere the person is sent at the end.
languageen, de, fr, itThe language the page starts in. The person can still switch.
contactemail, phone (E.164)Prefills the email and phone steps of the workflow.
send_linkemail or smsQueues the link for that contact, in the session's language, including when an open session is reused. link_sent.status is queued, cooldown, failed or unavailable. Queued means saved for background delivery, not delivered. Repeated sends have a 30-second cooldown and a five-per-hour limit per session/channel. The session remains available even if queueing fails.
expected_detailsfirst_name, last_name, date_of_birth, nationality, document_country, document_number, address_country, address_postal_code, address_localityWho you expect; see below.
sandbox_scenariosk_test_ keys onlyFinish the session at once with a chosen outcome; see Sandbox.
typeverification (default) or reauthreauth checks a returning customer with a selfie only; see Re-authentication.
reusabletrue or false (default)The person may share their secuveri ID instead of capturing a document; see Reusable verification.

Expected details

Send who you expect to verify, and we compare it with the chip, then the MRZ, then the printed fields. Names are compared ignoring accents and spellings such as Ä/AE. A field that disagrees sends an otherwise approved verification to review with EXPECTED_DETAILS_REVIEW; a field the document does not show never holds it. Dates are YYYY-MM-DD, countries ISO alpha-3. The signed result has one of match, mismatch or unavailable per field.

Safe retries

Send Idempotency-Key (1–255 visible ASCII characters) to retry a create without making a second session or charge.

CaseAnswer
Same key and body within 24 hoursThe first response, with idempotent-replayed: true
Same key, different body422
Same key while the first request still runs409
The first request failedThe key is released; the retry runs normally

One open session per customer

While a session for the same vendor_data and workflow_id is still unfinished, creating another returns that session and its current link, with reused: true and the header secuveri-session-reused: true. Nothing is charged again, and the first session's settings are kept. Once it finishes, expires or is deleted, the next create starts a new session.

Statuses

A session moves through processing statuses and ends in one of COMPLETE, FAILED, REVIEW_REQUIRED, CHECK_ERROR, EXPIRED. REVIEW_REQUIRED waits for a reviewer in your dashboard; you get another webhook when they decide.