View Categories

Initiate External Identification API

1 min read

Initiate External Identification #

Starts the external identification flow (Onfido + document signing) and returns the URL the client must open in a browser or WebView.

Endpoint #

POST https://api-test.10npay.com/Enrollment/initiate-external-identification

Headers #

  • Authorization: Bearer <access_token>
  • Content-Type: application/json

Request Body #

{
  "userId": 2077,
  "isRestartIdentification": false,
  "localTimezone": "Europe/Sofia",
  "userAgent": "Chrome/119.0",
  "browserLanguage": "bg",
  "userLanguage": "bg",
  "deviceName": "MacBook Pro",
  "correlationType": 0
}
Field Type Description
userId integer User identifier. Required.
isRestartIdentification boolean If true, force a brand-new session even if one is in progress.
localTimezone, userAgent, browserLanguage, userLanguage, deviceName string Optional metadata used for auditing/support.
correlationType integer (enum) Optional context flag (default 0).

Response — 200 OK #

{
  "videoIdentificationUrl": "https://onfido-session-url",
  "videoIdentificationStatus": "STARTED",
  "message": ""
}

Open videoIdentificationUrl to render the Onfido flow (ID capture, liveness, document signing).

Errors #

  • 400 Bad Request — user not eligible (missing additional data, wrong state).
  • 401 Unauthorized — missing/expired token.
  • 404 Not Found — unknown userId.
  • 5xx — gateway or backend error.

Flow Notes #

  • After the user completes Onfido, your client will be redirected to the Success/Fail URLs configured in the portal.
  • Immediately after a Success redirect, start polling GET /Enrollment/{id}/0/true/get-identification-process-status (Phase A) until SIGN_SESSION_ID_SUCCESSFULLY_CREATED.
  • Then open the returned signing URL (Signhost) and, after completion, poll again (Phase B) until DOCUMENT_SIGN_SUCCESS.
  • Finally, call POST /Enrollment/finalize-external-identification to persist the outcome.