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 ➔