NAV Navbar
Shell HTTP JavaScript Ruby Python PHP PHP Java Go

Northrow API v3.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

NorthRow’s single API solution enables your organisation to digitally transform its client on-boarding, compliance and monitoring processes.

You can verify companies, individuals and ID documents with our automated Know Your Customer and identity verification solutions, to deliver Anti-Money Laundering regulatory compliance.

The NorthRow API conforms to the REST architectural style, using JSON. It uses standard HTTP response codes and verbs, and a token based authentication.

In keeping with our data providers and the changing state of technology, this documentation and the associated technology is under continuous review and subject to change. To ensure we continue to deliver marketing-leading solutions, please let us know if you have any suggestions on how we should improve this documentation further.

Before trying to use the API, a user account with an appropriate profile has to be set up. For this please email support@northrow.com or call 01235 375000.

You can configure the NorthRow solution to your requirements, by creating profiles. A profile consists of the type of verification to be performed and defines the data sources against which to validate person, company or document details.  A profile defines the rules to run against the results returned from a successful verification in order to establish a risk score, represented by the RAG (Red, Amber, Green) status.


Base URLs:

https://api.northrow.com/v3/

Authentication

Northrow’s API uses a Bearer authentication scheme. Bearer authentication is an HTTP authentication scheme that involves security tokens called bearer tokens. 

Client must send this token in the Authorization header when making requests.

A Bearer token is valid for 30 minutes from time of issue. Once expired the client must request a new token for their subsequent requests.

Bearer authentication

Code samples

# You can also use wget
curl -X POST https://api.northrow.com/v3/authorise \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST https://api.northrow.com/v3/authorise HTTP/1.1

Content-Type: application/json
Accept: application/json

const inputBody = '{
  "organisation_uid": "string",
  "access_key": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://api.northrow.com/v3/authorise',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://api.northrow.com/v3/authorise',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://api.northrow.com/v3/authorise', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.northrow.com/v3/authorise', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/authorise");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.northrow.com/v3/authorise", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /authorise

Body parameter

{
  "organisation_uid": "string",
  "access_key": "string"
}

Parameters

Name In Type Required Description
body body AuthoriseRequest true authoriseRequest

Example responses

200 Response

{
  "token": "string"
}

Responses

Status Meaning Description Schema
200 OK A valid token will be returned AuthorisedResponse
400 Bad Request Unrecognised fields None
401 Unauthorized Unauthorised ApiErrorResponse
500 Internal Server Error Unexpected Error None

Endpoints

NorthRow can verify an Individual, Company or a combination of Company and Individuals.

When submitting a check NorthRow will respond with a checkUuid to confirm the request has been received. This checkUuid is the unique identifer for the check and is used by subsequent endpoints. Receiving the checkUuid does not mean the check has completed - to receive a notification on completion, the customer must configure a callback URL.

Please note, when using the Search check(s) endpoint a maximum of 10,000 checks will be returned.

Search check(s)

Code samples

# You can also use wget
curl -X GET https://api.northrow.com/v3/check \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

GET https://api.northrow.com/v3/check HTTP/1.1

Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.get 'https://api.northrow.com/v3/check',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.get('https://api.northrow.com/v3/check', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.northrow.com/v3/check', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.northrow.com/v3/check", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /check

Parameters

Name In Type Required Description
category query string false Category of the check
center_location query string false Center location used in the check
client_name query string false Name of the client used in the check
company_name query string false Name of the company used in the check
date_end query string(date-time) false Date up to which check(s) will be retrieved in YYYY-MM-dd HH:mm:ss format
date_start query string(date-time) false Date from which check(s) will be retrieved in YYYY-MM-dd HH:mm:ss format
has_document query boolean false Determines if a document was used in the check
limit query integer(int32) false Limit of the number of records returned, maximum 100
offset query integer(int32) false Offset returned
profile query string false Profile uuid used to perform the check
rag query string false ‘RAG’ (red, amber, green, waiting) status for the check
sort query string false

Sort order followed by the sort field. Default sort order is dscdate.

Accepted sort orders are : asc,dsc

Accepted sort fields are :

  • date
  • status
  • score
  • document_count
  • uuid
  • transaction_reference
  • rag
  • centre_name
  • user
  • company_name
  • client_name
  • category
  • suspicious
  • profile_name
eg : 'ascdate' will sort in ascending order of the check date.

eg : 'dscdocument_count' will sort in descending order number of documents included in a check.

Passing invalid sortfields will use the default sort ie : 'dscdate'.

status query string false The status of the check
transaction_reference query string false Transaction reference used in the check
user query string false Username of the user who performed the check

Enumerated Values

Parameter Value
category person
category company
has_document true
has_document false
rag red
rag amber
rag green
rag waiting
status live
status archived

Example responses

200 Response

{
  "limit": 0,
  "offset": 0,
  "results": [
    {
      "alerts": [
        {
          "category": "Person,Company,ID,Other,Risk",
          "crid": "string",
          "message": "string",
          "score": 0,
          "type": "alert, info, verification"
        }
      ],
      "category": "person, company",
      "center_location": "string",
      "client_name": "string",
      "company_name": "string",
      "date": "yyyy-MM-dd HH:mm:ss",
      "document_count": 0,
      "error_messages": [
        "string"
      ],
      "org_uid": "string",
      "profile": {
        "name": "string",
        "uuid": "string"
      },
      "rag": "red, amber, green, waiting",
      "score": 0,
      "status": "live, archived",
      "suspicious": true,
      "transaction_reference": "string",
      "user": "string",
      "uuid": "string"
    }
  ],
  "sort_field": "string",
  "sort_order": "string",
  "total_records": 0
}

Responses

Status Meaning Description Schema
200 OK Check(s) satifying the criteria will be returned CheckSummaryResponse
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
500 Internal Server Error Unexpected error. Please contact support team. None

Create a Company check

Code samples

# You can also use wget
curl -X POST https://api.northrow.com/v3/check/company \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

POST https://api.northrow.com/v3/check/company HTTP/1.1

Content-Type: application/json
Accept: application/json

const inputBody = '{
  "company": {
    "description": "string",
    "name": "string",
    "phone": {
      "number": "string",
      "type": "mobile,landline"
    },
    "registered": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "registration_number": "string",
    "tax_number": "string",
    "trading": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "type": "string",
    "vat_number": "string",
    "website": "string"
  },
  "contacts": [
    {
      "bank_account": {
        "account_number": "string",
        "sort_code": "string"
      },
      "current_address": {
        "country": "'GB' is the country code for United Kingdom",
        "county": "string",
        "line_five": "string",
        "line_four": "string",
        "line_six": "string",
        "line_three": "string",
        "name_number": "string",
        "postcode": "string",
        "state": "string",
        "street": "string",
        "town": "string"
      },
      "date_of_birth": "yyyy-mm-dd",
      "documents": [
        {
          "back": {
            "data": "string",
            "name": "string"
          },
          "document_uuid": "string",
          "front": {
            "data": "string",
            "name": "string"
          },
          "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
          "type": "passport, driving_licence, residence_permit, visa, id_card"
        }
      ],
      "email_address": [
        "string"
      ],
      "first_name": "string",
      "gender": "male, female",
      "identification_details": [
        {
          "issuing_country": "string",
          "number": "string",
          "type": "passport, driving_licence, residence_permit, visa, id_card"
        }
      ],
      "last_name": "string",
      "middle_name": "string",
      "mpan": "string",
      "phone": [
        {
          "number": "string",
          "type": "mobile,landline"
        }
      ],
      "previous_address": [
        {
          "country": "'GB' is the country code for United Kingdom",
          "county": "string",
          "line_five": "string",
          "line_four": "string",
          "line_six": "string",
          "line_three": "string",
          "name_number": "string",
          "postcode": "string",
          "state": "string",
          "street": "string",
          "town": "string"
        }
      ],
      "title": "mr,mrs"
    }
  ],
  "custom_data": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "header": {
    "profile_uuid": "string",
    "remoteverify_enabled": true,
    "transaction_reference": "string"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/company',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.post 'https://api.northrow.com/v3/check/company',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.post('https://api.northrow.com/v3/check/company', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.northrow.com/v3/check/company', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/company");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.northrow.com/v3/check/company", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /check/company

Body parameter

{
  "company": {
    "description": "string",
    "name": "string",
    "phone": {
      "number": "string",
      "type": "mobile,landline"
    },
    "registered": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "registration_number": "string",
    "tax_number": "string",
    "trading": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "type": "string",
    "vat_number": "string",
    "website": "string"
  },
  "contacts": [
    {
      "bank_account": {
        "account_number": "string",
        "sort_code": "string"
      },
      "current_address": {
        "country": "'GB' is the country code for United Kingdom",
        "county": "string",
        "line_five": "string",
        "line_four": "string",
        "line_six": "string",
        "line_three": "string",
        "name_number": "string",
        "postcode": "string",
        "state": "string",
        "street": "string",
        "town": "string"
      },
      "date_of_birth": "yyyy-mm-dd",
      "documents": [
        {
          "back": {
            "data": "string",
            "name": "string"
          },
          "document_uuid": "string",
          "front": {
            "data": "string",
            "name": "string"
          },
          "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
          "type": "passport, driving_licence, residence_permit, visa, id_card"
        }
      ],
      "email_address": [
        "string"
      ],
      "first_name": "string",
      "gender": "male, female",
      "identification_details": [
        {
          "issuing_country": "string",
          "number": "string",
          "type": "passport, driving_licence, residence_permit, visa, id_card"
        }
      ],
      "last_name": "string",
      "middle_name": "string",
      "mpan": "string",
      "phone": [
        {
          "number": "string",
          "type": "mobile,landline"
        }
      ],
      "previous_address": [
        {
          "country": "'GB' is the country code for United Kingdom",
          "county": "string",
          "line_five": "string",
          "line_four": "string",
          "line_six": "string",
          "line_three": "string",
          "name_number": "string",
          "postcode": "string",
          "state": "string",
          "street": "string",
          "town": "string"
        }
      ],
      "title": "mr,mrs"
    }
  ],
  "custom_data": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "header": {
    "profile_uuid": "string",
    "remoteverify_enabled": true,
    "transaction_reference": "string"
  }
}

Parameters

Name In Type Required Description
body body CheckCompanyRequest true checkCompanyRequest

Example responses

200 Response

{
  "check_uuid": "string"
}

Responses

Status Meaning Description Schema
200 OK Returns the checkUuid for the check.User will have to verify the outcome of the check in the callback response (or) using the endpoint GET /check/{checkUuid} CheckResponse
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
500 Internal Server Error Unexpected error. Please contact support team. None

Create a Person check

Code samples

# You can also use wget
curl -X POST https://api.northrow.com/v3/check/person \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

POST https://api.northrow.com/v3/check/person HTTP/1.1

Content-Type: application/json
Accept: application/json

const inputBody = '{
  "custom_data": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "header": {
    "profile_uuid": "string",
    "remoteverify_enabled": true,
    "transaction_reference": "string"
  },
  "person": {
    "bank_account": {
      "account_number": "string",
      "sort_code": "string"
    },
    "current_address": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "date_of_birth": "yyyy-mm-dd",
    "documents": [
      {
        "back": {
          "data": "string",
          "name": "string"
        },
        "document_uuid": "string",
        "front": {
          "data": "string",
          "name": "string"
        },
        "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
        "type": "passport, driving_licence, residence_permit, visa, id_card"
      }
    ],
    "email_address": [
      "string"
    ],
    "first_name": "string",
    "gender": "male, female",
    "identification_details": [
      {
        "issuing_country": "string",
        "number": "string",
        "type": "passport, driving_licence, residence_permit, visa, id_card"
      }
    ],
    "last_name": "string",
    "middle_name": "string",
    "mpan": "string",
    "phone": [
      {
        "number": "string",
        "type": "mobile,landline"
      }
    ],
    "previous_address": [
      {
        "country": "'GB' is the country code for United Kingdom",
        "county": "string",
        "line_five": "string",
        "line_four": "string",
        "line_six": "string",
        "line_three": "string",
        "name_number": "string",
        "postcode": "string",
        "state": "string",
        "street": "string",
        "town": "string"
      }
    ],
    "title": "mr,mrs"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/person',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.post 'https://api.northrow.com/v3/check/person',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.post('https://api.northrow.com/v3/check/person', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.northrow.com/v3/check/person', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/person");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.northrow.com/v3/check/person", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /check/person

Body parameter

{
  "custom_data": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "header": {
    "profile_uuid": "string",
    "remoteverify_enabled": true,
    "transaction_reference": "string"
  },
  "person": {
    "bank_account": {
      "account_number": "string",
      "sort_code": "string"
    },
    "current_address": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "date_of_birth": "yyyy-mm-dd",
    "documents": [
      {
        "back": {
          "data": "string",
          "name": "string"
        },
        "document_uuid": "string",
        "front": {
          "data": "string",
          "name": "string"
        },
        "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
        "type": "passport, driving_licence, residence_permit, visa, id_card"
      }
    ],
    "email_address": [
      "string"
    ],
    "first_name": "string",
    "gender": "male, female",
    "identification_details": [
      {
        "issuing_country": "string",
        "number": "string",
        "type": "passport, driving_licence, residence_permit, visa, id_card"
      }
    ],
    "last_name": "string",
    "middle_name": "string",
    "mpan": "string",
    "phone": [
      {
        "number": "string",
        "type": "mobile,landline"
      }
    ],
    "previous_address": [
      {
        "country": "'GB' is the country code for United Kingdom",
        "county": "string",
        "line_five": "string",
        "line_four": "string",
        "line_six": "string",
        "line_three": "string",
        "name_number": "string",
        "postcode": "string",
        "state": "string",
        "street": "string",
        "town": "string"
      }
    ],
    "title": "mr,mrs"
  }
}

Parameters

Name In Type Required Description
body body CheckPersonRequest true checkPersonRequest

Example responses

200 Response

{
  "check_uuid": "string"
}

Responses

Status Meaning Description Schema
200 OK Returns the checkUuid for the check. User will have to verify the outcome of the check in the callback response (or) using the endpoint GET /check/{checkUuid} CheckResponse
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
500 Internal Server Error Unexpected error. Please contact support team. None

Return original Company request

Code samples

# You can also use wget
curl -X GET https://api.northrow.com/v3/check/source_request/company/{checkUuid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

GET https://api.northrow.com/v3/check/source_request/company/{checkUuid} HTTP/1.1

Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/source_request/company/{checkUuid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.get 'https://api.northrow.com/v3/check/source_request/company/{checkUuid}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.get('https://api.northrow.com/v3/check/source_request/company/{checkUuid}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.northrow.com/v3/check/source_request/company/{checkUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/source_request/company/{checkUuid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.northrow.com/v3/check/source_request/company/{checkUuid}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /check/source_request/company/{checkUuid}

Parameters

Name In Type Required Description
checkUuid path string true checkUuid

Example responses

200 Response

{
  "company": {
    "description": "string",
    "name": "string",
    "phone": {
      "number": "string",
      "type": "mobile,landline"
    },
    "registered": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "registration_number": "string",
    "tax_number": "string",
    "trading": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "type": "string",
    "vat_number": "string",
    "website": "string"
  },
  "contacts": [
    {
      "bank_account": {
        "account_number": "string",
        "sort_code": "string"
      },
      "current_address": {
        "country": "'GB' is the country code for United Kingdom",
        "county": "string",
        "line_five": "string",
        "line_four": "string",
        "line_six": "string",
        "line_three": "string",
        "name_number": "string",
        "postcode": "string",
        "state": "string",
        "street": "string",
        "town": "string"
      },
      "date_of_birth": "yyyy-mm-dd",
      "documents": [
        {
          "back": {
            "data": "string",
            "name": "string"
          },
          "document_uuid": "string",
          "front": {
            "data": "string",
            "name": "string"
          },
          "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
          "type": "passport, driving_licence, residence_permit, visa, id_card"
        }
      ],
      "email_address": [
        "string"
      ],
      "first_name": "string",
      "gender": "male, female",
      "identification_details": [
        {
          "issuing_country": "string",
          "number": "string",
          "type": "passport, driving_licence, residence_permit, visa, id_card"
        }
      ],
      "last_name": "string",
      "middle_name": "string",
      "mpan": "string",
      "phone": [
        {
          "number": "string",
          "type": "mobile,landline"
        }
      ],
      "previous_address": [
        {
          "country": "'GB' is the country code for United Kingdom",
          "county": "string",
          "line_five": "string",
          "line_four": "string",
          "line_six": "string",
          "line_three": "string",
          "name_number": "string",
          "postcode": "string",
          "state": "string",
          "street": "string",
          "town": "string"
        }
      ],
      "title": "mr,mrs"
    }
  ],
  "custom_data": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "header": {
    "profile_uuid": "string",
    "remoteverify_enabled": true,
    "transaction_reference": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK Original check request will be returned CheckCompanyResponse
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
404 Not Found No company check request found with the provided uuid None
500 Internal Server Error Unexpected error. Please contact support team. None

Return original Person request

Code samples

# You can also use wget
curl -X GET https://api.northrow.com/v3/check/source_request/person/{checkUuid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

GET https://api.northrow.com/v3/check/source_request/person/{checkUuid} HTTP/1.1

Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/source_request/person/{checkUuid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.get 'https://api.northrow.com/v3/check/source_request/person/{checkUuid}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.get('https://api.northrow.com/v3/check/source_request/person/{checkUuid}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.northrow.com/v3/check/source_request/person/{checkUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/source_request/person/{checkUuid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.northrow.com/v3/check/source_request/person/{checkUuid}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /check/source_request/person/{checkUuid}

Parameters

Name In Type Required Description
checkUuid path string true checkUuid

Example responses

200 Response

{
  "custom_data": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "header": {
    "profile_uuid": "string",
    "remoteverify_enabled": true,
    "transaction_reference": "string"
  },
  "person": {
    "bank_account": {
      "account_number": "string",
      "sort_code": "string"
    },
    "current_address": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "date_of_birth": "yyyy-mm-dd",
    "documents": [
      {
        "back": {
          "data": "string",
          "name": "string"
        },
        "document_uuid": "string",
        "front": {
          "data": "string",
          "name": "string"
        },
        "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
        "type": "passport, driving_licence, residence_permit, visa, id_card"
      }
    ],
    "email_address": [
      "string"
    ],
    "first_name": "string",
    "gender": "male, female",
    "identification_details": [
      {
        "issuing_country": "string",
        "number": "string",
        "type": "passport, driving_licence, residence_permit, visa, id_card"
      }
    ],
    "last_name": "string",
    "middle_name": "string",
    "mpan": "string",
    "phone": [
      {
        "number": "string",
        "type": "mobile,landline"
      }
    ],
    "previous_address": [
      {
        "country": "'GB' is the country code for United Kingdom",
        "county": "string",
        "line_five": "string",
        "line_four": "string",
        "line_six": "string",
        "line_three": "string",
        "name_number": "string",
        "postcode": "string",
        "state": "string",
        "street": "string",
        "town": "string"
      }
    ],
    "title": "mr,mrs"
  }
}

Responses

Status Meaning Description Schema
200 OK Original check request will be returned CheckPersonResponse
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
404 Not Found No person check request found with the provided uuid None
500 Internal Server Error Unexpected error. Please contact support team. None

Return a summary for a check

Code samples

# You can also use wget
curl -X GET https://api.northrow.com/v3/check/{checkUuid} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

GET https://api.northrow.com/v3/check/{checkUuid} HTTP/1.1

Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/{checkUuid}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.get 'https://api.northrow.com/v3/check/{checkUuid}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.get('https://api.northrow.com/v3/check/{checkUuid}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.northrow.com/v3/check/{checkUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/{checkUuid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.northrow.com/v3/check/{checkUuid}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /check/{checkUuid}

Parameters

Name In Type Required Description
checkUuid path string true checkUuid

Example responses

200 Response

{
  "alerts": [
    {
      "category": "Person,Company,ID,Other,Risk",
      "crid": "string",
      "message": "string",
      "score": 0,
      "type": "alert, info, verification"
    }
  ],
  "category": "person, company",
  "center_location": "string",
  "client_name": "string",
  "company_name": "string",
  "date": "yyyy-MM-dd HH:mm:ss",
  "document_count": 0,
  "error_messages": [
    "string"
  ],
  "org_uid": "string",
  "profile": {
    "name": "string",
    "uuid": "string"
  },
  "rag": "red, amber, green, waiting",
  "score": 0,
  "status": "live, archived",
  "suspicious": true,
  "transaction_reference": "string",
  "user": "string",
  "uuid": "string"
}

Responses

Status Meaning Description Schema
200 OK Check summary for the check will be returned CheckSummary
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
404 Not Found No check found with the provided uuid None
500 Internal Server Error Unexpected error. Please contact support team. None

Delete a check

Code samples

# You can also use wget
curl -X DELETE https://api.northrow.com/v3/check/{checkUuid} \
  -H 'Accept: */*' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

DELETE https://api.northrow.com/v3/check/{checkUuid} HTTP/1.1

Accept: */*


const headers = {
  'Accept':'*/*',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/{checkUuid}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => '*/*',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.delete 'https://api.northrow.com/v3/check/{checkUuid}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': '*/*',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.delete('https://api.northrow.com/v3/check/{checkUuid}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => '*/*',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('DELETE','https://api.northrow.com/v3/check/{checkUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/{checkUuid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"*/*"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://api.northrow.com/v3/check/{checkUuid}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /check/{checkUuid}

Parameters

Name In Type Required Description
checkUuid path string true checkUuid

Example responses

400 Response

Responses

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
404 Not Found No check found with the provided uuid None
500 Internal Server Error Unexpected error. Please contact support team. None

Update a check

Code samples

# You can also use wget
curl -X PATCH https://api.northrow.com/v3/check/{checkUuid} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

PATCH https://api.northrow.com/v3/check/{checkUuid} HTTP/1.1

Content-Type: application/json
Accept: application/json

const inputBody = '{
  "archived_status": false,
  "note": "string",
  "rag": "red, amber, green"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/{checkUuid}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.patch 'https://api.northrow.com/v3/check/{checkUuid}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.patch('https://api.northrow.com/v3/check/{checkUuid}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('PATCH','https://api.northrow.com/v3/check/{checkUuid}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/{checkUuid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api.northrow.com/v3/check/{checkUuid}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /check/{checkUuid}

Body parameter

{
  "archived_status": false,
  "note": "string",
  "rag": "red, amber, green"
}

Parameters

Name In Type Required Description
checkUuid path string true checkUuid
body body CheckUpdate true checkUpdate

Example responses

400 Response

{
  "code": "string",
  "error": "string",
  "errorDetail": [
    {
      "field": "string",
      "message": "string"
    }
  ],
  "path": "string",
  "status": 0,
  "timestamp": "string"
}

Responses

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Access Denied None
404 Not Found No check found with the provided uuid None
500 Internal Server Error Unexpected error. Please contact support team. None

Return supplier data for a check

Code samples

# You can also use wget
curl -X GET https://api.northrow.com/v3/check/{checkUuid}/data \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

GET https://api.northrow.com/v3/check/{checkUuid}/data HTTP/1.1

Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/{checkUuid}/data',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.get 'https://api.northrow.com/v3/check/{checkUuid}/data',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.get('https://api.northrow.com/v3/check/{checkUuid}/data', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.northrow.com/v3/check/{checkUuid}/data', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/{checkUuid}/data");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.northrow.com/v3/check/{checkUuid}/data", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /check/{checkUuid}/data

Parameters

Name In Type Required Description
checkUuid path string true checkUuid

Example responses

200 Response

"string"

Responses

Status Meaning Description Schema
200 OK Returns the raw supplier data response string
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Access Denied None
404 Not Found No check found with the provided uuid None
500 Internal Server Error Unexpected error. Please contact support team. None

List documents for a check

Code samples

# You can also use wget
curl -X GET https://api.northrow.com/v3/check/{checkUuid}/document \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

GET https://api.northrow.com/v3/check/{checkUuid}/document HTTP/1.1

Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/{checkUuid}/document',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.get 'https://api.northrow.com/v3/check/{checkUuid}/document',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.get('https://api.northrow.com/v3/check/{checkUuid}/document', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.northrow.com/v3/check/{checkUuid}/document', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/{checkUuid}/document");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.northrow.com/v3/check/{checkUuid}/document", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /check/{checkUuid}/document

Parameters

Name In Type Required Description
checkUuid path string true checkUuid

Example responses

200 Response

[
  {
    "document_uuid": "string",
    "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
    "name_back": "string",
    "name_front": "string",
    "type": "passport, driving_licence, residence_permit, visa, id_card, other",
    "uploaded_date": "yyyy-MM-dd HH:mm:ss"
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
404 Not Found No check found with the provided uuid None
500 Internal Server Error Unexpected error. Please contact support team. None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DocumentSummary] false none none
» DocumentSummary DocumentSummary false none none
»» document_uuid string false none uuid of the document attached to the check
»» mime_type string false none The mime type of the uploaded document
»» name_back string false none The name of the back side of the uploaded document with the extension. (only included if data is present)
»» name_front string false none The name of the front side of the uploaded document with the extension
»» type string false none The type of the uploaded document
»» uploaded_date string false none Date when the document was attached to the check in yyyy-MM-dd HH:mm:ss format

Add additional document

Code samples

# You can also use wget
curl -X POST https://api.northrow.com/v3/check/{checkUuid}/document \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

POST https://api.northrow.com/v3/check/{checkUuid}/document HTTP/1.1

Content-Type: application/json
Accept: application/json

const inputBody = '{
  "data": "string",
  "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
  "name": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/{checkUuid}/document',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.post 'https://api.northrow.com/v3/check/{checkUuid}/document',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.post('https://api.northrow.com/v3/check/{checkUuid}/document', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.northrow.com/v3/check/{checkUuid}/document', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/{checkUuid}/document");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.northrow.com/v3/check/{checkUuid}/document", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /check/{checkUuid}/document

Body parameter

{
  "data": "string",
  "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
  "name": "string"
}

Parameters

Name In Type Required Description
checkUuid path string true checkUuid
body body CheckAddDocumentRequest true checkAddDocumentRequest

Example responses

400 Response

{
  "code": "string",
  "error": "string",
  "errorDetail": [
    {
      "field": "string",
      "message": "string"
    }
  ],
  "path": "string",
  "status": 0,
  "timestamp": "string"
}

Responses

Status Meaning Description Schema
200 OK OK None
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
404 Not Found No check found with the provided uuid None
500 Internal Server Error Unexpected error. Please contact support team. None

Return a document

Code samples

# You can also use wget
curl -X GET https://api.northrow.com/v3/check/{checkUuid}/document/{documentUuid}/{documentSide} \
  -H 'Accept: */*' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

GET https://api.northrow.com/v3/check/{checkUuid}/document/{documentUuid}/{documentSide} HTTP/1.1

Accept: */*


const headers = {
  'Accept':'*/*',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/{checkUuid}/document/{documentUuid}/{documentSide}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => '*/*',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.get 'https://api.northrow.com/v3/check/{checkUuid}/document/{documentUuid}/{documentSide}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': '*/*',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.get('https://api.northrow.com/v3/check/{checkUuid}/document/{documentUuid}/{documentSide}', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => '*/*',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.northrow.com/v3/check/{checkUuid}/document/{documentUuid}/{documentSide}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/{checkUuid}/document/{documentUuid}/{documentSide}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"*/*"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.northrow.com/v3/check/{checkUuid}/document/{documentUuid}/{documentSide}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /check/{checkUuid}/document/{documentUuid}/{documentSide}

Parameters

Name In Type Required Description
checkUuid path string true The unique identifier for the check
documentSide path string true The side of the document to retrieve. Accepted values are: front: for front side , back: for back side
documentUuid path string true The unique identifier of the document attached to the check

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK OK integer
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
404 Not Found The given UUID does not exist. None
500 Internal Server Error Unexpected error. Please contact support team. None

Return notes

Code samples

# You can also use wget
curl -X GET https://api.northrow.com/v3/check/{checkUuid}/note \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

GET https://api.northrow.com/v3/check/{checkUuid}/note HTTP/1.1

Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/{checkUuid}/note',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.get 'https://api.northrow.com/v3/check/{checkUuid}/note',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.get('https://api.northrow.com/v3/check/{checkUuid}/note', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.northrow.com/v3/check/{checkUuid}/note', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/{checkUuid}/note");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.northrow.com/v3/check/{checkUuid}/note", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /check/{checkUuid}/note

Parameters

Name In Type Required Description
checkUuid path string true checkUuid

Example responses

200 Response

[
  {
    "added_date": "string",
    "note_content": "string",
    "user": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK OK Inline
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
500 Internal Server Error Unexpected error. Please contact support team. None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [CheckNotesResponse] false none none
» CheckNotesResponse CheckNotesResponse false none none
»» added_date string false none The date the note was added
»» note_content string false none The text content of the note
»» user string false none The name of the user who added the note

Add a note to an existing check

Code samples

# You can also use wget
curl -X POST https://api.northrow.com/v3/check/{checkUuid}/note \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

POST https://api.northrow.com/v3/check/{checkUuid}/note HTTP/1.1

Content-Type: application/json
Accept: application/json

const inputBody = '{
  "note": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/{checkUuid}/note',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.post 'https://api.northrow.com/v3/check/{checkUuid}/note',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.post('https://api.northrow.com/v3/check/{checkUuid}/note', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.northrow.com/v3/check/{checkUuid}/note', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/{checkUuid}/note");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.northrow.com/v3/check/{checkUuid}/note", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /check/{checkUuid}/note

Body parameter

{
  "note": "string"
}

Parameters

Name In Type Required Description
checkUuid path string true checkUuid
body body CheckNoteRequest true noteRequest

Example responses

400 Response

{
  "code": "string",
  "error": "string",
  "errorDetail": [
    {
      "field": "string",
      "message": "string"
    }
  ],
  "path": "string",
  "status": 0,
  "timestamp": "string"
}

Responses

Status Meaning Description Schema
201 Created Created None
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Access Denied None
404 Not Found No check found with the provided uuid None
500 Internal Server Error Unexpected error. Please contact support team. None

Return check report

Code samples

# You can also use wget
curl -X GET https://api.northrow.com/v3/check/{checkUuid}/report \
  -H 'Accept: application/pdf' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

GET https://api.northrow.com/v3/check/{checkUuid}/report HTTP/1.1

Accept: application/pdf


const headers = {
  'Accept':'application/pdf',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/check/{checkUuid}/report',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/pdf',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.get 'https://api.northrow.com/v3/check/{checkUuid}/report',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/pdf',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.get('https://api.northrow.com/v3/check/{checkUuid}/report', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/pdf',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.northrow.com/v3/check/{checkUuid}/report', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/check/{checkUuid}/report");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/pdf"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.northrow.com/v3/check/{checkUuid}/report", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /check/{checkUuid}/report

Parameters

Name In Type Required Description
checkUuid path string true checkUuid

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK Returns the pdf report integer
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
404 Not Found No check found with the provided uuid None
500 Internal Server Error Unexpected error. Please contact support team. None

Return my profiles

Code samples

# You can also use wget
curl -X GET https://api.northrow.com/v3/profile \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <JWT_TOKEN>'

GET https://api.northrow.com/v3/profile HTTP/1.1

Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer <JWT_TOKEN>'

};

fetch('https://api.northrow.com/v3/profile',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <JWT_TOKEN>'
}

result = RestClient.get 'https://api.northrow.com/v3/profile',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer <JWT_TOKEN>'
}

r = requests.get('https://api.northrow.com/v3/profile', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => 'application/json',
    'Authorization' => 'Bearer <JWT_TOKEN>',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.northrow.com/v3/profile', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/profile");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer <JWT_TOKEN>"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.northrow.com/v3/profile", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /profile

Example responses

200 Response

[
  {
    "name": "string",
    "uuid": "string"
  }
]

Responses

Status Meaning Description Schema
200 OK A list of user profiles will be returned Inline
400 Bad Request Bad Request ApiErrorResponse
403 Forbidden Forbidden None
500 Internal Server Error Unexpected error. Please contact support team. None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [ProfileSummary] false none none
» ProfileSummary ProfileSummary false none none
»» name string false none Profile name of the profile used in the check
»» uuid string false none Profile UUID of the profile used in the check

Callback Function

NorthRow can support callback URLs which can alert customers when a check is completed. To use this function, please contact support@northrow.com and provide us with your URL. After completing the check NorthRow will make a HTTP POST request to the callback URL provided.

The body of the request will contain the result of the NorthRow check. Callback URL can be configured at an Organisation level.

Upon receiving a callback request clients must acknowledge a success by responding with an HTTP 20x response.

If a successful acknowledgement is not received from the customer then NorthRow will attempt to resend the notification to the customer five times before giving up.

Callback response will be using the 'CheckSummaryResponse' format.

Versioning

This will detail the current version of the application

Return version

Code samples

# You can also use wget
curl -X GET https://api.northrow.com/v3/version \
  -H 'Accept: */*'

GET https://api.northrow.com/v3/version HTTP/1.1

Accept: */*


const headers = {
  'Accept':'*/*'

};

fetch('https://api.northrow.com/v3/version',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => '*/*'
}

result = RestClient.get 'https://api.northrow.com/v3/version',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': '*/*'
}

r = requests.get('https://api.northrow.com/v3/version', headers = headers)

print(r.json())

<?php

require 'vendor/autoload.php';

$headers = array(
    'Accept' => '*/*',

    );

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.northrow.com/v3/version', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.northrow.com/v3/version");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"*/*"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.northrow.com/v3/version", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /version

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK 200 OK VersionResponse

Schemas

Address

{
  "country": "'GB' is the country code for United Kingdom",
  "county": "string",
  "line_five": "string",
  "line_four": "string",
  "line_six": "string",
  "line_three": "string",
  "name_number": "string",
  "postcode": "string",
  "state": "string",
  "street": "string",
  "town": "string"
}

Address

Properties

Name Type Required Restrictions Description
country string false none 2-character ISO country code of this address. Required for some profiles. For example: GB is the country code for United Kingdom
county string false none Address county
line_five string false none Address line 5
line_four string false none Address line 4
line_six string false none Address line 6
line_three string false none Address line 3
name_number string false none Flat/building name (or) number
postcode string false none Address postcode (or) ZIP
state string false none Address state
street string false none Address street
town string false none Address town

ApiErrorDetailResponse

{
  "field": "string",
  "message": "string"
}

ApiErrorDetailResponse

Properties

Name Type Required Restrictions Description
field string false none Field that has gone wrong
message string false none Detail message for the error

ApiErrorResponse

{
  "code": "string",
  "error": "string",
  "errorDetail": [
    {
      "field": "string",
      "message": "string"
    }
  ],
  "path": "string",
  "status": 0,
  "timestamp": "string"
}

ApiErrorResponse

Properties

Name Type Required Restrictions Description
code string false none This will contain the Northrow error code. Reserved for future releases.
error string false none HTTP Reason for the error
errorDetail [ApiErrorDetailResponse] false none Detail for the error
path string false none The endpoint that has failed
status integer(int32) false none HTTP Status code
timestamp string false none Timestamp for the error

AuthoriseRequest

{
  "organisation_uid": "string",
  "access_key": "string"
}

AuthoriseRequest

Properties

Name Type Required Restrictions Description
organisation_uid string true none Organisation UID of the user's organisation
access_key string true none Access Key for the user

AuthorisedResponse

{
  "token": "string"
}

AuthorisedResponse

Properties

Name Type Required Restrictions Description
token string false none none

Back

{
  "data": "string",
  "name": "string"
}

Back

Properties

Name Type Required Restrictions Description
data string false none The image data of the back side of the uploaded document in Base64 format. The original file cannot exceed 4MB.
name string false none The name of the back side of the uploaded document with the extension

BankAccount

{
  "account_number": "string",
  "sort_code": "string"
}

BankAccount

Properties

Name Type Required Restrictions Description
account_number string false none Bank account number
sort_code string false none Bank sort code number

CheckAddDocumentRequest

{
  "data": "string",
  "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
  "name": "string"
}

CheckAddDocumentRequest

Properties

Name Type Required Restrictions Description
data string false none The image data of the front side of the uploaded document in Base64 format. The original file cannot exceed 4MB.
mime_type string false none The mime_type of the uploaded document. Accepted values are: image/jpeg, image/bmp, image/png, application/pdf, image/tiff
name string false none The name of the front side of the uploaded document with the extension

CheckAlert

{
  "category": "Person,Company,ID,Other,Risk",
  "crid": "string",
  "message": "string",
  "score": 0,
  "type": "alert, info, verification"
}

CheckAlert

Properties

Name Type Required Restrictions Description
category string false none Category of the alert. Valid values are: Person,Company,ID,Other,Risk
crid string false none Unique NorthRow rule ID of the alert
message string false none Description of the alert
score integer(int32) false none Score of the alert
type string false none Type of the alert. Valid values are: alert, info, verification

CheckCompanyRequest

{
  "company": {
    "description": "string",
    "name": "string",
    "phone": {
      "number": "string",
      "type": "mobile,landline"
    },
    "registered": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "registration_number": "string",
    "tax_number": "string",
    "trading": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "type": "string",
    "vat_number": "string",
    "website": "string"
  },
  "contacts": [
    {
      "bank_account": {
        "account_number": "string",
        "sort_code": "string"
      },
      "current_address": {
        "country": "'GB' is the country code for United Kingdom",
        "county": "string",
        "line_five": "string",
        "line_four": "string",
        "line_six": "string",
        "line_three": "string",
        "name_number": "string",
        "postcode": "string",
        "state": "string",
        "street": "string",
        "town": "string"
      },
      "date_of_birth": "yyyy-mm-dd",
      "documents": [
        {
          "back": {
            "data": "string",
            "name": "string"
          },
          "document_uuid": "string",
          "front": {
            "data": "string",
            "name": "string"
          },
          "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
          "type": "passport, driving_licence, residence_permit, visa, id_card"
        }
      ],
      "email_address": [
        "string"
      ],
      "first_name": "string",
      "gender": "male, female",
      "identification_details": [
        {
          "issuing_country": "string",
          "number": "string",
          "type": "passport, driving_licence, residence_permit, visa, id_card"
        }
      ],
      "last_name": "string",
      "middle_name": "string",
      "mpan": "string",
      "phone": [
        {
          "number": "string",
          "type": "mobile,landline"
        }
      ],
      "previous_address": [
        {
          "country": "'GB' is the country code for United Kingdom",
          "county": "string",
          "line_five": "string",
          "line_four": "string",
          "line_six": "string",
          "line_three": "string",
          "name_number": "string",
          "postcode": "string",
          "state": "string",
          "street": "string",
          "town": "string"
        }
      ],
      "title": "mr,mrs"
    }
  ],
  "custom_data": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "header": {
    "profile_uuid": "string",
    "remoteverify_enabled": true,
    "transaction_reference": "string"
  }
}

CheckCompanyRequest

Properties

Name Type Required Restrictions Description
company Company false none none
contacts [Person] false none Company contact details for the check
custom_data [CustomData] false none Custom section for the check
header Header false none none

CheckCompanyResponse

{
  "company": {
    "description": "string",
    "name": "string",
    "phone": {
      "number": "string",
      "type": "mobile,landline"
    },
    "registered": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "registration_number": "string",
    "tax_number": "string",
    "trading": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "type": "string",
    "vat_number": "string",
    "website": "string"
  },
  "contacts": [
    {
      "bank_account": {
        "account_number": "string",
        "sort_code": "string"
      },
      "current_address": {
        "country": "'GB' is the country code for United Kingdom",
        "county": "string",
        "line_five": "string",
        "line_four": "string",
        "line_six": "string",
        "line_three": "string",
        "name_number": "string",
        "postcode": "string",
        "state": "string",
        "street": "string",
        "town": "string"
      },
      "date_of_birth": "yyyy-mm-dd",
      "documents": [
        {
          "back": {
            "data": "string",
            "name": "string"
          },
          "document_uuid": "string",
          "front": {
            "data": "string",
            "name": "string"
          },
          "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
          "type": "passport, driving_licence, residence_permit, visa, id_card"
        }
      ],
      "email_address": [
        "string"
      ],
      "first_name": "string",
      "gender": "male, female",
      "identification_details": [
        {
          "issuing_country": "string",
          "number": "string",
          "type": "passport, driving_licence, residence_permit, visa, id_card"
        }
      ],
      "last_name": "string",
      "middle_name": "string",
      "mpan": "string",
      "phone": [
        {
          "number": "string",
          "type": "mobile,landline"
        }
      ],
      "previous_address": [
        {
          "country": "'GB' is the country code for United Kingdom",
          "county": "string",
          "line_five": "string",
          "line_four": "string",
          "line_six": "string",
          "line_three": "string",
          "name_number": "string",
          "postcode": "string",
          "state": "string",
          "street": "string",
          "town": "string"
        }
      ],
      "title": "mr,mrs"
    }
  ],
  "custom_data": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "header": {
    "profile_uuid": "string",
    "remoteverify_enabled": true,
    "transaction_reference": "string"
  }
}

CheckCompanyResponse

Properties

Name Type Required Restrictions Description
company Company false none none
contacts [Person] false none Company contact details for the check
custom_data [CustomData] false none Custom section for the check
header Header false none none

CheckNoteRequest

{
  "note": "string"
}

CheckNoteRequest

Properties

Name Type Required Restrictions Description
note string true none Note that will be added to the check

CheckNotesResponse

{
  "added_date": "string",
  "note_content": "string",
  "user": "string"
}

CheckNotesResponse

Properties

Name Type Required Restrictions Description
added_date string false none The date the note was added
note_content string false none The text content of the note
user string false none The name of the user who added the note

CheckPersonRequest

{
  "custom_data": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "header": {
    "profile_uuid": "string",
    "remoteverify_enabled": true,
    "transaction_reference": "string"
  },
  "person": {
    "bank_account": {
      "account_number": "string",
      "sort_code": "string"
    },
    "current_address": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "date_of_birth": "yyyy-mm-dd",
    "documents": [
      {
        "back": {
          "data": "string",
          "name": "string"
        },
        "document_uuid": "string",
        "front": {
          "data": "string",
          "name": "string"
        },
        "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
        "type": "passport, driving_licence, residence_permit, visa, id_card"
      }
    ],
    "email_address": [
      "string"
    ],
    "first_name": "string",
    "gender": "male, female",
    "identification_details": [
      {
        "issuing_country": "string",
        "number": "string",
        "type": "passport, driving_licence, residence_permit, visa, id_card"
      }
    ],
    "last_name": "string",
    "middle_name": "string",
    "mpan": "string",
    "phone": [
      {
        "number": "string",
        "type": "mobile,landline"
      }
    ],
    "previous_address": [
      {
        "country": "'GB' is the country code for United Kingdom",
        "county": "string",
        "line_five": "string",
        "line_four": "string",
        "line_six": "string",
        "line_three": "string",
        "name_number": "string",
        "postcode": "string",
        "state": "string",
        "street": "string",
        "town": "string"
      }
    ],
    "title": "mr,mrs"
  }
}

CheckPersonRequest

Properties

Name Type Required Restrictions Description
custom_data [CustomData] false none Custom section for the check
header Header false none none
person Person false none none

CheckPersonResponse

{
  "custom_data": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "header": {
    "profile_uuid": "string",
    "remoteverify_enabled": true,
    "transaction_reference": "string"
  },
  "person": {
    "bank_account": {
      "account_number": "string",
      "sort_code": "string"
    },
    "current_address": {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    },
    "date_of_birth": "yyyy-mm-dd",
    "documents": [
      {
        "back": {
          "data": "string",
          "name": "string"
        },
        "document_uuid": "string",
        "front": {
          "data": "string",
          "name": "string"
        },
        "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
        "type": "passport, driving_licence, residence_permit, visa, id_card"
      }
    ],
    "email_address": [
      "string"
    ],
    "first_name": "string",
    "gender": "male, female",
    "identification_details": [
      {
        "issuing_country": "string",
        "number": "string",
        "type": "passport, driving_licence, residence_permit, visa, id_card"
      }
    ],
    "last_name": "string",
    "middle_name": "string",
    "mpan": "string",
    "phone": [
      {
        "number": "string",
        "type": "mobile,landline"
      }
    ],
    "previous_address": [
      {
        "country": "'GB' is the country code for United Kingdom",
        "county": "string",
        "line_five": "string",
        "line_four": "string",
        "line_six": "string",
        "line_three": "string",
        "name_number": "string",
        "postcode": "string",
        "state": "string",
        "street": "string",
        "town": "string"
      }
    ],
    "title": "mr,mrs"
  }
}

CheckPersonResponse

Properties

Name Type Required Restrictions Description
custom_data [CustomData] false none Custom section for the check
header Header false none none
person Person false none none

CheckResponse

{
  "check_uuid": "string"
}

CheckResponse

Properties

Name Type Required Restrictions Description
check_uuid string false none CheckUuid if the check is submitted

CheckSummary

{
  "alerts": [
    {
      "category": "Person,Company,ID,Other,Risk",
      "crid": "string",
      "message": "string",
      "score": 0,
      "type": "alert, info, verification"
    }
  ],
  "category": "person, company",
  "center_location": "string",
  "client_name": "string",
  "company_name": "string",
  "date": "yyyy-MM-dd HH:mm:ss",
  "document_count": 0,
  "error_messages": [
    "string"
  ],
  "org_uid": "string",
  "profile": {
    "name": "string",
    "uuid": "string"
  },
  "rag": "red, amber, green, waiting",
  "score": 0,
  "status": "live, archived",
  "suspicious": true,
  "transaction_reference": "string",
  "user": "string",
  "uuid": "string"
}

CheckSummary

Properties

Name Type Required Restrictions Description
alerts [CheckAlert] false none List of alerts for the check
category string false none Category of the check. Valid values are: person, company
center_location string false none Center location for the check if it was supplied in the initial request
client_name string false none Client name used in the check
company_name string false none Company name used in the check
date string false none Date when the check was submitted in yyyy-MM-dd HH:mm:ss format
document_count integer(int32) false none Number of documents included in the check
error_messages [string] false none Error messages if the check was not executed as expected
org_uid string false none Organisation uuid for the check
profile Profile false none none
rag string false none RAG for the check , if the check is incomplete a RAG of 'waiting' will be returned. Valid values are: red, amber, green, waiting
score integer(int32) false none Total score generated for the check
status string false none Status of the check. Valid values are: live: for active checks, archived: for archived checks
suspicious boolean false none Check marked as suspicious
transaction_reference string false none Reference used by the customer for the check
user string false none Username of the user who performed the check
uuid string false none Unique CheckUuid of the check

CheckSummaryResponse

{
  "limit": 0,
  "offset": 0,
  "results": [
    {
      "alerts": [
        {
          "category": "Person,Company,ID,Other,Risk",
          "crid": "string",
          "message": "string",
          "score": 0,
          "type": "alert, info, verification"
        }
      ],
      "category": "person, company",
      "center_location": "string",
      "client_name": "string",
      "company_name": "string",
      "date": "yyyy-MM-dd HH:mm:ss",
      "document_count": 0,
      "error_messages": [
        "string"
      ],
      "org_uid": "string",
      "profile": {
        "name": "string",
        "uuid": "string"
      },
      "rag": "red, amber, green, waiting",
      "score": 0,
      "status": "live, archived",
      "suspicious": true,
      "transaction_reference": "string",
      "user": "string",
      "uuid": "string"
    }
  ],
  "sort_field": "string",
  "sort_order": "string",
  "total_records": 0
}

CheckSummaryResponse

Properties

Name Type Required Restrictions Description
limit integer(int32) false none Limit specified in the request is returned. If no limit (or) limit greater than maximum is provided in the request then it returns the default limit.
offset integer(int32) false none Number of records you wish to skip before selecting records
results [CheckSummary] false none List of CheckSummary
sort_field string false none Sorted field for the records returned
sort_order string false none Sorted order for the records returned
total_records integer(int64) false none Total number of checks returned that satisfies the criteria

CheckUpdate

{
  "archived_status": false,
  "note": "string",
  "rag": "red, amber, green"
}

CheckUpdate

Properties

Name Type Required Restrictions Description
archived_status boolean false none archived status for the check
note string true none Note for the check
rag string false none RAG for the check

Company

{
  "description": "string",
  "name": "string",
  "phone": {
    "number": "string",
    "type": "mobile,landline"
  },
  "registered": {
    "country": "'GB' is the country code for United Kingdom",
    "county": "string",
    "line_five": "string",
    "line_four": "string",
    "line_six": "string",
    "line_three": "string",
    "name_number": "string",
    "postcode": "string",
    "state": "string",
    "street": "string",
    "town": "string"
  },
  "registration_number": "string",
  "tax_number": "string",
  "trading": {
    "country": "'GB' is the country code for United Kingdom",
    "county": "string",
    "line_five": "string",
    "line_four": "string",
    "line_six": "string",
    "line_three": "string",
    "name_number": "string",
    "postcode": "string",
    "state": "string",
    "street": "string",
    "town": "string"
  },
  "type": "string",
  "vat_number": "string",
  "website": "string"
}

Company

Properties

Name Type Required Restrictions Description
description string false none Description
name string true none Registered name
phone Phone false none none
registered Address false none none
registration_number string false none Registration number
tax_number string false none Tax number
trading Address false none none
type string false none Type
vat_number string false none Vat number
website string false none Website name

CustomData

{
  "key": "string",
  "value": "string"
}

CustomData

Properties

Name Type Required Restrictions Description
key string false none Key for the custom section
value string false none Value for the custom section

Document

{
  "back": {
    "data": "string",
    "name": "string"
  },
  "document_uuid": "string",
  "front": {
    "data": "string",
    "name": "string"
  },
  "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
  "type": "passport, driving_licence, residence_permit, visa, id_card"
}

Document

Properties

Name Type Required Restrictions Description
back Back false none none
document_uuid string false none uuid of the document attached to the check
front Front false none none
mime_type string false none The mime_type of the uploaded document. Accepted values are: image/jpeg, image/bmp, image/png, application/pdf, image/tiff
type string false none The type of the uploaded document. Accepted values are: passport, driving_licence, residence_permit, visa, id_card

DocumentSummary

{
  "document_uuid": "string",
  "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
  "name_back": "string",
  "name_front": "string",
  "type": "passport, driving_licence, residence_permit, visa, id_card, other",
  "uploaded_date": "yyyy-MM-dd HH:mm:ss"
}

DocumentSummary

Properties

Name Type Required Restrictions Description
document_uuid string false none uuid of the document attached to the check
mime_type string false none The mime type of the uploaded document
name_back string false none The name of the back side of the uploaded document with the extension. (only included if data is present)
name_front string false none The name of the front side of the uploaded document with the extension
type string false none The type of the uploaded document
uploaded_date string false none Date when the document was attached to the check in yyyy-MM-dd HH:mm:ss format

Front

{
  "data": "string",
  "name": "string"
}

Front

Properties

Name Type Required Restrictions Description
data string false none The image data of the front side of the uploaded document in Base64 format. The original file cannot exceed 4MB.
name string false none The name of the front side of the uploaded document with the extension

Header

{
  "profile_uuid": "string",
  "remoteverify_enabled": true,
  "transaction_reference": "string"
}

Header

Properties

Name Type Required Restrictions Description
profile_uuid string true none ProfileUuid of the profile that will be used to perform the check
remoteverify_enabled boolean false none This flag needs to be enabled for a remote verify check
transaction_reference string false none Transaction reference that the user can provide for the check

IdentificationDetail

{
  "issuing_country": "string",
  "number": "string",
  "type": "passport, driving_licence, residence_permit, visa, id_card"
}

IdentificationDetail

Properties

Name Type Required Restrictions Description
issuing_country string false none The issuing country of the identification document. 2 letter ISO3166 country code in upper case. For example: GB
number string false none Serial number of the identification document
type string false none The type of the identification document

Person

{
  "bank_account": {
    "account_number": "string",
    "sort_code": "string"
  },
  "current_address": {
    "country": "'GB' is the country code for United Kingdom",
    "county": "string",
    "line_five": "string",
    "line_four": "string",
    "line_six": "string",
    "line_three": "string",
    "name_number": "string",
    "postcode": "string",
    "state": "string",
    "street": "string",
    "town": "string"
  },
  "date_of_birth": "yyyy-mm-dd",
  "documents": [
    {
      "back": {
        "data": "string",
        "name": "string"
      },
      "document_uuid": "string",
      "front": {
        "data": "string",
        "name": "string"
      },
      "mime_type": "image/jpeg, image/bmp, image/png, application/pdf, image/tiff",
      "type": "passport, driving_licence, residence_permit, visa, id_card"
    }
  ],
  "email_address": [
    "string"
  ],
  "first_name": "string",
  "gender": "male, female",
  "identification_details": [
    {
      "issuing_country": "string",
      "number": "string",
      "type": "passport, driving_licence, residence_permit, visa, id_card"
    }
  ],
  "last_name": "string",
  "middle_name": "string",
  "mpan": "string",
  "phone": [
    {
      "number": "string",
      "type": "mobile,landline"
    }
  ],
  "previous_address": [
    {
      "country": "'GB' is the country code for United Kingdom",
      "county": "string",
      "line_five": "string",
      "line_four": "string",
      "line_six": "string",
      "line_three": "string",
      "name_number": "string",
      "postcode": "string",
      "state": "string",
      "street": "string",
      "town": "string"
    }
  ],
  "title": "mr,mrs"
}

Person

Properties

Name Type Required Restrictions Description
bank_account BankAccount false none none
current_address Address false none none
date_of_birth string false none Person's date of birth in yyyy-mm-dd format
documents [Document] false none Person's document(s)
email_address [string] false none Person's email address
first_name string false none Person's first name
gender string false none Gender. Accepted values are: male, female
identification_details [IdentificationDetail] false none List of identification details to be validated. Must not contain duplicate types
last_name string false none Person's last name
middle_name string false none Person's middle name
mpan string false none Person's mpan number. For example: xx-xxxx-xxxx-xxx
phone [Phone] false none Person's phone details
previous_address [Address] false none Person's previous address
title string false none Title. Accepted values are: mr,mrs

Phone

{
  "number": "string",
  "type": "mobile,landline"
}

Phone

Properties

Name Type Required Restrictions Description
number string false none Landline (or) mobile phone number including the country code
type string false none Phone line type, the allowed values are 'mobile' and 'landline'

Profile

{
  "name": "string",
  "uuid": "string"
}

Profile

Properties

Name Type Required Restrictions Description
name string false none Profilename of the profile used in the check
uuid string false none ProfileUUID of the profile used in the check

ProfileSummary

{
  "name": "string",
  "uuid": "string"
}

ProfileSummary

Properties

Name Type Required Restrictions Description
name string false none Profile name of the profile used in the check
uuid string false none Profile UUID of the profile used in the check

VersionResponse

{
  "date": "string",
  "version": "string"
}

VersionResponse

Properties

Name Type Required Restrictions Description
date string false none none
version string false none none