Create Verification
/v1/flowsCreate a flow. Two independent axes: - **Transport / auth** — a secret ``tnk_`` Bearer (server-to-server, full power), an operator session cookie (the dashboard's manual "New flow" path, same power as a secret key), or a publishable ``pk_`` key (browser gate: Origin-checked, rate-limited, redacted response). - **Execution mode** (``payload.mode``) — ``async`` (default) creates the flow PENDING and returns it; the caller uploads documents and calls ``/process`` to run the checks on the worker. ``sync`` runs the flow's checks inline in-request and returns the decided flow with its results. Captures the originating IP / User-Agent / iOS device headers and enriches with ipapi.co geo. Stored on ``flow.client_metadata``; surfaces as a "Device & location" panel on the dashboard.
Authentication
Send your tenant secret key as a Bearer token. Keep secret keys on your server; never ship them in browser or mobile code.
Parameters
originNo additional parameter description.
Request body
JSON · required
applicantNo additional field description.
datasetsAML datasets for the ``aml_screen`` check (sanctions, pep, pep_rca, wanted, debarment, soe, crypto_wallets). Unset → the tenant's checks-policy default. An empty list is a 422 — omit the field to get defaults.
deviceFingerprintJS evidence for the device-velocity signal. Only consulted in ``mode=sync`` when the flow runs the ``device_fingerprint`` check.
mode``async`` (default) creates the flow and returns it PENDING — the caller uploads documents and calls /process to run the checks on the worker. ``sync`` runs the flow's checks inline in-request and returns the decided flow with its results. ``sync`` is only valid for checks-only flows (no document/biometric checks) — any other flow is a 422.
template_slugSlug of the flow this flow runs under. When unset, the tenant's ``default`` flow is used. The flow controls which checks run and which decision applies when no rule matches.
typeNo additional field description.
Example request
curl --request POST \
--url 'https://api.fideralabs.com/v1/flows' \
--header 'Authorization: Bearer $FIDERA_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"applicant": {
"address_city": "string",
"address_country": "string",
"address_line1": "string",
"address_line2": "string",
"address_postal_code": "string",
"address_region": "string",
"business_name": "string",
"consent": {
"biometric": {},
"policy_version": {}
},
"custom_attributes": {},
"dob": "string",
"email": "string",
"entity_type": "individual"
},
"datasets": [
"string"
],
"device": {
"confidence": {},
"visitor_id": "string"
},
"mode": "async",
"template_slug": "string",
"type": "id_document"
}'Responses
201Successful Response{
"id": "00000000-0000-0000-0000-000000000000",
"reason_codes": [
"string"
],
"result": "approved"
}422Validation ErrordetailNo additional field description.
Operation ID
create_verification_v1_flows_post