Business Information
Our platform offers a streamlined approach to gather critical business data by utilizing specialized questionnaires and requiring the submission of key documents.
Users can provide the information of companies including registration details, financial statements, official business filings, business licenses etc. By leveraging this information, we perform comprehensive KYB assessments to validate the authenticity and reliability of business entities.
Request
"Requests" refer to the various HTTP methods used for interacting with the API, providing details on endpoint URLs, parameters, headers, request bodies, and examples.
Get All Questionnaires
Description:
This API "Get All Questionnaires" enables to get all Business Information Collection questions.
Method Call: Get
API:
https://api.thekyb.com/api/getAllQuestionnaires
- Http
- Javascript
- PHP
- Python
- Node
- cURL
GET /api/getAllQuestionnaires HTTP/1.1
Host: api.thekyb.com
Content-Type: application/json
Accept: application/json
token: YOUR_SECRET_KEY
var requestHeaders = new Headers();
requestHeaders.append("Content-Type", "application/json");
requestHeaders.append("Accept", "application/json");
requestHeaders.append("token", "YOUR_SECRET_KEY");
var requestOptions = {
method: "GET",
headers: requestHeaders,
redirect: "follow",
};
fetch(
"https://api.thekyb.com/api/getAllQuestionnaires",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.thekyb.com/api/getAllQuestionnaires',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Accept: application/json',
'token: YOUR_SECRET_KEY'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
import json
url = "https://api.thekyb.com/api/getAllQuestionnaires"
payload={}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'token': 'YOUR_SECRET_KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
var axios = require("axios");
var config = {
method: "get",
url: "https://api.thekyb.com/api/getAllQuestionnaires",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
token: "YOUR_SECRET_KEY",
},
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
curl --location --request GET 'https://api.thekyb.com/api/getAllQuestionnaires' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'token: YOUR_SECRET_KEY'
Create Questionnaire Url
Description:
This endpoint allows user to create a unique URL for "Questionnaire Submission" . It facilitates the generation of a link that can be shared with respondents, allowing them to access and submit the Questionnaire.
Method Call: Get
API:
https://api.thekyb.com/api/createQuestionnaireUrl?questionnaire_id=QUESTIONNAIRE_ID&ttl=60
Parameter | Description |
---|---|
questionnaire_id | Type: String Required: Yes Description:The unique identifier for the questionnaire. You can obtain this ID from the response of the getAllQuestionnaires endpoint. |
ttl | Type: String Required: No Default: 60 (minutes) Min: 3 (minutes) Max: 43199 (minutes) Description:The time-to-live for the URL in minutes. This determines how long the generated URL will remain active before it expires. |
- Http
- Javascript
- PHP
- Python
- Node
- cURL
GET /api/createQuestionnaireUrl?questionnaire_id=QUESTIONNAIRE_ID&ttl=60 HTTP/1.1
Host: api.thekyb.com
Content-Type: application/json
Accept: application/json
token: YOUR_SECRET_KEY
var requestHeaders = new Headers();
requestHeaders.append("Content-Type", "application/json");
requestHeaders.append("Accept", "application/json");
requestHeaders.append("token", "YOUR_SECRET_KEY");
var requestOptions = {
method: "GET",
headers: requestHeaders,
redirect: "follow",
};
fetch(
"https://api.thekyb.com/api/createQuestionnaireUrl?questionnaire_id=QUESTIONNAIRE_ID&ttl=60",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.thekyb.com/api/createQuestionnaireUrl?questionnaire_id=QUESTIONNAIRE_ID&ttl=60',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Accept: application/json',
'token: YOUR_SECRET_KEY'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
import json
url = "https://api.thekyb.com/api/createQuestionnaireUrl?questionnaire_id=QUESTIONNAIRE_ID&ttl=60"
payload={}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'token': 'YOUR_SECRET_KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
var axios = require("axios");
var config = {
method: "get",
url: "https://api.thekyb.com/api/createQuestionnaireUrl?questionnaire_id=QUESTIONNAIRE_ID&ttl=60",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
token: "YOUR_SECRET_KEY",
},
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
curl --location --request GET 'https://api.thekyb.com/api/createQuestionnaireUrl?questionnaire_id=QUESTIONNAIRE_ID&ttl=60' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'token: YOUR_SECRET_KEY'
Get All Questions
Description:
This API allows retrieval of questions to provide corresponding answers.
Method Call: Get
API:
https://api.thekyb.com/api/getAllQuestionnaires
Get the token from the createQuestionnaireUrl response within the url, for example, 12345
- Http
- Javascript
- PHP
- Python
- Node
- cURL
GET /api/getAllQuestionnaires HTTP/1.1
Host: api.thekyb.com
Content-Type: application/json
Accept: application/json
token: YOUR_QUESTIONNIARE_TOKEN
<!-- Get the token from the createQuestionnaireUrl response within the url, for example, 12345. -->
var requestHeaders = new Headers();
requestHeaders.append("Content-Type", "application/json");
requestHeaders.append("Accept", "application/json");
requestHeaders.append("token", "YOUR_QUESTIONNIARE_TOKEN");
// Get the token from the createQuestionnaireUrl response within the url, for example, 12345.
var requestOptions = {
method: "GET",
headers: requestHeaders,
redirect: "follow",
};
fetch(
"https://api.thekyb.com/api/getAllQuestionnaires",
requestOptions
)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.thekyb.com/api/getAllQuestionnaires',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Accept: application/json',
'token: YOUR_QUESTIONNIARE_TOKEN'
// Get the token from the createQuestionnaireUrl response within the url, for example, 12345.
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
import json
url = "https://api.thekyb.com/api/getAllQuestionnaires"
payload={}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'token': 'YOUR_QUESTIONNIARE_TOKEN'
# Get the token from the createQuestionnaireUrl response within the url, for example, 12345.
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
var axios = require("axios");
var config = {
method: "get",
url: "https://api.thekyb.com/api/getAllQuestionnaires",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
token: "YOUR_QUESTIONNIARE_TOKEN",
// Get the token from the createQuestionnaireUrl response within the url, for example, 12345.
},
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
curl --location --request GET 'https://api.thekyb.com/api/getAllQuestionnaires' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'token: YOUR_QUESTIONNIARE_TOKEN'
<!-- Get the token from the createQuestionnaireUrl response within the url, for example, 12345. -->
Questionnaire Submission
Description:
This API enables users to submit your answers for each question according to the specific prompts provided, ensuring all responses are complete and accurate
Method Call: POST
API:
https://api.thekyb.com/api/search
Get the token from the createQuestionnaireUrl response within the url, for example, 12345
Parameter | Description |
---|---|
services[] | Type: FormData Required: Yes Description: This parameter defines the services provided by The KYB. To perform a Business Information, ensure that the "questionnaire" service is included in the services parameter. |
answers[QUESTION_INDEX][question_id] | Type: FormData Required: Yes Description: ID of the question being answered within the questionnaire. The QUESTION_INDEX indicates the position of the question. |
answers[QUESTION_INDEX][answer] | Type: FormData Required: Yes Description: Input representing the answer to the question. The QUESTION_INDEX indicates the position of the question.Note: If input type is FILE then anwer should be submit as an array. Here is an Example: answers[QUESTION_INDEX][answer][ANSWER_INDEX] |
answers[QUESTION_INDEX][answer][*][KEY_NAME] | Type: FormData Description: When your question has a key of sub_questions, the FormData for sub_question will be structured to handle multiple answers. The QUESTION_INDEX indicates the position of the question in the form. For sub-questions, since there can be multiple sub-questions, * represents the ANSWER_INDEX . Each sub-question has a KEY_NAME that identifies the specific field being answered. The structure allows for organized and hierarchical submission of answers, ensuring that each sub-question's answer is correctly mapped to its respective key. |
- Http
- Javascript
- PHP
- Python
- Node
- cURL
POST /api/search HTTP/1.1
Host: api.thekyb.com
token: YOUR_QUESTIONNIARE_TOKEN <!-- Get the token from the createQuestionnaireUrl response within the url, for example, 12345. -->
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Accept: application/json
Content-Length: 1429
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="services[]"
questionnaire
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="answers[0][question_id]"
QUESTION_ID_1
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="answers[0][answer]"
ANSWER
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="answers[1][question_id]"
QUESTION_ID_2
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="answers[1][answer][0]"; filename="FILE_NAME_1.pdf"
Content-Type: application/pdf
(data)
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="answers[2][question_id]"
QUESTION_ID_3
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="answers[2][answer][0][full_name]"
FULL_NAME_1
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="answers[2][answer][0][dob]"
2024-01-01
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="answers[2][answer][0][kyc_check_id_number]"
12345
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="answers[2][answer][1][full_name]"
FULL_NAME_2
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="answers[2][answer][1][dob]"
2024-01-01
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="answers[2][answer][1][kyc_check_id_number]"
1235
----WebKitFormBoundary7MA4YWxkTrZu0gW
var myHeaders = new Headers();
myHeaders.append("token", "YOUR_QUESTIONNIARE_TOKEN"); // Get the token from the createQuestionnaireUrl response within the url, for example, 12345.
myHeaders.append("Content-Type", "multipart/form-data");
myHeaders.append("Accept", "application/json");
var formdata = new FormData();
formdata.append("services[]", "questionnaire");
formdata.append("answers[0][question_id]", "QUESTION_ID_1");
formdata.append("answers[0][answer]", "ANSWER");
formdata.append("answers[1][question_id]", "QUESTION_ID_2");
formdata.append("answers[1][answer][0]", "FILE_NAME_1.pdf");
formdata.append("answers[2][question_id]", "QUESTION_ID_3");
formdata.append("answers[2][answer][0][full_name]", "FULL_NAME_1");
formdata.append("answers[2][answer][0][dob]", "2024-01-01");
formdata.append("answers[2][answer][0][kyc_check_id_number]", "12345");
formdata.append("answers[2][answer][1][full_name]", "FULL_NAME_2");
formdata.append("answers[2][answer][1][dob]", "2024-01-01");
formdata.append("answers[2][answer][1][kyc_check_id_number]", "1235");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: formdata,
redirect: 'follow'
};
fetch("https://api.thekyb.com/api/search", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.thekyb.com/api/search',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array(
'services[]' => 'questionnaire',
'answers[0][question_id]' => 'QUESTION_ID_1',
'answers[0][answer]' => 'ANSWER',
'answers[1][question_id]' => 'QUESTION_ID_2',
'answers[1][answer][0]'=> new CURLFILE('/FILE_NAME_1.pdf'),
'answers[2][question_id]' => 'QUESTION_ID_3',
'answers[2][answer][0][full_name]' => 'FULL_NAME_1',
'answers[2][answer][0][dob]' => '2024-01-01',
'answers[2][answer][0][kyc_check_id_number]' => '12345',
'answers[2][answer][1][full_name]' => 'FULL_NAME_2',
'answers[2][answer][1][dob]' => '2024-01-01',
'answers[2][answer][1][kyc_check_id_number]' => '1235'
),
CURLOPT_HTTPHEADER => array(
'token: YOUR_QUESTIONNIARE_TOKEN', // Get the token from the createQuestionnaireUrl response within the url, for example, 12345.
'Content-Type: multipart/form-data',
'Accept: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://api.thekyb.com/api/search"
payload={'services[]': 'questionnaire',
'answers[0][question_id]': 'QUESTION_ID_1',
'answers[0][answer]': 'ANSWER',
'answers[1][question_id]': 'QUESTION_ID_2',
'answers[2][question_id]': 'QUESTION_ID_3',
'answers[2][answer][0][full_name]': 'FULL_NAME_1',
'answers[2][answer][0][dob]': '2024-01-01',
'answers[2][answer][0][kyc_check_id_number]': '12345',
'answers[2][answer][1][full_name]': 'FULL_NAME_2',
'answers[2][answer][1][dob]': '2024-01-01',
'answers[2][answer][1][kyc_check_id_number]': '1235'}
files=[
('answers[1][answer][0]',('FILE_NAME_1.pdf',open('/FILE_NAME_1.pdf','rb'),'application/octet-stream'))
]
headers = {
'token': 'YOUR_QUESTIONNIARE_TOKEN', # Get the token from the createQuestionnaireUrl response within the url, for example, 12345.
'Content-Type': 'multipart/form-data',
'Accept': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
var request = require('request');
var fs = require('fs');
var options = {
'method': 'POST',
'url': 'https://api.thekyb.com/api/search',
'headers': {
'token': 'YOUR_QUESTIONNIARE_TOKEN', // Get the token from the createQuestionnaireUrl response within the url, for example, 12345.
'Content-Type': 'multipart/form-data',
'Accept': 'application/json'
},
formData: {
'services[]': 'questionnaire',
'answers[0][question_id]': 'QUESTION_ID_1',
'answers[0][answer]': 'ANSWER',
'answers[1][question_id]': 'QUESTION_ID_2',
'answers[1][answer][0]': {
'value': fs.createReadStream('/FILE_NAME_1.pdf'),
'options': {
'filename': 'FILE_NAME_1.pdf',
'contentType': 'application/pdf'
}
},
'answers[2][question_id]': 'QUESTION_ID_3',
'answers[2][answer][0][full_name]': 'FULL_NAME_1',
'answers[2][answer][0][dob]': '2024-01-01',
'answers[2][answer][0][kyc_check_id_number]': '12345',
'answers[2][answer][1][full_name]': 'FULL_NAME_2',
'answers[2][answer][1][dob]': '2024-01-01',
'answers[2][answer][1][kyc_check_id_number]': '1235'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
curl --location --request POST 'https://api.thekyb.com/api/search' \
--header 'token: YOUR_QUESTIONNIARE_TOKEN' \ <!-- Get the token from the createQuestionnaireUrl response within the url, for example, 12345. -->
--header 'Content-Type: multipart/form-data' \
--header 'Accept: application/json' \
--form 'services[]="questionnaire"' \
--form 'answers[0][question_id]="QUESTION_ID_1"' \
--form 'answers[0][answer]="ANSWER"' \
--form 'answers[1][question_id]="QUESTION_ID_2"' \
--form 'answers[1][answer][0]=@"/FILE_NAME_1.pdf"' \
--form 'answers[2][question_id]="QUESTION_ID_3"' \
--form 'answers[2][answer][0][full_name]="FULL_NAME_1"' \
--form 'answers[2][answer][0][dob]="2024-01-01"' \
--form 'answers[2][answer][0][kyc_check_id_number]="12345"' \
--form 'answers[2][answer][1][full_name]="FULL_NAME_2"' \
--form 'answers[2][answer][1][dob]="2024-01-01"' \
--form 'answers[2][answer][1][kyc_check_id_number]="1235"'
Read Service Detail
Description:
After successfully submitting the documentation, the response will include a service ID. Utilize this service ID to access an endpoint that retrieves the verification status.
Method Call: GET
API:
https://api.thekyb.com/api/readServiceDetail?service_id=SERVICE_ID
Parameter | Description |
---|---|
service_id | Type: String Required: Yes Description: Identifier of the service being used. |
- Http
- Javascript
- PHP
- Python
- Node
- cURL
GET /api/readServiceDetail?service_id=SERVICE_ID HTTP/1.1
Host: api.thekyb.com
Content-Type: application/json
Accept: application/json
token: YOUR_SECRET_KEY
var requestHeaders = new Headers();
requestHeaders.append("Content-Type", "application/json");
requestHeaders.append("Accept", "application/json");
requestHeaders.append("token", "YOUR_SECRET_KEY");
var requestOptions = {
method: "GET",
headers: requestHeaders,
redirect: "follow"
};
fetch("https://api.thekyb.com/api/readServiceDetail?service_id=SERVICE_ID", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.thekyb.com/api/readServiceDetail?service_id=SERVICE_ID',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Accept: application/json',
'token: YOUR_SECRET_KEY'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
import json
url = "https://api.thekyb.com/api/readServiceDetail?service_id=SERVICE_ID"
payload={}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'token': 'YOUR_SECRET_KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
var axios = require("axios");
var config = {
method: 'get',
url: 'https://api.thekyb.com/api/readServiceDetail?service_id=SERVICE_ID',
headers: {
"Content-Type": "application/json",
Accept: "application/json",
token: "YOUR_SECRET_KEY"
}
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
curl --location --request GET 'https://api.thekyb.com/api/readServiceDetail?service_id=SERVICE_ID' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'token: YOUR_SECRET_KEY'
Read Questionnaire Response
Description:
Retrieve the data of a questionnaire containing the end-user's answers to each question. This endpoint provides the complete set of responses submitted by the user, ensuring all answered questions are accurately recorded.
Method Call: GET
API:
https://api.thekyb.com/api/readQuestionnaireResponse?questionnaire_request_id=QUESTIONNAIRE_REQUEST_ID
Parameter | Description |
---|---|
questionnaire_request_id | Type: String Required: Yes Description: The identifier for the Questionnaire Request. This ID can be obtained from the response of the Questionnaire Submission or by using the Read Service Detail endpoints. |
- Http
- Javascript
- PHP
- Python
- Node
- cURL
GET /api/readQuestionnaireResponse?questionnaire_request_id=QUESTIONNAIRE_REQUEST_ID HTTP/1.1
Host: api.thekyb.com
Content-Type: application/json
Accept: application/json
token: YOUR_SECRET_KEY
var requestHeaders = new Headers();
requestHeaders.append("Content-Type", "application/json");
requestHeaders.append("Accept", "application/json");
requestHeaders.append("token", "YOUR_SECRET_KEY");
var requestOptions = {
method: "GET",
headers: requestHeaders,
redirect: "follow"
};
fetch("https://api.thekyb.com/api/readQuestionnaireResponse?questionnaire_request_id=QUESTIONNAIRE_REQUEST_ID", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.thekyb.com/api/readQuestionnaireResponse?questionnaire_request_id=QUESTIONNAIRE_REQUEST_ID',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Accept: application/json',
'token: YOUR_SECRET_KEY'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
import json
url = "https://api.thekyb.com/api/readQuestionnaireResponse?questionnaire_request_id=QUESTIONNAIRE_REQUEST_ID"
payload={}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'token': 'YOUR_SECRET_KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
var axios = require("axios");
var config = {
method: 'get',
url: 'https://api.thekyb.com/api/readQuestionnaireResponse?questionnaire_request_id=QUESTIONNAIRE_REQUEST_ID',
headers: {
"Content-Type": "application/json",
Accept: "application/json",
token: "YOUR_SECRET_KEY"
}
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
curl --location --request GET 'https://api.thekyb.com/api/readQuestionnaireResponse?questionnaire_request_id=QUESTIONNAIRE_REQUEST_ID' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'token: YOUR_SECRET_KEY'
Read OCR Response
Description:
The "Read OCR Response" API endpoint provides detailed information from OCR processing. The response includes three main components: OCR extracted data, business-provided data, and the documents that were processed. This endpoint is essential for retrieving comprehensive results from OCR analysis, ensuring that both the automatically extracted information and the user-provided context are available for review and further processing.
Method Call: GET
API:
https://api.thekyb.com/api/readOcrResponse?ocr_request_id=OCR_REQUEST_ID
Parameter | Description |
---|---|
ocr_request_id | Type: String Required: Yes Description: The identifier for the OCR Request. This ID can be obtained from the response of the Read Service Detail endpoint. |
- Http
- Javascript
- PHP
- Python
- Node
- cURL
GET /api/readOcrResponse?ocr_request_id=OCR_REQUEST_ID HTTP/1.1
Host: api.thekyb.com
Content-Type: application/json
Accept: application/json
token: YOUR_SECRET_KEY
var requestHeaders = new Headers();
requestHeaders.append("Content-Type", "application/json");
requestHeaders.append("Accept", "application/json");
requestHeaders.append("token", "YOUR_SECRET_KEY");
var requestOptions = {
method: "GET",
headers: requestHeaders,
redirect: "follow"
};
fetch("https://api.thekyb.com/api/readOcrResponse?ocr_request_id=OCR_REQUEST_ID", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.thekyb.com/api/readOcrResponse?ocr_request_id=OCR_REQUEST_ID',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Accept: application/json',
'token: YOUR_SECRET_KEY'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
import json
url = "https://api.thekyb.com/api/readOcrResponse?ocr_request_id=OCR_REQUEST_ID"
payload={}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'token': 'YOUR_SECRET_KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
var axios = require("axios");
var config = {
method: 'get',
url: 'https://api.thekyb.com/api/readOcrResponse?ocr_request_id=OCR_REQUEST_ID',
headers: {
"Content-Type": "application/json",
Accept: "application/json",
token: "YOUR_SECRET_KEY"
}
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
curl --location --request GET 'https://api.thekyb.com/api/readOcrResponse?ocr_request_id=OCR_REQUEST_ID' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'token: YOUR_SECRET_KEY'
Response
The Bussinesss Information Collection API offers two types of responses when a request is made: an HTTP response and a callback response. Both responses are presented in JSON format with an application/json header. The response header also includes a Key Signature, which is utilized for verifying the authenticity of the response source.
Get All Questionnaires
Description:
The "Get All Questionnaires" response is designed to convey structured information about questionnaires within an API context.
API:
https://api.thekyb.com/api/getAllQuestionnaires
Response:
{
"error": false,
"message": "Data fetched successfully",
"data": {
"questionnaires": [
{
"questionnaire_id": "66826b304c40c4f3f2093",
"created_at": "2024-07-01T08:39:12.457000Z",
"updated_at": "2024-07-01T08:39:12.457000Z",
"kyb_check": true,
"created_by": "USER_NAME",
"title": "For Entities (With KYC, KYB and AML)",
"description": "",
"pages": [
{
"page_title": "KYB Information",
"kyb_check": true,
"ubo_kyc_check": true,
"ubo_aml_check": true,
"questions": [
{
"question": "Company Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_company_name",
"question_id": "23RFE4RTGBVBGT4EDXCDW3E",
"placeholder": "Enter Company Name"
},
{
"question": "Registration Number",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_registration_number",
"question_id": "23RFE4RTGBVBGT4EDXCDW39",
"placeholder": "Enter Company Registration Number"
},
{
"question": "Country Name",
"input_type": "countries_list",
"rules": {
"required": true
},
"key_name": "kyb_country_name",
"question_id": "23RFE4RTGBVBGT4E123ERFDS",
"placeholder": "Enter Country Name",
"options": [
{
"country_name": "sudan",
"states": [],
"country_code": "sd",
"flag_url": "https://api.thekyb.com/uploads/countries/sd.png"
},
{
"country_name": "united_states",
"states": [
"alabama",
"alaska",
"arizona",
...
],
"country_code": "us",
"flag_url": "https://api.thekyb.com/uploads/countries/us.png"
},
{
"country_name": "tanzania",
"states": [],
"country_code": "tz",
"flag_url": "https://api.thekyb.com/uploads/countries/tz.png"
},
...
]
},
{
"question": "Certificate of Incorporation",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyb_company_certificate_of_incorporation",
"question_id": "fxsux11181r9smrQV1717506",
"placeholder": "Upload Certificate of Incorporation"
},
{
"question": "Add Ubo Details",
"input_type": "sub_questions",
"question_id": "2EFVC23ESXCD23EWSDW",
"ubo_aml_check": true,
"ubo_kyc_check": true,
"sub_questions": [
{
"questions": [
{
"question": "Full Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "full_name",
"services": [
"aml",
"kyc"
],
"placeholder": "Enter Full Name"
},
{
"question": "Date of Birth",
"input_type": "date",
"rules": {
"required": true
},
"key_name": "dob",
"services": [
"aml",
"kyc"
],
"placeholder": "Enter Date of Birth"
},
{
"question": "Passport Number",
"input_type": "text",
"key_name": "kyc_check_id_number",
"rules": {
"required": true
},
"placeholder": "Enter Passport Number"
},
{
"question": "Upload Passport",
"input_type": "file",
"key_name": "kyc_check_id_document",
"rules": {
"required": true,
"multiple": false
}
}
]
}
]
}
]
}
]
},
{
"questionnaire_id": "66826b304c40c4f3f2093",
"created_at": "2024-07-01T08:39:12.394000Z",
"updated_at": "2024-07-01T08:39:12.394000Z",
"aml_check": true,
"created_by": "USER_NAME",
"title": "For Individuals (With KYC and AML)",
"description": "",
"pages": [
{
"page_title": "KYC and AML Information",
"kyc_check": true,
"aml_check": true,
"questions": [
{
"question_id": "2rfds213erewasdfeqrg",
"question": "Full Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "full_name",
"services": [
"aml",
"kyc"
],
"placeholder": "Enter Full Name"
},
{
"question_id": "234revfscvffwd324r23",
"question": "Date of Birth",
"input_type": "date",
"rules": {
"required": true
},
"services": [
"aml",
"kyc"
],
"key_name": "dob",
"placeholder": "Enter Date of Birth"
},
{
"question_id": "234eresdfe243wsdfrew",
"question": "Passport Number",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyc_check_id_number",
"placeholder": "Enter Passport Number"
},
{
"question_id": "234rescvgfre34rtredf",
"question": "Upload Passport",
"input_type": "file",
"key_name": "kyc_check_id_document",
"rules": {
"required": true,
"multiple": false
}
}
]
}
]
},
{
"questionnaire_id": "667aad6e3a6fc80c240e49a",
"created_at": "2024-06-25T11:43:42.350000Z",
"updated_at": "2024-06-25T11:43:42.350000Z",
"kyb_check": true,
"created_by": "USER_NAME",
"title": "For Businesses (With KYC)",
"description": "This questionnaire collect information and verify the KYC identity of provided ID document and Address Document. Furthermore, it will also verify the KYB verification for Business",
"pages": [
{
"page_title": "KYC Information",
"kyc_check": true,
"for_business": true,
"kyc_address_check": true,
"questions": [
{
"question": "First Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyc_check_first_name",
"question_id": "1185oVqvubMMlhbJul1717506",
"placeholder": "Enter First Name"
},
{
"question": "Last Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyc_check_last_name",
"question_id": "DKI1z31111zfy9C2KHx91717506",
"placeholder": "Enter Last Name"
},
{
"question": "ID number",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyc_check_id_number",
"question_id": "tG114aNRo111WeQLFZ6Wy1717506",
"placeholder": "Enter ID number"
},
{
"question": "Country",
"input_type": "countries_list",
"rules": {
"required": true
},
"key_name": "kyc_check_country_name",
"question_id": "R3Z6h111PWQGqefirIv1717506",
"placeholder": "Select Country",
"options": [
{
"flag_url": "https://api.thekyb.com/uploads/countries/af.png",
"country_name": "afghanistan",
"country_code": "AF",
"states": []
},
{
"flag_url": "https://api.thekyb.com/uploads/countries/al.png",
"country_name": "albania",
"country_code": "AL",
"states": []
},
{
"flag_url": "https://api.thekyb.com/uploads/countries/dz.png",
"country_name": "algeria",
"country_code": "DZ",
"states": []
},
...
]
},
{
"question": "Address",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyc_check_address_detail",
"question_id": "vPtXA8ae11WCXy5v2k1717506",
"placeholder": "Enter Address"
},
{
"question": "ID Document",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyc_check_id_document",
"question_id": "4Seerq11Zo28hDyvc61717506",
"placeholder": "Upload ID Document"
},
{
"question": "Proof of address",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyc_check_address_document",
"question_id": "LjBx111Aba4UvtXNv581717506",
"placeholder": "Upload Proof of address"
}
]
},
{
"page_title": "Business Information",
"kyb_check": true,
"document_verification": true,
"for_business": true,
"questions": [
{
"question": "In which country is your company located",
"input_type": "countries_list",
"rules": {
"required": true
},
"key_name": "kyb_country_name",
"question_id": "R3Z1116hPWQGqefirI11v1717506",
"placeholder": "Select Country",
"options": [
{
"country_name": "sudan",
"states": [],
"country_code": "sd",
"flag_url": "https://api.thekyb.com/uploads/countries/sd.png"
},
{
"country_name": "united_states",
"states": [
"alabama",
"alaska",
"arizona",
...
],
"country_code": "us",
"flag_url": "https://api.thekyb.com/uploads/countries/us.png"
},
{
"country_name": "tanzania",
"states": [],
"country_code": "tz",
"flag_url": "https://api.thekyb.com/uploads/countries/tz.png"
},
...
]
},
{
"question": "Company Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_company_name",
"question_id": "PnrS1113hzIoy1pWInnm1717506",
"placeholder": "Enter Company Name"
},
{
"question": "Company Registration number",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_registration_number",
"question_id": "s381r0911KErIz2EwXC1717506",
"placeholder": "Enter Company Registration number"
},
{
"question": "Company Address",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_address_detail",
"question_id": "8t11Y9nUvFU173clyUV1717506",
"placeholder": "Enter Company Address"
},
{
"question": "Certificate of Incorporation",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyb_company_certificate_of_incorporation",
"question_id": "fxsux11181r9smrQVnmp1717506",
"placeholder": "Upload Certificate of Incorporation"
},
{
"question": "Proof of address",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyb_address_document",
"question_id": "x02ofA0M11nY11HbZfcz1717506",
"placeholder": "Upload Proof of address"
}
]
}
]
},
{
"questionnaire_id": "667aad6d3a6fc80c240e4",
"created_at": "2024-06-25T11:43:41.567000Z",
"updated_at": "2024-07-01T07:08:18.376000Z",
"created_by": "USER_NAME",
"title": "For Individuals",
"description": "This questionnaire will verify the KYC identity and address verification of the provided document.",
"pages": [
{
"page_title": "KYC Information",
"kyc_check": true,
"kyc_address_check": true,
"for_individual": true,
"questions": [
{
"question": "Country",
"input_type": "countries_list",
"rules": {
"required": true
},
"key_name": "kyc_check_country_name",
"question_id": "R3Z6hPWQGq1111efirIv1717506",
"placeholder": "Select Country",
"options": [
{
"flag_url": "https://api.thekyb.com/uploads/countries/af.png",
"country_name": "afghanistan",
"country_code": "AF",
"states": []
},
{
"flag_url": "https://api.thekyb.com/uploads/countries/al.png",
"country_name": "albania",
"country_code": "AL",
"states": []
},
{
"flag_url": "https://api.thekyb.com/uploads/countries/dz.png",
"country_name": "algeria",
"country_code": "DZ",
"states": []
},
...
]
},
{
"question": "First Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyc_check_first_name",
"placeholder": "Enter First Name",
"question_id": "PiPvIa82qRZsKuKb1719817"
},
{
"question": "Last Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyc_check_last_name",
"placeholder": "Enter Last Name",
"question_id": "pb4bXjid33li41WJ1719817"
},
{
"question": "ID number",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyc_check_id_number",
"placeholder": "Enter ID number",
"question_id": "SapCp7nfe5aCDwNy1719817"
},
{
"question": "Address",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyc_check_address_detail",
"placeholder": "Enter Address",
"question_id": "Z1MhohK66YiOCRRw1719817"
},
{
"question": "ID Document",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyc_check_id_document",
"placeholder": "upload ID Document",
"question_id": "403YREfI6KCDeoXN1719817"
},
{
"question": "Proof of address",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyc_check_address_document",
"placeholder": "Upload Proof of address",
"question_id": "I6KgNWa6UR2chw5p1719817"
}
]
}
]
},
{
"questionnaire_id": "667aad6c3a6fc80c240e4",
"created_at": "2024-06-25T11:43:40.704000Z",
"updated_at": "2024-06-25T11:43:40.704000Z",
"kyb_check": true,
"created_by": "USER_NAME",
"title": "For Businesses (Without KYC)",
"description": "This questionnaire collect information and verify the KYC identity of provided ID document and Address Document. Furthermore, it will also verify the KYB verification for Business",
"pages": [
{
"page_title": "Business Information",
"kyb_check": true,
"for_business": true,
"document_verification": true,
"questions": [
{
"question": "Company Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_company_name",
"question_id": "PnrS3hzIoy1111pWInnm17175016",
"placeholder": "Enter Company Name"
},
{
"question": "Company Registration number",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_registration_number",
"question_id": "s38r09KErI1z2EwXC1111717506",
"placeholder": "Enter Company Registration number"
},
{
"question": "Country",
"input_type": "countries_list",
"rules": {
"required": true
},
"key_name": "kyb_country_name",
"question_id": "R3111Z6hP1WQGqefirIv1717506",
"placeholder": "Select Country",
"options": [
{
"country_name": "sudan",
"states": [],
"country_code": "sd",
"flag_url": "https://api.thekyb.com/uploads/countries/sd.png"
},
{
"country_name": "united_states",
"states": [
"alabama",
"alaska",
"arizona",
...
],
"country_code": "us",
"flag_url": "https://api.thekyb.com/uploads/countries/us.png"
},
{
"country_name": "tanzania",
"states": [],
"country_code": "tz",
"flag_url": "https://api.thekyb.com/uploads/countries/tz.png"
},
...
]
},
{
"question": "Company Address",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_address_detail",
"question_id": "81111tY991nUvFU73clyUV17175016",
"placeholder": "Enter Company Address"
},
{
"question": "Certificate of Incorporation",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyb_company_certificate_of_incorporation",
"question_id": "fxsux8r9s1mrQVn111mp1717506",
"placeholder": "Upload Certificate of Incorporation"
},
{
"question": "Proof of address",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyb_address_document",
"question_id": "x02ofA11110M1n111YHbZfcz1717506",
"placeholder": "Upload Proof of address"
}
]
}
]
},
{
"questionnaire_id": "665f143c6d4c50b94c04a",
"created_at": "2024-06-04T13:18:52.744000Z",
"updated_at": "2024-06-05T06:10:38.548000Z",
"kyb_check": true,
"created_by": "system",
"title": "KYB Compliance",
"description": null,
"pages": [
{
"page_title": "Business Information",
"kyb_check": true,
"questions": [
{
"question": "What is your company's name?",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_company_name",
"question_id": "mdhTdUoYhdErLh3h1717507"
},
{
"question": "What is the company's registration number?",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_registration_number",
"question_id": "EtMxTF7FcDyNlZBC1717507"
},
{
"question": "Select the country where the company is register",
"input_type": "countries_list",
"rules": {
"required": true
},
"key_name": "kyb_country_name",
"question_id": "sOCKrzyJzlgxk17d1717507",
"options": [
{
"country_name": "sudan",
"states": [],
"country_code": "sd",
"flag_url": "https://api.thekyb.com/uploads/countries/sd.png"
},
{
"country_name": "united_states",
"states": [
"alabama",
"alaska",
"arizona",
...
],
"country_code": "us",
"flag_url": "https://api.thekyb.com/uploads/countries/us.png"
},
{
"country_name": "tanzania",
"states": [],
"country_code": "tz",
"flag_url": "https://api.thekyb.com/uploads/countries/tz.png"
},
...
]
}
]
}
]
}
],
"pagination": {
"total": 6,
"per_page": 15,
"current_page": 1,
"last_page": 1,
"from": 1,
"to": 6
}
}
}
Response Parameters:
Parameter | Description |
---|---|
error | Indicates whether an error occurred during the API request. This field is false when the request is successful and true when there is an error. In this response, "error": false indicates that the data was fetched successfully without errors. |
message | A descriptive message accompanying the API response to provide additional context. The "message" field contains a string indicating the outcome of the API call. For example, "message": "Data fetched successfully" indicates that the operation was successful and the data retrieval was completed without issues. |
data | The main payload containing detailed information retrieved from the API. This section includes structured data related to questionnaires, pages, and questions within the document verification context. |
data.questionnaires | An array containing questionnaire objects, each representing a specific set of questions and metadata related to document verification. Each questionnaire includes unique identifiers, creation timestamps, titles, descriptions, and structured pages with questions. |
data.questionnaires.*.questionnaire_id | Unique identifier assigned to each questionnaire, facilitating individual tracking and referencing within the system. |
data.questionnaires.*.created_at | Timestamp indicating the date and time when the questionnaire was initially created. The format adheres to ISO 8601 standards for date and time representation. |
data.questionnaires.*.updated_at | Timestamp showing the date and time when the questionnaire was last updated. It provides insight into the most recent modification made to the questionnaire's content or structure. |
data.questionnaires.*.title | Title assigned to the questionnaire, describing its purpose or subject matter. |
data.questionnaires.*.description | Additional context or details accompanying the questionnaire's purpose or scope. The description field helps provide clarity on the intended use or goals of the questionnaire. |
data.questionnaires.*.pages | An array containing page objects within the questionnaire. Each page represents a distinct section or topic within the questionnaire structure. |
data.questionnaires.*.pages.*.page_title | Title of the page within the questionnaire structure. For instance, "KYB Information" denotes a specific section focused on collecting the KYB Information related to KYB processes. |
data.questionnaires.*.pages.*.questions | An array of question objects within each page of the questionnaire. Each question object includes details such as the text of the question, expected input type, validation rules, and identifiers. These questions guide respondents on what information or files to provide during the KYB process. |
data.questionnaires.*.pages.*.questions. *.question | Textual content of the question posed to the respondent. For example, "Company Name" outlines the specific requirement for the user to enter a company name as part of the KYB processes. |
data.questionnaires.*.pages.*.questions. *.input_type | The type of input expected for the question. For instance, "input_type": "text" specifies that the input should be text. |
data.questionnaires.*.pages.*.questions. *.rules | Object detailing specific rules associated with answering the question. For example, "required": true indicates that providing an answer to the question is mandatory, while "multiple": false specifies that only one file can be uploaded in response. |
data.questionnaires.*.pages.*.questions. *.key_name | Unique key name assigned to the question within the questionnaire structure. This identifier is used to reference and retrieve specific questions programmatically. |
data.questionnaires.*.pages.*.questions. *.question_id | Unique identifier assigned to each question. It facilitates identification and management of individual questions within the questionnaire. |
data.questionnaires.*.pages.*.questions. *.placeholder | Placeholder text displayed in the input field to guide the user |
data.questionnaires.*.pages.*.questions. *.sub_questions | An array of additional questions related to the main question. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.question | The text of the sub-question being asked. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.input_type | The type of input expected for the sub-question. For instance, "input_type": "text" specifies that the input should be text. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.rules | Object detailing specific rules associated with answering the question. For example, "required": true indicates that providing an answer to the question is mandatory, while "multiple": false specifies that only one file can be uploaded in response. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.key_name | Unique key name assigned to the question within the questionnaire structure. This identifier is used to reference and retrieve specific questions programmatically. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.placeholder | Placeholder text displayed in the input field to guide the user. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.services | An array of services related to the sub-question, indicating which services need to be performed for this question. |
data.pagination | data.pagination is used to control and navigate through large result sets when retrieving paginated data. |
data.pagination.total | "pagination.total" refers to the total number of results or items available in a paginated API response. This value indicates the overall count of items that match the search criteria or data retrieval request. |
data.pagination.per_page | "data.pagination.per_page" refers to the number of data items or results displayed per page during pagination. This value indicates how many data entries or companies’ profiles are presented to the user in a single page of the API response. |
data.pagination.current_page | "data.pagination.current_page" represents the page number of the current set of data being displayed. This value indicates which specific page of the API response the user is currently viewing. As the user navigates through the paginated results, the "current_page" parameter helps keep track of their progress within the dataset, enabling efficient access to different segments of the data. |
data.pagination.last_page | In the API response, "data.pagination.last_page" indicates the page number of the last page available in the paginated results. This value helps users understand the total number of pages in the response and facilitates easy navigation through the complete dataset. When users reach the last page, they know they have accessed all the available data items within the paginated response. |
data.pagination.from | "data.pagination.from" shows the position of the first data item on the current page of the API response. It helps users know where the displayed data starts within the complete dataset. For example in the above response the value of pagination.from is 1. |
data.pagination.to | In the API response, "data.pagination.to" represents the position of the last data item displayed on the current page. It helps users understand where the displayed data ends within the complete dataset, making it easier to keep track of the data range being shown on the current page of the paginated results. |
Create Questionnaire Url
Description:
Whenever a user performs create questionnaire request, a URL will be generated.
API:
https://api.thekyb.com/api/createQuestionnaireUrl?questionnaire_id=QUESTIONNAIRE_ID&ttl=60&country_name=COUNTRY_NAME
Response:
{
"error": false,
"message": "Questionnaire Url Created successfully",
"data": {
"url": "https://backoffice.thekyb.com/business-information-questionnaire/12345"
}
}
Response Parameters:
Parameter | Description |
---|---|
url | You can use link for documents verification. |
Get All Questions
Description:
This API allows retrieval of questions to provide corresponding answers.
API:
https://api.thekyb.com/api/getAllQuestionnaires
Response:
{
"error": false,
"message": "Data fetched successfully",
"data": {
"questionnaires": {
"questionnaire_id": "66826b304c40c4f3f2093",
"created_at": "2024-07-01T08:39:12.457000Z",
"updated_at": "2024-07-01T08:39:12.457000Z",
"kyb_check": true,
"created_by": "USER_NAME",
"title": "For Entities (With KYC, KYB and AML)",
"description": "",
"pages": [
{
"page_title": "KYB Information",
"kyb_check": true,
"ubo_kyc_check": true,
"ubo_aml_check": true,
"questions": [
{
"question": "Company Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_company_name",
"question_id": "23RFE4RTGBVBGT4EDXCDW3E",
"placeholder": "Enter Company Name"
},
{
"question": "Registration Number",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_registration_number",
"question_id": "23RFE4RTGBVBGT4EDXCDW39",
"placeholder": "Enter Company Registration Number"
},
{
"question": "Country Name",
"input_type": "countries_list",
"rules": {
"required": true
},
"key_name": "kyb_country_name",
"question_id": "23RFE4RTGBVBGT4E123ERFDS",
"placeholder": "Enter Country Name",
"options": [
{
"country_name": "sudan",
"states": [],
"country_code": "sd",
"flag_url": "https://api.thekyb.com/uploads/countries/sd.png"
},
{
"country_name": "united_states",
"states": [
"alabama",
"alaska",
"arizona",
...
],
"country_code": "us",
"flag_url": "https://api.thekyb.com/uploads/countries/us.png"
},
{
"country_name": "tanzania",
"states": [],
"country_code": "tz",
"flag_url": "https://api.thekyb.com/uploads/countries/tz.png"
},
...
]
},
{
"question": "Certificate of Incorporation",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyb_company_certificate_of_incorporation",
"question_id": "fxsux11181r9smrQV1717506",
"placeholder": "Upload Certificate of Incorporation"
},
{
"question": "Add Ubo Details",
"input_type": "sub_questions",
"question_id": "2EFVC23ESXCD23EWSDW",
"ubo_aml_check": true,
"ubo_kyc_check": true,
"sub_questions": [
{
"questions": [
{
"question": "Full Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "full_name",
"services": [
"aml",
"kyc"
],
"placeholder": "Enter Full Name"
},
{
"question": "Date of Birth",
"input_type": "date",
"rules": {
"required": true
},
"key_name": "dob",
"services": [
"aml",
"kyc"
],
"placeholder": "Enter Date of Birth"
},
{
"question": "Passport Number",
"input_type": "text",
"key_name": "kyc_check_id_number",
"rules": {
"required": true
},
"placeholder": "Enter Passport Number"
},
{
"question": "Upload Passport",
"input_type": "file",
"key_name": "kyc_check_id_document",
"rules": {
"required": true,
"multiple": false
}
}
]
}
]
}
]
}
]
}
}
}
Response Parameters:
Parameter | Description |
---|---|
error | Indicates whether an error occurred during the API request. This field is false when the request is successful and true when there is an error. In this response, "error": false indicates that the data was fetched successfully without errors. |
message | A descriptive message accompanying the API response to provide additional context. The "message" field contains a string indicating the outcome of the API call. For example, "message": "Data fetched successfully" indicates that the operation was successful and the data retrieval was completed without issues. |
data | The main payload containing detailed information retrieved from the API. This section includes structured data related to questionnaires, pages, and questions. |
data.questionnaires | An array containing questionnaire objects, each representing a specific set of questions. Each questionnaire includes unique identifiers, creation timestamps, titles, descriptions, and structured pages with questions. |
data.questionnaires.*.questionnaire_id | Unique identifier assigned to each questionnaire, facilitating individual tracking and referencing within the system. |
data.questionnaires.*.created_at | Timestamp indicating the date and time when the questionnaire was initially created. The format adheres to ISO 8601 standards for date and time representation. |
data.questionnaires.*.updated_at | Timestamp showing the date and time when the questionnaire was last updated. It provides insight into the most recent modification made to the questionnaire's content or structure. |
data.questionnaires.*.title | Title assigned to the questionnaire, describing its purpose or subject matter. |
data.questionnaires.*.description | Additional context or details accompanying the questionnaire's purpose or scope. The description field helps provide clarity on the intended use or goals of the questionnaire. |
data.questionnaires.*.pages | An array containing page objects within the questionnaire. Each page represents a distinct section or topic within the questionnaire structure. |
data.questionnaires.*.pages.*.page_title | Title of the page within the questionnaire structure. For instance, "KYB Information" denotes a specific section focused on specific section focused on collecting the KYB Information related to KYB processes. |
data.questionnaires.*.pages.*.questions | An array of question objects within each page of the questionnaire. Each question object includes details such as the text of the question, expected input type, validation rules, and identifiers. These questions guide respondents on what information or files to provide during the KYB process. |
data.questionnaires.*.pages.*.questions.*.question | Textual content of the question posed to the respondent. For example, "Company Name" outlines the specific requirement for the user to enter a company name as part of the KYB processes. |
data.questionnaires.*.pages.*.questions.*.input_type | The type of input expected for the question. For instance, "input_type": "text" specifies that the input should be text. |
data.questionnaires.*.pages.*.questions.*.rules | Object detailing specific rules associated with answering the question. For example, "required": true indicates that providing an answer to the question is mandatory, while "multiple": false specifies that only one file can be uploaded in response. |
data.questionnaires.*.pages.*.questions.*.key_name | Unique key name assigned to the question within the questionnaire structure. This identifier is used to reference and retrieve specific questions programmatically. |
data.questionnaires.*.pages.*.questions.*.question_id | Unique identifier assigned to each question. It facilitates identification and management of individual questions within the questionnaire. |
data.questionnaires.*.pages.*.questions.*.placeholder | Placeholder text displayed in the input field for the question. |
data.questionnaires.*.pages.*.questions. *.sub_questions | An array of additional questions related to the main question. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.question | The text of the sub-question being asked. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.input_type | The type of input expected for the sub-question. For instance, "input_type": "text" specifies that the input should be text. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.rules | Object detailing specific rules associated with answering the question. For example, "required": true indicates that providing an answer to the question is mandatory, while "multiple": false specifies that only one file can be uploaded in response. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.key_name | Unique key name assigned to the question within the questionnaire structure. This identifier is used to reference and retrieve specific questions programmatically. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.placeholder | Placeholder text displayed in the input field to guide the user. |
data.questionnaires.*.pages.*.questions. *.sub_questions.*.questions.*.services | An array of services related to the sub-question, indicating which services need to be performed for this question. |
Questionnaire Submission
Description:
After submitting the required documents, you will receive a response containing a "questionnaire_request_id". This service ID can then be used to check the verification status.
API:
https://api.thekyb.com/api/search
Response:
{
"questionnaire_request_id": "65bcd178bc44c5a4df05380a"
"company_id": "65bcd178bc44c5a4df05380a"
"service_id": "65bcd178bc44c5a4df05380a"
}
Response Parameters:
Parameter | Description |
---|---|
questionnaire_request_id | Identifier for the questionnaire request. |
company_id | Identifier for the company associated. |
service_id | Identifier for the service associated. |
Read Service Detail
Description:
To obtain the status of the questionnaires, access this endpoint. Upon hitting the endpoint, a response will be generated, providing essential information regarding the status of the questionnaire process. This response includes details such as whether the questionnaire has been successfully completed or not. This mechanism ensures users have immediate access to the outcome, enabling timely actions or follow-ups as necessary.
For KYB Check request, you'll get a KYB request ID in "kyb_request_id" key.
For Know Your Customer (KYC) request, you'll get a KYC request ID in "kyc_request_id" key.
For OCR request, you'll get an OCR request ID in "oc_request_id" key.
For AML request, you'll get an AML request ID in "aml_request_id" key.
For more details, check the documentation at the specified KYB Check , KYC, OCR and AML endpoint.
Method Call: GET
API:
https://api.thekyb.com/api/readServiceDetail?service_id=SERVICE_ID
Response:
{
"error": false,
"message": "service read successfully",
"data": {
"service_detail": {
"_id": "66799c5758",
"services": [
"questionnaire",
"kyb_check",
"kyc",
"document_base_kyb"
],
"random_id": "kyb-DL29r1",
"status": "resolved",
"questionnaire_request_id": "66799c575d6",
"aml_request_id": "66799c5ad14d",
"kyc_request_id": "",
"kyb_request_id": "6684215cd71b9600dd02",
"ocr_request_id": "tbfbQ1FbjQwppuRSkYznckA8sj19245911"
"ubo_aml_request_ids": [],
"ubo_kyc_request_ids": [],
}
}
}
Response Parameters:
Parameter | Description |
---|---|
error | Indicates whether an error occurred during the API request. "error": false signifies that the request was successful without any errors. |
message | A descriptive message accompanying the API response to indicate the status or outcome of the request. For instance, "message": "service read successfully" confirms that the service data was retrieved successfully. |
data | A container for the main data returned by the API. This includes details about the service requested. |
data.service_detail | An object containing detailed information about the specific service requested. |
data.service_detail._id | The unique identifier for the service detail record. For example, "66799c5758" is the ID of this specific service detail entry. |
data.service_detail.services | An array listing the types of services associated with this request. For instance, ["questionnaire", "kyb_check", "kyc", "document_base_kyb"] indicates that the service is related to document-based Know Your Business (KYB) verification. |
data.service_detail.random_id | A randomly generated identifier for the service request, such as "kyb-DL29r1" . This ID can be used to track the request uniquely. |
data.service_detail.status | The current status of the service request."status": "pending" indicates that the request is still in progress and has not yet been completed. "status": "resolved" indicates completion of service request. |
data.service_detail.questionnaire_request_id | The unique identifier for the associated questionnaire request. For example, "66799c575d6" links to the specific questionnaire request tied to this service. |
data.service_detail.aml_request_id | The unique identifier for the associated Anti-Money Laundering (AML) request. For instance, "66799c5ad14d" indicates the specific AML request linked to this service. |
data.service_detail.kyc_request_id | The unique identifier for the associated Know Your Customer (KYC) request. In this case, it is null , indicating that there is no linked KYC request for this service. |
data.service_detail.kyb_request_id | The unique identifier for the associated Know Your Business (KYB) request. For example, "66799c5ad14f" identifies the specific KYB request connected to this service. |
data.service_detail.oc_request_id | The unique identifier for the associated other check (OC) request. For instance, "tbfbQ1FbjQwppuRSkYznckA8sj19245911" refers to the specific other check request tied to this service. |
data.service_detail.ubo_aml_request_ids | An array of UBO AML request IDs. Each ID corresponds to an AML check performed on the provided UBO details. Use these IDs to query the AML Check endpoint to retrieve the AML check results for each UBO. |
data.service_detail.ubo_kyc_request_ids | An array of UBO KYC request IDs. Each ID corresponds to a KYC performed on the provided UBO details. Use these IDs to query the KYC endpoint to retrieve the KYC results for each UBO. |
Read Questionnaire Response
Description:
Retrieve the data of a questionnaire containing the end-user's answers to each question. This endpoint provides the complete set of responses submitted by the user, ensuring all answered questions are accurately recorded.
API:
https://api.thekyb.com/api/readQuestionnaireResponse?questionnaire_request_id=QUESTIONNAIRE_REQUEST_ID
Response:
{
"error": false,
"message": "service read successfully",
"data": {
"questionnaire_detail": {
"_id": "66853ec3cbb7285878024",
"questionnaire_request_id": "66853ec3cbb728587802",
"user_id": "65a8c10c80ee6a79390",
"company_id": "65a8c10c80ee6a79390",
"service_id": "66853ec3cbb728587802",
"kyb_services": [
"questionnaire"
],
"status": "resolved",
"final_response": {
"company_id": "65a8c10c80ee6a793909",
"title": "For Entities (With KYC, KYB and AML)",
"kyb_check": true,
"ubo_kyc_check": true,
"ubo_aml_check": true,
"type": "kyb",
"description": "",
"pages": [
{
"page_title": "KYB Information",
"kyb_check": true,
"ubo_kyc_check": true,
"ubo_aml_check": true,
"questions": [
{
"question": "Company Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_company_name",
"question_id": "23RFE4RTGBVBGT4EDXCDW",
"placeholder": "Enter Company Name",
"answer": "COMPANY_NAME"
},
{
"question": "Registration Number",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "kyb_registration_number",
"question_id": "23RFE4RTGBVBGT4EDXCD",
"placeholder": "Enter Company Registration Number",
"answer": "REGISTRATION_NUMBER"
},
{
"question": "Country Name",
"input_type": "countries_list",
"rules": {
"required": true
},
"key_name": "kyb_country_name",
"question_id": "23RFE4RTGBVBGT4E123ER",
"placeholder": "Enter Country Name",
"answer": "united_kingdom"
},
{
"question": "Certificate of Incorporation",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyb_company_certificate_of_incorporation",
"question_id": "fxsux11181r9smrQV171",
"placeholder": "Upload Certificate of Incorporation",
"answer": [
{
"file_url": "https://api.thekyb.com/api/getFile/66853ec3cbb728587802",
"file_id": "66853ec3cbb728587802",
"file_name": "FILE_NAME.png",
"extension_type": "png",
"file_size": "143.16 KB"
}
]
},
{
"question": "Add Ubo Details",
"input_type": "sub_questions",
"question_id": "2EFVC23ESXCD23EWS",
"ubo_aml_check": true,
"ubo_kyc_check": true,
"sub_questions": [
{
"questions": [
{
"question": "Full Name",
"input_type": "text",
"rules": {
"required": true
},
"key_name": "full_name",
"services": [
"aml",
"kyc"
],
"placeholder": "Enter Full Name",
"answer": "UBO NAME"
},
{
"question": "Date of Birth",
"input_type": "date",
"rules": {
"required": true
},
"key_name": "dob",
"services": [
"aml",
"kyc"
],
"placeholder": "Enter Date of Birth",
"answer": "2024-07-02"
},
{
"question": "Passport Number",
"input_type": "text",
"key_name": "kyc_check_id_number",
"rules": {
"required": true
},
"placeholder": "Enter Passport Number",
"answer": "12345"
},
{
"question": "Upload Passport",
"input_type": "file",
"key_name": "kyc_check_id_document",
"rules": {
"required": true,
"multiple": false
},
"supported_types": [
"passport"
],
"answer": [
{
"file_url": "https://api.thekyb.com/api/getFile/66853ec3cbb728587802",
"file_id": "66853ec3cbb728587802",
"file_name": "FILE_NAME.png",
"extension_type": "png",
"file_size": "148.63 KB"
}
]
}
]
}
],
"answer": [
{
"full_name": "UBO NAME",
"dob": "2024-07-02",
"kyc_check_id_number": "12345",
"kyc_check_id_document": [
[]
]
}
]
}
]
}
],
"created_by_user_id": "65a8c10c80ee6a793909a",
"updated_at": "2024-07-01T08:39:12.457000Z",
"created_at": "2024-07-01T08:39:12.457000Z"
},
"created_at": "2024-07-03T12:06:27.503000Z",
"updated_at": "2024-07-03T12:06:27.503000Z"
}
}
}
Response Parameters:
Parameter | Description |
---|---|
error | Indicates whether an error occurred during the API request. In this response, "error": false indicates that the request was successful without errors. |
message | A descriptive message accompanying the API response to indicate the status or outcome of the request. For instance, "message": "service read successfully" confirms that the service data was retrieved successfully. |
data | The main payload containing detailed information retrieved from the API. This section includes structured data related to a specific questionnaire request and its associated details. |
data.questionnaire_detail | An object containing the details of the questionnaire. |
data.questionnaire_detail._id | A unique identifier for the questionnaire detail record. |
data.questionnaire_detail.questionnaire_request_id | The request ID associated with the questionnaire. |
data.questionnaire_detail.user_id | The user ID associated with the request. |
data.questionnaire_detail.company_id | The company ID associated with the user. |
data.questionnaire_detail.service_id | The service ID associated with the request. |
data.questionnaire_detail.kyb_services | An array listing the services related to the KYB (Know Your Business) check. |
data.questionnaire_detail.status | The current status of the Questionnaire request."status": "pending" indicates that the request is still in progress and has not yet been completed. "status": "resolved" indicates completion of service request. |
data.questionnaire_detail.final_response | Object containing detailed information about the final response of the questionnaire. |
data.questionnaire_detail.final_response.company_id | The company ID associated with the user. |
data.questionnaire_detail.final_response.title | The title of the questionnaire. |
data.questionnaire_detail.final_response.type | The type of the questionnaire, in this case, "kyb". |
data.questionnaire_detail.final_response.description | A description of the questionnaire. |
data.questionnaire_detail.final_response.pages | An array of page objects, each containing details about a page in the questionnaire. |
data.questionnaire_detail.final_response.pages. *.page_title | Title of the page within the questionnaire. |
data.questionnaire_detail.final_response.pages. *.questions | Array containing question objects within each page of the questionnaire. |
data.questionnaire_detail.final_response.pages. *.questions.*.question | Textual content of the question presented to the user. |
data.questionnaire_detail.final_response.pages. *.questions.*.input_type | The type of input expected for the question (e.g., text, file, countries_list, sub_questions). |
data.questionnaire_detail.final_response.pages. *.questions.*.rules | Object specifying rules associated with answering the question. |
data.questionnaire_detail.final_response.pages. *.questions.*.rules.required | Boolean indicating whether the question must be answered (true in this case). |
data.questionnaire_detail.final_response.pages. *.questions.*.rules.multiple | Boolean indicating whether multiple files can be uploaded. |
data.questionnaire_detail.final_response.pages. *.questions.*.key_name | The key name used for identifying the question in the response data. |
data.questionnaire_detail.final_response.pages. *.questions.*.question_id | A unique identifier for the question. |
data.questionnaire_detail.final_response.pages. *.questions.*.placeholder | Placeholder text for the question's input field. |
data.questionnaire_detail.final_response.pages. *.questions.*.answer | The answer provided for the question. |
data.questionnaire_detail.final_response.pages. *.questions.*.sub_questions | An array of sub-question objects, each containing further questions and their answers. |
data.questionnaire_detail.final_response.pages. *.questions.*.sub_questions.*.questions | An array of question objects for the sub-questions. |
data.questionnaire_detail.final_response.pages. *.questions.*.sub_questions.*.questions*.question | The text of the sub-question being asked. |
data.questionnaire_detail.final_response.pages. *.questions.*.sub_questions.*.questions*.input_type | The type of input expected for the sub-question. For instance, "input_type": "text" specifies that the input should be text. |
data.questionnaire_detail.final_response.pages. *.questions.*.sub_questions.*.questions*.rules | Object detailing specific rules associated with answering the question. For example, "required": true indicates that providing an answer to the question is mandatory, while "multiple": false specifies that only one file can be uploaded in response. |
data.questionnaire_detail.final_response.pages. *.questions.*.sub_questions.*.questions*.key_name | Unique key name assigned to the question within the questionnaire structure. This identifier is used to reference and retrieve specific questions programmatically. |
data.questionnaire_detail.final_response.pages. *.questions.*.sub_questions.*.questions*.placeholder | Placeholder text displayed in the input field to guide the user. |
data.questionnaire_detail.final_response.pages. *.questions.*.sub_questions.*.questions*.services | An array of services related to the sub-question, indicating which services need to be performed for this question. |
data.questionnaire_detail.final_response.updated_at | Timestamp indicating when the questionnaire was last updated ("2024-06-04T14:07:00.994000Z"). |
data.questionnaire_detail.final_response.created_at | Timestamp indicating when the questionnaire was initially created ("2024-06-04T14:07:00.994000Z"). |
data.questionnaire_detail.created_at | Timestamp indicating when the questionnaire detail entry was created ("2024-06-14T09:23:40.999000Z"). |
data.questionnaire_detail.updated_at | Timestamp indicating when the questionnaire detail entry was last updated ("2024-06-14T09:23:40.999000Z"). |
Read OCR Response
Description:
The "Read OCR Response" API endpoint delivers detailed OCR processing information. The response includes three main components: OCR extracted data (automatically extracted from documents), business-provided data (supplementary information), and the processed documents. This endpoint ensures comprehensive results, combining extracted data and user-provided context for review and further processing.
API:
https://api.thekyb.com/api/readOcrResponse?ocr_request_id=OCR_REQUEST_ID
Response:
{
"error": false,
"message": "OCR response fetch successfully",
"data": {
"_id": "VPdo03y5LGfWw7sgbmBOq",
"user_verification_data": {
"company_name": "COMPANY_NAME",
"registration_number": "REGISTRATION_NUMBER"
},
"user_submitted_business_data": [
{
"file_id": "6679a1eade37122",
"file_url": "https://api.thekyb.com/api/get-file/662cf53fef15f/6679a1eade37122?expires=1719248576&log=0&signature=67ba6cf78fb498cbe",
"file_type": "incorporation_certificate",
"extension": "pdf"
}
],
"ocr_status": "verified",
"ocr_response": {
"company_name": "COMPANY_NAME",
"registration_number": "REGISTRATION_NUMBER"
},
"decline_reason": [],
}
Response Parameters:
Parameter | Description |
---|---|
error | Indicates whether an error occurred during the API request. "error": false signifies that the request was successful without any errors. |
message | A descriptive message accompanying the API response to indicate the status or outcome of the request. For instance, "message": "OCR response fetch successfully" confirms that the OCR response data was retrieved successfully. |
data | A container for the main data returned by the API. This includes details about the OCR response. |
data._id | The unique identifier for the OCR response record. For example, "VPdo03y5LGfWw7sgbmBOq" is the ID of this specific OCR response entry. |
data.user_verification_data | An object containing the business data provided by the user for verification. |
data.user_verification_data.company_name | The name of the company provided by the user. For example, "company_name": "COMPANY_NAME" . |
data.user_verification_data.registration_number | The registration number of the company provided by the user. For instance, "registration_number": "REGISTRATION_NUMBER" . |
data.user_submitted_business_data | An array of objects containing details about the business documents submitted by the user. |
data.user_submitted_business_data.*.file_id | The unique identifier for the submitted business document. For example, "file_id": "6679a1eade37122" . |
data.user_submitted_business_data.*.file_url | The URL to access the submitted business document. For instance, "file_url": "https://api.thekyb.com/api/get-file/662cf53fef15f/6679a1eade37122?expires=1719248576&log=0&signature=67ba6cf78fb498cbe" . |
data.user_submitted_business_data.*.file_type | The type of the submitted business document. For example, "file_type": "incorporation_certificate" . |
data.user_submitted_business_data.*.extension | The file extension of the submitted business document. For instance, "extension": "pdf" . |
data.ocr_status | The key "ocr_status" indicates the current status of the OCR processing, specifically whether the OCR verification is pending , verified , or failed . This determination is made by comparing the OCR verification data with the user-provided data once both datasets match, the OCR status is set to "verified". |
data.ocr_response | An object containing the data extracted from the documents by OCR. |
data.ocr_response.company_name | The company name extracted by OCR. For example, "company_name": "COMPANY_NAME" . |
data.ocr_response.registration_number | The registration number extracted by OCR. For instance, "registration_number": "REGISTRATION_NUMBER" . |
data.decline_reason | An array of reasons explaining why the OCR process failed. |