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.
| Status | Description |
|---|---|
new | The workflow was created and is ready for a session. |
pending | The user has started the verification process. |
inconsistent_data | Non-terminal error: Data submitted is inconsistent (e.g., name mismatch). Retry typically required. |
invalid_data | Non-terminal error: Documentation or selfie was unreadable. Retry required. |
fraud | Terminal failure: Fraudulent activity detected. |
rejected | Terminal failure: Verification was explicitly rejected. |
success | Verification was successful. |
completed | The 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
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:
| Field | Type | Required | Description |
|---|---|---|---|
target | String | Yes | Either 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.