POST
Verify a Canadian individual against credit-reference and telephony data sources, returning a match decision.
/api/v1/ca/kycHeaders
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Your appβs secret key, sent as-is β not Bearer. |
AppId | Yes | The App ID from your dashboard. |
Content-Type | Yes | application/json |
Body parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
first_name | string | Yes | First name. |
last_name | string | Yes | Last name. |
middle_name | string | No | Middle name. |
date_of_birth | string | Yes | Date of birth (YYYY-MM-DD). |
gender | string | Yes | M or F. |
street_name | string | Yes | Street name. |
house_number | string | Yes | House number. |
city | string | Yes | City. |
post_code | string | Yes | Post code. |
Response
Returns anentity with a summary.decisionMatrix.decision outcome plus the creditReference and telephony data blocks. Trimmed below.
Errors
| Code | Meaning |
|---|---|
400 | Bad request β a required parameter is missing or malformed. |
401 | Unauthorized β check your key and AppId (no Bearer prefix). |
402 | Insufficient wallet balance. Fund your wallet. |
404 | No record found for the supplied identifier. |
424 | The upstream source was unavailable β retry shortly. |
429 | Too many requests β back off and retry. |
curl -X POST "https://api.dojah.io/api/v1/ca/kyc" \
-H "Authorization: {{secret_key}}" \
-H "AppId: {{app_id}}" \
-H "Content-Type: application/json" \
-d '{
"first_name": "John",
"last_name": "Musa",
"date_of_birth": "1969-12-12",
"gender": "M",
"street_name": "184th Street",
"house_number": "3688",
"city": "Edmonton",
"post_code": "T5J 2R4"
}'
const res = await fetch("https://api.dojah.io/api/v1/ca/kyc", {
method: "POST",
headers: {
Authorization: process.env.DOJAH_SECRET_KEY,
AppId: process.env.DOJAH_APP_ID,
"Content-Type": "application/json",
},
body: JSON.stringify({
first_name: "John",
last_name: "Musa",
date_of_birth: "1969-12-12",
gender: "M",
street_name: "184th Street",
house_number: "3688",
city: "Edmonton",
post_code: "T5J 2R4",
}),
});
const data = await res.json();
import os, requests
res = requests.post(
"https://api.dojah.io/api/v1/ca/kyc",
headers={
"Authorization": os.environ["DOJAH_SECRET_KEY"],
"AppId": os.environ["DOJAH_APP_ID"],
},
json={
"first_name": "John",
"last_name": "Musa",
"date_of_birth": "1969-12-12",
"gender": "M",
"street_name": "184th Street",
"house_number": "3688",
"city": "Edmonton",
"post_code": "T5J 2R4",
},
)
data = res.json()
{
"entity": {
"creditReference": {
"creditReferenceSummary": {
"idVerified": "1"
},
"summary": {
"decision": "1"
}
},
"searchRef": "37873fcc-6281-4913-b6df-5f26497abfab",
"summary": {
"decisionMatrix": {
"decision": {
"outcome": "1",
"reason": "Individual has a full match to forename surname premise postcode with ID verified and DOB"
}
},
"kycSummary": {
"address": {
"count": "4"
},
"alerts": {
"count": "0"
},
"dateOfBirth": {
"count": "3"
},
"fullNameAndAddress": {
"count": "1"
},
"surnameAndAddress": {
"count": "0"
}
}
},
"telephony": {
"summary": {
"decision": "1"
},
"type": "Result"
}
}
}