Run a Document verification check (API)

This developer guide takes you through the steps to run a Document verification check in the PassFort API 4.0 to confirm whether an individual's proof of identity document is valid.

This check can be run on the Verify identity task (INDIVIDUAL_VERIFY_IDENTITY) or the Verify address task (INDIVIDUAL_VERIFY_ADDRESS).

If you'd like to use this check on the Verify address task, you should ensure that:

  1. The documents provided contain proof of address as well as proof of identity (e.g. a driver's license).
  2. Your data provider extracts addresses from documents.
It's not possible to run a variant of this check with Onfido on the Verify address task because Onfido does not extract the individual’s address from the document. For more information about how Onfido handles this check, see Onfido's documentation.

With this check, you upload the document directly to the profile. If you'd like to collect the document from the customer via the data provider's SDK, use the Document fetch check instead.

Where possible, we recommend using the Document fetch check because it also enables you to use any services the data provider is offering to check the quality of users' photos of documents. Contact your data provider to find out what services they offer.

In the portal, the name of the Document verification check is ID verification (PassFort collects documents).

1. Select a profile for the check

Document verification checks are always run on profiles with the INDIVIDUAL entity type.

Choose an individual profile to run the check on, and get the profile's ID number (e.g. a2c4393a-e219-67a4-5ab4-2186952e9038). You'll need it to make the request in the next step.

If you haven't created the profile yet, follow these steps to create an individual profile via the API.
You can also create a profile via the portal. To get the profile ID, view the profile in the portal and copy the string of letters and numbers after /onboarding/ in the URL.

2. Confirm the profile has the required fields

To see all data on the profile, make a request to the following endpoint.

Request endpoint:

GET https://api.passfort.com/4.0/profiles/{profile_id}

In this example, data is returned for an individual profile named "Alex Wheeler". The profile has the Verify identity and Verify address tasks.

Sample response:

{
"applications": [ … ],
"category": "APPLICANT",
"checks": [ ],
"collected_data": {
"entity_type": "INDIVIDUAL",
"address_history": [
{
"address": {
"type": "STRUCTURED",
"country": "GBR",
"locality": "London",
"original_freeform_address": "Crown, 38, Street, London, W1 2ZT",
"original_structured_address": { … },
"postal_code": "W1 2ZT",
"route": "Street",
"street_number": "38",
"subpremise": "Crown"
}
}
],
"contact_details": { },
"personal_details": {
"dob": "1975-04-19",
"name": {
"family_name": "Wheeler",
"given_names": [
"Alex"
]
},
"national_identity_number": { },
"nationality": "GBR"
}
},
"collection_steps": [ ],
"creation_date": "2019-10-03 13:48:16",
"display_name": "Alex Wheeler",
"document_images": [ ],
"events": [ ],
"has_associates": false,
"has_collection_steps": false,
"id": "a2c4393a-e219-67a4-5ab4-2186952e9038",
"linked_to": [ ],
"role": "INDIVIDUAL_CUSTOMER",
"root_id": "6bba3592-d9de-1ee5-8e97-ba8d8d13c558",
"status": "NORMAL",
"tags": [ ],
"task_progress": { … },
"task_types": [
"INDIVIDUAL_VERIFY_IDENTITY",
"INDIVIDUAL_VERIFY_ADDRESS"
],
"tasks": [
{
"check_ids": [ ],
"creation_date": "2019-10-03 13:48:16",
"form_instance_ids": [ ],
"id": "3d7a333c-418d-72a1-007b-06854dbb28eb",
"is_complete": false,
"is_expired": false,
"is_skipped": false,
"state": "INCOMPLETE",
"type": "INDIVIDUAL_VERIFY_IDENTITY",
"variant": {
"alias": "verify_identity",
"id": "ddc72ea7-6e45-cc3b-dc52-30a94b9ec8c2",
"name": "Verify identity",
"task_type": "INDIVIDUAL_VERIFY_IDENTITY"
}
},
{
"check_ids": [ ],
"creation_date": "2019-10-03 13:48:16",
"form_instance_ids": [ ],
"id": "72aadb55-8b02-8495-d6b0-e1627ec23612",
"is_complete": false,
"is_expired": false,
"is_skipped": false,
"state": "INCOMPLETE",
"type": "INDIVIDUAL_VERIFY_ADDRESS",
"variant": {
"alias": "verify_address",
"id": "5562c4e4-4d12-b16a-a151-7c9eed6816e9",
"name": "Verify address",
"task_type": "INDIVIDUAL_VERIFY_ADDRESS"
}
}
],
"unresolved_event_types": [ ]
}

Use the response to:

  1. Confirm the profile has the type of task you want to run the check on. To run this check on the Verify address task, the profile must have a task with the INDIVIDUAL_VERIFY_ADDRESS type. To run this check on the Verify identity task, the profile must have a task with the INDIVIDUAL_VERIFY_IDENTITY type.
  2. Take note of the corresponding task ID (tasks.id). Use the corresponding task alias (tasks.variant.alias) to confirm that you're looking at the right task. Note that the task variant ID (tasks.variant.id) won't be used to run this check, so you don't need to take note of it.
  3. Confirm the profile has data for these required keys, which are stored in the collected_data object:
    1. personal_details.name.given_names: The individual's first and (if applicable) middle names.
    2. personal_details.name.family_name: The individual's surname.
    3. address_history: An array of objects containing a list of the individual's addresses. Note that this field is only required if the document will be used to verify the individual's address.
    4. personal_details.dob: The individual's date of birth. Note that this field is only required if you're using a check variant with Onfido or GBGroup ID3global as the data provider. If you're using a check variant with idvcheck as the data provider, this is an optional field.
    5. personal_details.nationality: The individual's country of nationality. Note this field is only required if you're using a check variant with idvcheck or GBGroup ID3global as the data provider and the Check nationality option is also configured. If the Check nationality option is not configured, this is an optional field. If you're using Onfido, this field isn't used at all.

If the required fields do not exist on the profile or do not contain valid data, the check will return an error when you try to run it in step 3.

To learn how to add/update the fields in the profile's collected_data, see Update PassFort's profile data.

The document_id is also a required field. We'll create it in the next step.
To learn which optional profile fields can be used for this check and to learn about configuration options like the Check nationality option, see the article for your data provider: Onfido, GBGroup ID3global, idvcheck.

3. Create the document object

In PassFort, every document is a collection of one or more images.

For example, a driver's license might have one image of the front of the license and one image of the back of the license.

To add a document to a profile, you need to:

  1. Add the document images to the profile's document_images.
  2. In the profile's documents array of objects, create a new object to represent the document. Add the images from document_images to the object when you create it.
When you add an image to a profile's document_images, there's no way to see it via the portal until you create the document object later.

Add the document images to the profile

To add images to the profile's document_images, make the following request once per image.

Images must be encoded in Base64.

Each time you make the request, take note of the image ID returned in the response. You'll need it to create the document object in the next step.

The image size limit is 10MB. The following file types are accepted: GIF, JPG, PNG, PDF.
You can find free tools online to encode your images in Base64.

Request endpoint:

POST https://api.passfort.com/4.0/profiles/{profile_id}/document_images

Body parameters:

When you make the request, include the following parameters in the body.

Key

Value

Description

data

Required

String

See the sample request body below for a sample value.

The image, encoded in Base64.

Optionally, the Base64-encoded image can be a URI string.

image_type

Optional

This key is required when using the Check facial similarity configuration option with Onfido.

String

FRONT, BACK, or FACE

If you're using the Check facial similarity configuration option with Onfido, the value must be FACE for at least one of the document images.

If you do not send a value for this key, the value is set to FRONT automatically.

Whether the image represents the front of the document, the back of the document, or the individual's face.

In this example, an image of a file icon is added to the profile's document_images. The image ID is returned in the response.

Sample request body:

{
"data": "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAQAAABIkb+zAAABMUlEQVR4Ae3YsTFAURhE4ZUAkAKIFAhEkIpFoAIAOQAJ0IYEAIAS4C07b+acv4H9Zm50RURE9K061KdNXeqj4I0pUL3m9V54eoxQpSPb+Ahhwjg9QGjRqz7KTBixzg4QDmxzQ4RzE0Apwr0NECL4AAZCHhAgeAEBghcQIDxYAQGCFxAgeAEBghcQIHgBAYIXECA8WgEBghcQIHgBAYIXECB4AQHCkwvwO0K5ANJY2QHSWNkB0lge4LzCPQMAACB6AF4AAABQbsArAAAAyg14AwAAQPQAvAMAAKDcgA8AAAAAAAAAAIDfVgEAAIDwFe46Ov9ahTuNAs5UuPEoYFyF6wl+bb2pU4ZmY4ApWarVWej9V8lUk9b++XvlXYuql7VuDWlbV38+/VIb6v/e2yciIvoEBh6x5m3tSdoAAAAASUVORK5CYII=",
"image_type": "FRONT"
}

Sample response:

{
"id": "ec1565b6-82c7-0577-8b3a-94462b67c97a",
"image_type": "FRONT",
"upload_date": "2019-10-03 14:05:19"
}

In this next example, an image of a face icon is added to the profile's document_images. Again, the image ID is returned in the response.

Sample request body:

{
"data": "iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAQAAABIkb+zAAAFDklEQVR4Ae3bQ5glSRSG4e+Wcdu2bdu2bdvdu0FrtGtjbNv7tm3bNmNWoziVHTdVWfU89/23cTJzkYw8QVRUVFRUlIfK0ItZLOUXNnGIizzlARc5yEZ+Zgkz6UEpMqQsDOZ9zqDM4QTv0p9UMowarOY+ymZus5IqBCyBQWxEucg6+hNHIHIxl0soD3KOl8lOugoximsoD3OZ4aSbymxC+ZB1VMB/9OQhyqfcpzO+iuENlCGPWMvbzKADNShCEskUpjodmcFq1vLIWL+QED5J4RcU1jnMXFqQyIsk0Zx5HEZhnR9Iwgd52GG5y+u8TmXsqMybXEdZZAs58VgpTlo+VyeQjBMpTLDc6lGK46EinEch85xlJONGKkt5jkLmNAW9O3lOoJA5STO80Mxi+4fIhQeS2I1C5jvCeCXMVyhktpOAaytQIk8ZgdeG8xQlsgSXOqFE7tEaP7TmHkqkLS7klbc67lMLv9TioXxLIheOfYoS6Yqf+qFEPsSh5iiRBfhtAUqkIQ4kclxs6HdC+C3E72K/B4nHtknyvkyY9BDmkNj3eGyKE8/e55QnvVQUT+cTxGHLSJSWlaSnVWL/w7BDvPDeIDtSIpM5hkJxjMkkYmCjLgc3xAlsQ1OUlleQCnLgf2MOUBDBcd0r4hiaErGPtNI7hNGF2CB2sYEQgsO67NzRRn1EhFLF8/BNpFEoGUYhOK57UxvzgFQi0ktsviSCxczEZgTHdaXFqF5EZIl4qZXgHkqGu0jO67Zro5YSkV1a2RwkuGs+ENd1s7VRe8Asp9h4FZAs5kQ3ITmvqyLG5cSolXgCAIFcxIB4nW+F0USt5BvSFpPm7TAGyU3d19rIiRgt1krmYqUQ+/43ch+FkNzVzdWOZjFGf2olA7GWyKR/XgkmkYjktm6gdjR/YiLmIOoQpNra0ezGRMyVlSBIJcRclGC67nMTpNxiFtZEfEokEaQk7WieYSJm8BMIUoL4+2B0NUOfQlcxOpGhL+ITme02Wsf2bVQ8yAYRpEHa0fxh/2tgPkGab/9VYrJW8i1B+kY7mkkYtZWv08ERkyttMMqF0lIVqTLK41RGqipGhcFsj1Y023ixu88fEX1S7iIiy8VfW9Pku/s0A6Stzn449YtoWgV+Q3mU3wGppNNplVQeICe2pLzcRHmQa+RFkhNbD0klQh+LqcXsgDQA5UEGAJKcWvyAiLUQO5kL5svMUWaTtrliZBMiFuKIVnyTHOYdOcirpC27OD0P+feDYzxPUA7ymPFYWSlGD8eWOM6JX0zVsVKfyw665Opjpar4LjxPHDZNEbvcQxgrufUL35CPyI2VMPvE+EnYFs8xm79ZW4gdp519tMBaCPmMP0gcDrRw8KO7GV/xGOuz/mtamF+gRRrg0CcokT6YZKENc/mTnZzhIQ84y27+ZB5tCGPSK83TzbHcyIvzIXXxSx1ks8cVcuNCW5TIbd/abW6jRFr70/A0PLM0PEESO1HIfEoYr2S1uAlvIwkP5OW4RdNfU7zQlJPeNv1JRThn0Xa5xHXb5RJz26W/ja8nmRhE46v3rcdVMlrrsZTCH8bm7+YeNH//TBI+ieEtzC/Ja1n9T/t9CskU4d/2+8eG6ucsIISv+vAgcy2AkKpktiUoUogx3Mh8i4DkMqwrKA9ynlfIQSASGOLydFrLQOIIWE3eyWxLEaWsDLKxGPQ9sRg0wyhDT2057kMucpBNfizHjYqKioqK+gugEYUfpUhYBwAAAABJRU5ErkJggg==",
"image_type": "FACE"
}

Sample response:

{
"id": "5562c4e4-4d12-b16a-a151-7c9eed6816e9",
"image_type": "FACE",
"upload_date": "2019-10-03 14:08:12"
}

Create the document object

Make the following request to create an object in the profile's documents array of objects. Send the image(s) you uploaded to the profile's document_images in the previous step.

Forgot to take note of the image ID(s) in the previous step? Make this request to the profile: GET https://api.passfort.com/4.0/profiles/:profile_id/document_images. The document_images array of objects is returned. Learn more in the API resources for Get list of document images.

Take note of the document ID returned in the response. You'll need the document ID to run the check later.

Request endpoint:

POST https://api.passfort.com/4.0/profiles/{profile_id}/collected_data/documents
This endpoint updates a part of the profile's collected_data. The main request to update profile_data is documented in the guide to Sync profile data with your system data and in the API resources for Update collected data.

Body parameters:

When you make the request, include the following parameters in the body.

Key

Value

Description

category

Required

String

On the Verify address task: PROOF_OF_ADDRESS

On the Verify identity task, the value depends on your data provider:

  • For Onfido or GBGroup: PROOF_OF_IDENTITY
  • For idvcheck: PROOF_OF_ADDRESS, PROOF_OF_IDENTITY, PROOF_OF_BANK_ACCOUNT, or PROOF_OF_TAX_STATUS

This field is used by the data provider to understand how to treat the document.

document_type

Required

String

When the category is PROOF_OF_ADDRESS: STATE_ID or DRIVING_LICENSE

When the category is PROOF_OF_IDENTITY: DRIVING_LICENSE, PASSPORT, STATE_ID, VOTER_ID (Onfido only), or BIOMETRIC_STATE_ID (Onfido only)

When the category is PROOF_OF_BANK_ACCOUNT: BANK_STATEMENT

When the category is PROOF_OF_TAX_STATUS: TAX

The type of document you're creating (e.g. a passport, a driving license, etc).

images

Required

Array of objects

See the sample request body below for a sample value.

Array of objects where each object corresponds to one image from the profile's document_images.

images.id

Required

String

Sample value: ec1565b6-82c7-0577-8b3a-94462b67c97a

The unique identifier for a document image.

In this example, we'll create a document object for a passport that's made up of the FRONT and FACE images we added to the profile's document_images earlier. The document ID is returned in the response.

Sample request body:

{
"category": "PROOF_OF_IDENTITY",
"document_type": "PASSPORT",
"images": [
{
"id": "ec1565b6-82c7-0577-8b3a-94462b67c97a"
},
{
"id": "5562c4e4-4d12-b16a-a151-7c9eed6816e9"
}
]
}

Sample response:

{
"category": "PROOF_OF_IDENTITY",
"document_type": "PASSPORT",
"id": "9a92b3c5-e804-06bc-cccc-6b3b43ea2a7a",
"images": [
{
"id": "ec1565b6-82c7-0577-8b3a-94462b67c97a",
"image_type": "FRONT",
"upload_date": "2019-10-08 14:20:02"
},
{
"id": "5562c4e4-4d12-b16a-a151-7c9eed6816e9",
"image_type": "FACE",
"upload_date": "2019-10-08 14:20:02"
}
]
}

4. Run the check

Now that you have the document object, you can run the check and get the results.

Run the check

To run the check, send a request to the endpoint below.

In the request body, include the document ID (returned when you created the document object) and the task ID (returned when you got all data from the profile).

Forgot to take note of the document ID or the task ID? Send a request to get all data from the profile. The document ID is returned in collected_data.documents.id and the task ID is returned in tasks.id.

Request endpoint:

POST https://api.passfort.com/4.0/profiles/{profile_id}/checks

Body parameters:

When you make the request, include the following parameters in the body.

Key

Value

Description

check_type

Required

String

DOCUMENT_VERIFICATION

The type of check that's being run.

document_id

Required

String

Sample value: 9a92b3c5-e804-06bc-cccc-6b3b43ea2a7a

The unique identifier for the document in the profile's documents.

task_ids

Optional (but we recommend including it whenever possible)

Array of strings

INDIVIDUAL_VERIFY_IDENTITY (for the Verify identity task) or INDIVIDUAL_VERIFY_ADDRESS (for the Verify address task).

If you do not send a value for this key, the check is run on the Verify identity task when the document category is PROOF_OF_IDENTITY and run on the Verify address task when the document category is PROOF_OF_ADDRESS.

The unique identifier for the task(s) the check will run on.

In the example below, we'll run the check on the Verify identity task, sending the document we created earlier.

Sample request body:

{
"check_type": "DOCUMENT_VERIFICATION",
"document_id": "9a92b3c5-e804-06bc-cccc-6b3b43ea2a7a",
"task_ids": [
"3d7a333c-418d-72a1-007b-06854dbb28eb"
]
}

Sample response:

{
"check_type": "DOCUMENT_VERIFICATION",
"deadline": "2019-10-14 14:37:46",
"document_id": "9a92b3c5-e804-06bc-cccc-6b3b43ea2a7a",
"id": "ea565b55-47d9-1858-4588-3a22a3838707",
"input_data": {
"address_history": [ … ],
"documents": [
{
"category": "PROOF_OF_IDENTITY",
"document_type": "PASSPORT",
"id": "9a92b3c5-e804-06bc-cccc-6b3b43ea2a7a",
"images": [
{
"id": "ec1565b6-82c7-0577-8b3a-94462b67c97a",
"image_type": "FRONT",
"upload_date": "2019-10-03 14:05:19"
},
{
"id": "5562c4e4-4d12-b16a-a151-7c9eed6816e9",
"image_type": "FACE",
"upload_date": "2019-10-03 14:08:12"
}
]
}
],
"entity_type": "INDIVIDUAL",
"personal_details": { … },
},
"instructed_on": "2019-10-03 14:26:44",
"performed_on": "2019-10-03 14:26:48",
"providers": [ … ],
"started_on": "2019-10-03 14:26:44",
"state": "RUNNING",
"task_ids": [ … ],
"variant": { … }
}

This check often takes a bit of time to run, so the check state will likely be RUNNING in the response because the response is returned immediately. See the next step to learn how to get the check results as soon as they come in from the data provider.

Get the check result

Listen to the Check completed webhook to get a notification when the check is finished running and learn what the result is.

To enable this webhook, turn on the Check completed event.

This webhook sends a callback whenever results are returned from any check (including checks other than the Document verification check).

Callbacks from this webhook have several important keys:

  • id: The check ID. Use it to confirm the callback is for your check by matching it to the check ID you captured in step 2.
  • data.check.check_type: The type of check was run. When the Document verification check was run, the value is DOCUMENT_VERIFICATION.
  • data.check.variant.alias: The alias for the check variant. You can use it for additional confirmation that the callback is for your check by matching it to the check variant alias you captured in step 2.
  • data.check.result: The results of the check. Possible results for the Document verification check are Pass, Fail, or Error. To learn what triggers each result, see the configuration article for your data provider: Onfido, GBGroup ID3global, idvcheck.
When the check results are returned from the data provider, PassFort cross-references the information from individual’s collected_data with the information returned from the data provider to ensure it matches. This means it's possible for the data provider to pass the check and for PassFort to fail the check.

In this example, a Document verification check passed.

Sample callback:

{
"id": "33bae6b8-5689-b96b-143c-06e93ab8527e",
"event": "CHECK_COMPLETED",
"secret": "yourSecret",
"timestamp": 1570807808,
"data": {
"check": {
"check_type": "DOCUMENT_VERIFICATION",
"id": "ea70ade9-3de3-1785-203b-68044cd3ecbb",
"result": "Pass",
"variant": {
"alias": "gbgroup_document_verification",
"id": "ea565b55-47d9-1858-4588-3a22a3838707",
"name": "Default"
}
},
"customer_ref": null,
"profile_id": "a2c4393a-e219-67a4-5ab4-2186952e9038"
}
}

Use the response to:

Confirm the check passed:

  • If the check has passed, the data.check.result is Pass.
  • If the check hasn't passed, the data.check.result is Fail.
  • If an error occurred, the data.check.result is Error.

See Getting more information about the check result to learn what forgery or image checks the data provider performed, what information the data provider extracted from the document, any error or failure details, and more.

Getting more information about the check result

If you want to get more information about the results from the webhook, make a call to the endpoint below.

In the request body, include the check ID (check.id) and the profile ID (data.profile_id) from the webhook callback.

We recommend listening to the Check completed webhook to find out when the check is finished because it's more efficient than continuously polling the endpoint below.

Request endpoint:

GET https://api.passfort.com/4.0/profiles/{profile_id}/checks/{check_id}

In this example, the Document verification check returned an error. We can see from the response that this was because the image was outside the data provider's size limits.

Sample response:

{
"check_type": "DOCUMENT_VERIFICATION",
"completed_on": "2019-10-03 14:28:02",
"decision": "ERROR",
"document_id": "9a92b3c5-e804-06bc-cccc-6b3b43ea2a7a",
"errors": [ ],
"id": "ea70ade9-3de3-1785-203b-68044cd3ecbb",
"input_data": {
"address_history": [
{
"address": {
"type": "STRUCTURED",
"country": "GBR",
"locality": "London",
"original_freeform_address": "Crown, 38, Street, London, W1 2ZT",
"original_structured_address": { … },
"postal_code": "W1 2ZT",
"route": "Street",
"street_number": "38",
"subpremise": "Crown"
}
}
],
"documents": [
{
"category": "PROOF_OF_IDENTITY",
"document_type": "PASSPORT",
"id": "9a92b3c5-e804-06bc-cccc-6b3b43ea2a7a",
"images": [
{
"id": "ec1565b6-82c7-0577-8b3a-94462b67c97a",
"image_type": "FRONT",
"upload_date": "2019-10-03 14:05:19"
},
{
"id": "5562c4e4-4d12-b16a-a151-7c9eed6816e9",
"image_type": "FACE",
"upload_date": "2019-10-03 14:08:12"
}
]
}
],
"entity_type": "INDIVIDUAL",
"personal_details": {
"dob": "1975-04-19",
"name": {
"family_name": "Wheeler",
"given_names": [
"Alex"
]
},
"nationality": "GBR"
}
},
"instructed_on": "2019-10-03 14:26:44",
"output_data": {
"documents": [
{
"category": "PROOF_OF_IDENTITY",
"document_type": "PASSPORT",
"id": "ce712852-ef66-11e9-9774-3607af249582",
"images": [
{
"id": "9e3ca2d4-ef66-11e9-bbe4-a6cea75352cd",
"image_type": "FRONT",
"upload_date": "2019-10-15 16:12:43"
},
{
"id": "b57b4e9a-ef66-11e9-a62d-3607af249582",
"image_type": "FACE",
"upload_date": "2019-10-15 16:13:22"
}
],
"verification_result": {
"all_passed": false,
"error_reason": "(ErrorSource.PROVIDER) Error 303: Provider Error: The supplied image is outside of the recommended sizes [en-GB] while running 'ID3Global IDScan' service."
}
}
],
"entity_type": "INDIVIDUAL"
},
"performed_on": "2019-10-03 14:26:48",
"providers": [
{
"instructed_on": "2019-10-03 14:26:44",
"provider_name": "GB Group ID Scan",
"variant_name": "GBgroup ID"
}
],
"result": "Error",
"started_on": "2019-10-15 16:16:36",
"state": "COMPLETE",
"task_ids": [
"3d7a333c-418d-72a1-007b-06854dbb28eb"
],
"variant": {
"id": "5562c4e4-4d12-b16a-a151-7c9eed6816e9",
"name": "Verify identity - Forexo"
}
}

The input_data.documents array of objects that's returned in the response contains important information about the documents:

  • extracted_data: An object containing all the information the data provider extracted from the document.
  • verification_result.field_checks: A set of comparisons between the information extracted from the data provider and the information in the profile.
  • verification_result.forgery_checks: The results of any forgery checks conducted by the data provider.
  • verification_result.image_checks: The results of any image quality checks conducted by the data provider.

The output_data.documents.verification_result object that's returned in the response contains some important information about the check result:

  • all_passed: When all the image, forgery, and field checks have passed, the value of this key is true. When one or more checks have failed, the value of this key is false.
  • document_type_passed: When the correct document_type was used, the value of this key is true. If an incorrect document_type was used, the value of this key is false.
  • error_reason: A description about why the check returned an error.
  • field_checks: An array of objects that contains one object for every profile field that was cross-referenced with the information extracted from the data provider.
  • forgery_checks: An array of objects that contains one object for every forgery check performed by the data provider, along with a detailed result for each one.
  • forgery_checks_passed: When all forgery checks performed by the data provider passed, the value of this key is true. When one or more forgery checks failed, the value of this key is false.
  • image_checks: This array of objects contains one object for every image check performed by the data provider, along with a detailed result for each one.
  • image_checks_passed: When all image checks performed by the data provider passed, the value of this key is true. When one or more image checks failed, the value of this key is false.
  • provider_name: The name of the data provider.

For a description of every field that might be returned in the response, see the API Resources for Get results of a specific check.

Now that you have the results of the check, you may want to mark the task as complete.


How did we do?


Powered by HelpDocs