You can run this check immediately via our Demo Postman collection . It's publicly available and doesn't require an account.
Overview of flow
1. Create a client
The first step in creating any check is to create a client from your backend server. For this type of check, a client of type person must be created.
Example request for creating a client
cURL Node.js Python PHP .NET
Copy curl -X POST https://api.complycube.com/v1/clients \
-H 'Authorization: <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"type": "person",
"email": "john.doe@example.com",
"personDetails": {
"firstName": "John",
"lastName": "Doe",
"dob": "1990-01-01",
"ssn": "123-45-6789"
}
}'
Copy const { ComplyCube } = require("@complycube/api");
const complycube = new ComplyCube({ apiKey: "<YOUR_API_KEY>" });
const client = await complycube.client.create({
type: "person",
email: "john.doe@example.com",
personDetails: {
firstName: "John",
lastName: "Doe",
dob: "1990-01-01",
ssn: "123456789"
}
});
Copy from complycube import ComplyCubeClient
cc_api = ComplyCubeClient(api_key='<YOUR_API_KEY>')
new_client = {
'type':'person',
'email':'john.doe@example.com',
'personDetails': {
'firstName':'John',
'lastName':'Doe',
'dob': '1990-01-01',
'ssn': '123456789'
}
}
client = cc_api.clients.create(**new_client)
Copy use ComplyCube\ComplyCubeClient;
$ccapi = new ComplyCubeClient('<YOUR_API_KEY>');
$result = $ccapi->clients()->create([
'type' => 'person',
'email' => 'john.doe@example.com',
'personDetails' => [
'firstName' => 'John',
'lastName' => 'Doe',
'dob' => '1990-01-01',
'ssn' => '123456789'
]
]);
Copy using ComplyCube.Net;
using ComplyCube.Net.Resources.Clients;
var clientApi = new ClientApi(new ComplyCubeClient("<YOUR_API_KEY>"));
var newClient = new ClientRequest {
type = "person",
email = "john.doe@example.com",
personDetails = new PersonDetails {
firstName = "John",
lastName = "Doe",
dob = "1990-01-01",
ssn = "123456789"
}
}
var client = await clientApi.CreateAsync(newClient);
Example response
The response will contain an id
(the Client ID). It is required for the next step.
Copy {
"id": "5eb04fcd0f3e360008035eb1",
"type": "person",
"email": "john.doe@example.com",
"personDetails": {
"firstName": "John",
"lastName": "Doe",
"dob": "1990-01-01",
"ssn": "123-45-6789"
},
"createdAt": "2021-01-04T17:24:29.146Z",
"updatedAt": "2021-01-04T17:24:29.146Z"
}
2. Create an address
Create an address by providing the Client ID and address details.
Example request for creating an address
cURL Node.js Python PHP .NET
Copy curl -X POST https://api.complycube.com/v1/addresses \
-H 'Authorization: <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"clientId":"5eb04fcd0f3e360008035eb1",
"line": "47th Test Avenue 323",
"city": "Manhattan",
"postalCode": "10001",
"state": "NY",
"country": "US"
}'
Copy const address = await complycube.address.create("5eb04fcd0f3e360008035eb1", {
line: "47th Test Avenue 323",
city: "Manhattan",
postalCode: "10001",
state: "NY",
country: "US"
});
Copy new_address = {
'line': '47th Test Avenue 323',
'city': 'Manhattan',
'postalCode': '10001',
'state': 'NY',
'country': 'US'
}
address = cc_api.addresses.create('5eb04fcd0f3e360008035eb1',**new_address)
Copy $address = $ccapi->address()->create(
'5eb04fcd0f3e360008035eb1',
[
'line' => '47th Test Avenue 323',
'city' => 'Manhattan',
'postalCode' => '10001',
'state' => 'NY',
'country' => 'US'
]
);
Copy var addressRequest = new AddressRequest {
clientId = "5eb04fcd0f3e360008035eb1",
line = "47th Test Avenue 323",
city = "Manhattan",
postalCode = "10001",
state = "NY",
country = "US"
};
var address = await addressApi.CreateAsync(addressRequest);
Example response
The response will contain an id
(the Address ID). It is required for the next step.
Copy {
"id": "5ebd40714f23960008c81528",
"clientId":"5eb04fcd0f3e360008035eb1",
"line": "47th Test Avenue 323",
"city": "Manhattan",
"postalCode": "10001",
"state": "NY",
"country": "US",
"createdAt": "2021-01-04T17:25:21.116Z",
"updatedAt": "2021-01-04T17:25:21.116Z"
}
3. Create a check
Create a check by providing the Client ID, Address ID and check type.
Example request for creating a check
cURL Node.js Python PHP .NET
Copy curl -X POST https://api.complycube.com/v1/checks \
-H 'Authorization: <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"clientId":"5eb04fcd0f3e360008035eb1",
"addressId":"5ebd40714f23960008c81528",
"type": "multi_bureau_check"
}'
Copy const check = await complycube.check.create("5eb04fcd0f3e360008035eb1", {
addressId: "5ebd40714f23960008c81528",
type: "multi_bureau_check"
});
Copy check = cc_api.checks.create(
'5eb04fcd0f3e360008035eb1',
'multi_bureau_check',
addressId='5ebd40714f23960008c81528'
)
Copy $result = $ccapi->checks()->create(
'5eb04fcd0f3e360008035eb1',
[
'type' => 'multi_bureau_check',
'addressId' => '5ebd40714f23960008c81528'
]
);
Copy var checkRequest = new CheckRequest {
clientId = "5eb04fcd0f3e360008035eb1",
addressId = "5ebd40714f23960008c81528",
type = "multi_bureau_check"
};
var check = await checkApi.CreateAsync(checkRequest);
Example response
The response will contain an id
(the Check ID). It is required for the next step.
Copy {
"id": "65c12a6426d2ab000814037e",
"entityName": "John Doe",
"type": "multi_bureau_check",
"clientId": "5eb04fcd0f3e360008035eb1",
"addressId": "5ebd40714f23960008c81528",
"status": "pending",
"createdAt": "2021-01-04T17:25:21.116Z",
"updatedAt": "2021-01-04T17:25:21.116Z"
}
4. Retrieve outcome
ComplyCube will perform the check. You can retrieve a check's outcome and breakdown via the API.
If you have set up webhooks, a notification is sent upon completion of the check.
Example request for retrieving the check outcome
cURL Node.js Python PHP .NET
Copy curl -X GET https://api.complycube.com/v1/checks/5ebd40714f23960008c81527 \
-H 'Authorization: <YOUR_API_KEY>'
Copy const check = await complycube.check.get("5ebd40714f23960008c81527");
Copy check = cc_api.checks.get('5ebd40714f23960008c81527')
Copy $check = $ccapi->checks()->get('5ebd40714f23960008c81527');
Copy var check = await checkApi.GetAsync("5ebd40714f23960008c81527");
Example response
Copy {
"id": "65c12a6426d2ab000814037e",
"entityName": "John Doe",
"type": "multi_bureau_check",
"clientId": "5eb04fcd0f3e360008035eb1",
"addressId": "5ebd40714f23960008c81528",
"status": "complete",
"result": {
"outcome": "clear",
"breakdown": {
"name": {
"outcome": "clear",
"breakdown": [
{
"status": "clear",
"source": "commercial_database",
"country": "US",
"hits": 1
},
{
"status": "clear",
"source": "government_authority",
"country": "US",
"hits": 1
}
]
},
"address": {
"outcome": "clear",
"breakdown": [
{
"status": "clear",
"source": "government_authority",
"country": "US",
"hits": 1
}
]
},
"dob": {
"outcome": "clear",
"breakdown": [
{
"status": "clear",
"source": "commercial_database",
"country": "US",
"hits": 1
},
{
"status": "clear",
"source": "government_authority",
"country": "US",
"hits": 1
}
]
},
"idNumber": {
"outcome": "clear",
"breakdown": [
{
"status": "clear",
"source": "commercial_database",
"country": "US",
"hits": 1
}
]
},
"additionalChecks": {
"outcome": "not_processed"
}
}
},
"createdAt": "2021-01-04T17:25:21.116Z",
"updatedAt": "2021-01-04T17:25:21.116Z"
}
Learn more about result outcome and breakdown ➔