Identity verification

Identity Paper Verification - Signicat Paper API

1236 views February 6, 2018 September 30, 2019 4


The Signicat Paper API provides the functionality to analyze an identity document (like a passport or a driver’s license). The API both validates the authenticity of the ID paper and extracts the data printed on it. In addition, the API can extract the photo on the ID paper, which in turn can be used towards the Microsoft Face API in order to add an additional layer of security by verifying that the end user is the owner of the ID paper provided.

Using the service


All requests must be authenticated by means of an OIDC access token, supplied as an Authorization header of type Bearer. For more
instructions on how to obtain such a token, please refer to Accessing Signicat REST services. This service requires that the scope client.paper.analyze client.paper.getresult is requested.


Base URL
Content type
/paper/ PUT application/json Identity paper request payload If accepted (HTTP 202), returns RequestStatus.
/paper/{requestId} GET application/json AnalysisResult
/paper/{requestId}/status GET application/json RequestStatus

Code examples

Examples using cURL
curl -X PUT \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -H "Cache-Control: no-cache" \
    -H "Authorization: Bearer <token>" \
    -d '{"country_code":"GB", "type": "passport", "include_images": true, "front_image": "base64image", "back_image": null}' \
curl -X GET \
    -H "Accept: application/json" \
    -H "Cache-Control: no-cache" \
    -H "Authorization: Bearer <token>" \
curl -X GET \
    -H "Accept: application/json" \
    -H "Cache-Control: no-cache" \
    -H "Authorization: Bearer <token>" \



country_code String ISO 3166-1 alpha-2 country code of ID paper issuer. Can be autodetected in certain cases, but its presence is recommended.
type enum values: [drivers_license|passport|national_id_card|residence_permit]. Type of ID paper to analyze.
include_images boolean If true, image-type features (like photo and signature) will be returned in the AnalysisResult as base64 encoded images.
front_image Base64 encoded image A base64 encoded image of the front side of the ID paper.
back_image Base64 encoded image A base64 encoded image of the back side of the ID paper. In the case of passports, this can be null.


request_id String The request ID to use for subsequent requests to the API
status_code enum values: [completed|failed|pending|processing|missing]. If completed or failed, the AnalysisResult can be fetched. If pending or processing, the status endpoint must be polled. If missing, the analysis has either timed out or the requestId is invalid.
status URI URI to the status endpoint which can be polled for updates to this request.
result URI URI to the result endpoint which can be queried to get the AnalysisResult for this request. If the status is pending or processing, requests to this endpoint will block until results exist.


status enum values: [completed|failed|pending|processing|missing].
fields Object Map of key-value pairs where each pair corresponds to an attribute found on the ID paper (e.g. surname)
mrz Object Map of key-value pairs where the key corresponds to an attribute found in the Machine-Readable-Zone in the ID-paper.

The value is an object containing two attributes:

  • value (String): The value of this attribute
  • verified (boolean): Whether this attribute was covered by and passes a checksum check. Note that certain attributes (like names) are not covered by check digits in standard MRZs

Was this helpful?