Developer Centre
Platform LoginStatus
  • Getting started
    • Integration types
    • Generating an authentication token
    • Using basic authentication
  • Applicants
    • Creating an applicant
    • Generating a verification link
    • Uploading documents to an applicant
      • Supported Documents and Types
    • Requesting to start the verification process
  • Applicant Results
    • Retrieving applicant verification results
      • Understanding applicant rejection labels
      • Setting up a webhook
    • Downloading verified documents
  • Entities
    • Check types and coverage
    • Creating an entity
    • Generating a verification link
    • Uploading documents to an entity
      • Supported Documents and Types
    • Linking a UBO to an entity
    • Requesting to start the verification process
  • Entity Results
    • Retrieving entity verification results
      • Understanding entity rejection labels
      • Setting up a webhook
    • Retrieving entity ownership structures
    • Retrieving entity questionnaire answers
  • Anti-Money Laundering
    • Retrieving AML results
  • Database Verification
    • Applicants
      • Verifying applicant identity data
    • Entities
      • Verifying entity information
  • Pages
    • Overview
    • Creating a Page
    • Verifying with Pages
  • Domain Names
    • Overview
    • Linking your domain
  • Flow Logic
    • Overview
  • Workspaces
    • Switching Workspaces
  • Modules
Powered by GitBook
On this page

Was this helpful?

  1. Applicant Results

Retrieving applicant verification results

When an applicant has finished processing, you can retrieve the verification results.

Verifications typically take ~2 minutes on average to process. When an applicant has finished processing, use this endpoint to retrieve extracted data from their documents along with the verification result.


Retrieving the result

POST /api-applicant-status

Retrieve the verification status, and extracted data from an applicant's documents.

Name
Value

Content-Type

multipart/form-data

Authorization

Bearer YOUR_TOKEN

Body

Name
Type
Description

applicantId

string

Unique applicantId generated on applicant creation (required)

Request

curl --location 'https://enterprise.personr.co/api/1.1/wf/api-applicant-status' \
--form 'applicantId="4242424242424x424242424242424242"'
var axios = require('axios');
var FormData = require('form-data');
var data = new FormData();
data.append('applicantId', '4242424242424x424242424242424242');

var config = {
  method: 'post',
maxBodyLength: Infinity,
  url: 'https://enterprise.personr.co/api/1.1/wf/api-applicant-status',
  headers: { 
    ...data.getHeaders()
  },
  data : data
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});
var form = new FormData();
form.append("applicantId", "4242424242424x424242424242424242");

var settings = {
  "url": "https://enterprise.personr.co/api/1.1/wf/api-applicant-status",
  "method": "POST",
  "timeout": 0,
  "processData": false,
  "mimeType": "multipart/form-data",
  "contentType": false,
  "data": form
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
require "uri"
require "net/http"

url = URI("https://enterprise.personr.co/api/1.1/wf/api-applicant-status")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
form_data = [['applicantId', '4242424242424x424242424242424242']]
request.set_form form_data, 'multipart/form-data'
response = https.request(request)
puts response.read_body
import requests

url = "https://enterprise.personr.co/api/1.1/wf/api-applicant-status"

payload={'applicantId': '4242424242424x424242424242424242'}
files=[

]
headers = {}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

Response

{
    "status": "success",
    "response": {
        "applicantStatus": "Reviewed",
        "applicantActionStatus": "Reviewed",
        "result": {
            "Modified Date": 1709088258859,
            "Created Date": 1699237071350,
            "reviewAnswer": "Approved",
            "applicant": "1699236591586x0000000000000000000",
            "company": "1668816503943x0000000000000000000",
            "rejectLabels": [],
            "verification": "1699236590532x0000000000000000000",
        },
        "extractedFirstName": "JOHN DEREK",
        "extractedLastName": "SAMPLE",
        "extractedBirthDate": "1995-10-23",
        "documentCountry": "AUS",
        "extractedStreetNum": "123",
        "extractedStreet": "SAMPLE LANE",
        "extractedCity": "PERTH",
        "extractedState": "WESTERN AUSTRALIA",
        "extractedPostCode": "6000",
        "ipAddress": "xxx.xxx.xxx.xxx",
        "ipTimezone": "Australia/Perth",
        "ipCountry": "Australia",
        "ipCity": "Perth",
        "documents": [
            "PASSPORT",
            "ID_CARD",
            "SELFIE"
            ],
        "docNumber": [
            "PA123456789",
            "123456789"
            ],
        "docCountry": [
            "AUS"
            ],
        "sourceKey": "Example Source Key",
        "externalUserId": []
    }
}
{
    "status": "success",
    "response": {
        "applicantStatus": "Reviewed",
        "applicantActionStatus": "Reviewed",
        "result": {
            "Modified Date": 1709088258859,
            "Created Date": 1699237071350,
            "reviewAnswer": "Rejected",
            "applicant": "1699236591586x0000000000000000000",
            "company": "1668816503943x0000000000000000000",
            "rejectLabels": [
                "FORGERY",
                "PEP"
            ],
            "verification": "1699236590532x0000000000000000000",
        },
        "extractedFirstName": "JOHN DEREK",
        "extractedLastName": "SAMPLE",
        "extractedBirthDate": "1995-10-23",
        "documentCountry": "AUS",
        "extractedStreetNum": "123",
        "extractedStreet": "SAMPLE LANE",
        "extractedCity": "PERTH",
        "extractedState": "WESTERN AUSTRALIA",
        "extractedPostCode": "6000"
    }
}
{
    "statusCode": 400,
    "message": "Error: incorrect applicantId provided"
}

If your applicant is taking longer to process, it may be because of their image quality. We also check identity data against 100+ sources, which may take time if the data doesn't match.

Applicant Status Types

Created The applicant has been created.

Pre-Checked The applicant's document images are being processed.

Pending The applicant's identity data is being processed.

Reviewed The verification is complete, and results are ready.

Applicant Action Status Types

Pending The verification is being processed.

Reviewed The verification is complete, and results are ready.

Applicant Status and ActionStatus update at the same time. It's recommended to use Status as it contains more information.

Review Answer Types

Approved The applicant has successfully been verified.

Rejected The applicant wasn't able to be verified. Look at rejectLabels to see why.

There are two types of rejections: Rejected (Retry) and Rejected (Final)

Rejected (Retry) allows an applicant to attempt their verification again, if they've uploaded a blurry photo for example.

Rejected (Final) is final, and does not allow another attempt. This is used when an applicant has attempted to forge their documents, or if they appear on a sanction or watchlist.

See the next page for a list of rejection labels, and what they mean.

PreviousRequesting to start the verification processNextUnderstanding applicant rejection labels

Last updated 8 months ago

Was this helpful?