Skip to main content

Fourthline SDK Integration

The Fourthline SDK Integration is used for remote identity verification (IDV) and other verification workflows (such as Bank Account Verification or Qualified Electronic Signatures).

This documentation details the REST API endpoints required to initialize and manage Fourthline sessions for the Web or Mobile SDKs. For a high-level overview of how IDV fits into the onboarding process, see the Identity Verification (IDV) guide.


Workflow Statuses

A Fourthline workflow progresses through various statuses as the user completes the identification and the backend processes the results.

StatusDescription
newThe workflow was created and is ready for a session.
pendingThe user has started the verification process.
inconsistent_dataNon-terminal error: Data submitted is inconsistent (e.g., name mismatch). Retry typically required.
invalid_dataNon-terminal error: Documentation or selfie was unreadable. Retry required.
fraudTerminal failure: Fraudulent activity detected.
rejectedTerminal failure: Verification was explicitly rejected.
successVerification was successful.
completedThe verification is finished and the final assessment is ready.

Listing Workflows

To see the Fourthline workflows associated with a person:

Endpoint: GET /persons/{person_id}/fourthline_workflows

Automatic Creation

Fourthline workflows are automatically generated by the backend when an Identity Verification (IDV) entitlement is triggered. There is no public POST endpoint to create workflows manually. See the IDV Guide for more details on the automated flow.

Example Response

{
"items": [
{
"id": "44907951-1825-4a91-b1c8-f84d708a22e3",
"owner_type": "person",
"owner_id": "b14254a1-cb2d-4c7c-93b2-b4ecb88a903b",
"fl_workflow_id": "8e9b9a45-6212-4a77-bb43-4b8d123a5e42",
"branch": "NoNDEUEU",
"name": "IDV",
"status": "new",
"created_at": "2024-09-03T14:55:26.346500Z"
}
],
"total": 1
}

Managing Sessions

A Session is required to initialize the Fourthline SDK on the frontend or mobile app.

Create a Session

Endpoint: POST /persons/{person_id}/fourthline_workflows/{workflow_id}/fourthline_sessions

Request Body:

FieldTypeRequiredDescription
targetStringYesEither Web or Mobile (case-sensitive).
View Example Request
curl -X POST https://<kyc_domain>/api/v1/persons/{person_id}/fourthline_workflows/{workflow_id}/fourthline_sessions \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"target": "Web"
}'

Example Response

{
"id": "c3f67a14-0a4a-4c52-bc69-2905f79dc41f",
"fourthline_workflow_id": "44907951-1825-4a91-b1c8-f84d708a22e3",
"target": "Web",
"validation_code": "9999C2FP",
"expiry_date_time": "2024-09-03T16:55:26Z",
"created_at": "2024-09-03T14:55:26.346500Z"
}

List Sessions

Endpoint: GET /persons/{person_id}/fourthline_workflows/{workflow_id}/fourthline_sessions

Retrieves all sessions created for a specific Fourthline workflow.