ID document checking and general document scanning are historically the most common means of identifying new customers and is still considered an option to national electronic identification methods. We offer automatic detection and analysis of identity cards, passports and driving licenses.

The service Forgery Detection can be used as a measure to increase the confidence level and safeguard against deliberate tampering. Forgery Detection – ZignSec Docs


  1. Initialize scanning session
  2. Complete browser steps
  3. Get analysis result

A scanning session is the overarching unit of work. It contains a collection of documents to be analysed. A scanning session can contain several analyses. An analysis is started by supplying the scanning session with an analysis configuration object.

Scanning flow can be configured using merchant settings, please contact Zignsec Support for assistance.

NEW March 2020: You can start the web flow from the WebSDK (without API integration)

Step 1: Initialize scanning session

NOTE: all parameters are optional, document to be done by default. Pass empty object to use defaults.

Step 1.1: Example of initializing scanning session

Authorization: YOUR-KEY....

  "relay_state": "client_state",
  "analysis_types": [
  "target": "",
  "target_error": "",
  "webhook": ""

Step 1.2: Description of request model

localePreferred Language to use, we support multiple languages like : en , se ,de , fr, gr, it ,ru ,es , cz, tr.

We can add more languages as per your business requirements
relay_stateThis semi-optional parameter will be returned to you at the redirect back to your server. Use it to link an unique ID of your choice that you can parse. If not relaystate is specified, ZignSec will automatically set the ZignSec’s unique session identifier, the RequestID token here. Example: "relay_state":"client_state"

Parameter to set up types of analysis that will apply for current session. Types of analysis:

    • document
    • selfie
targetIf this parameter is supplied the browser session will finally be redirected to this URL-value. Example : "target": ""
target_errortarget_error works as target except it is navigated on user cancel or error situations.

A URL where success/error results will automatically be POST:ed.

During test you try for free web hook URLs.

Step 1.3: Example of response for initializing scanning session

    "id": "231a7aa4-f6d3-468b-9aab-7ec4c6ee3a8c",
    "errors": [],
    "redirect_url": ""

Step 1.4: Description of response model

idThe session identifier, a GUID (globally unique identifier) unique for the started workflow, used both in the redirect_url and the get analysis results.
errorsA JSON object that contains information on error conditions that might have resulted from the request, in an array of property-value pairs. If multiple errors occur, a pair of parameters is returned for each error. code Code for the error. List of codes is in table below. description A string that describes the type of error that occurred. If no errors occur, then this object is empty. errors : []
redirect_urlThe URL that the user need to be redirected to complete the data via the web interface. It is possible to load the URL in an iframe.

Step 2: Browser steps

There are two approaches to complete files upload to scanning:

    • Browser flow
    • Mobile flow

Step 2.1: Example of browser flow

Browser flow: Upload all images from current browser.

Start verify identity

Continue verification in browser

Select document type

Upload ID images

Upload selfie (optional depend on analysis types)

Waiting result


Step 2.2: Example of mobile flow

Mobile flow: start session in browser, continue in mobile, back to browser.

Browser steps

Start verify identity

Scan QR code by mobile or send SMS with link to mobile




Waiting result

Mobile steps
 Open link from QR code or from SMSSelect document typeUpload ID imagesUpload selfie (optional depend on analysis types)Files submitted, go to browser

Step 3: Get analysis result

To get result of scanning you need to call API Get result.