Document Based KYB
Introducing Document Based KYB, an advanced service designed to streamline and enhance the Know Your Business (KYB) process for users seeking thorough and reliable verification of business information. The journey begins with a comprehensive "country list" allowing users to select their specific country. Once the user selects a country, they will be presented with questions to guide them. The end-user needs to answer these questions. You will then generate the Document Based KYB URL.
Upon clicking the URL, users encounter a set of "questions" guiding them through the submission of necessary documents. Documents contain an official "business name" and "registration number", the system smoothly connects with "KYB Check" and also conducts an Anti-Money Laundering (AML) check.
By using this service KYB Check, companies can easily collect accurate and up-to-date information by searching with company names or registration numbers. Additionally the AML service carefully checks if the company is involved in money laundering or any illegal activities."Document Based KYB" is your comprehensive solution for reliable business verification and due diligence.
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.
Listing the Available Countries
Description:
The "Listing Available Countries" API serves as a valuable resource for users to explore and understand the geographic coverage of the product. By providing a comprehensive list of covered countries and associated details, users can gain a clear picture of the product's global availability and make informed decisions regarding its usage in various regions.
Method Call: GET
API:
https://api.thekyb.com/api/countries/read
- Http
- Javascript
- PHP
- Python
- Node
- cURL
GET /api/countries/read 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/countries/read", 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/countries/read',
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/countries/read"
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/countries/read",
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/countries/read' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'token: YOUR_SECRET_KEY'
Get All Questionnaires
Description:
The "Get All Questionnaires" response is to convey structured information about questionnaires designed for document verification within an API context.
Method Call: Get
API:
https://api.thekyb.com/api/getAllQuestionnaires?country_name=COUNTRY_NAME
Parameter | Description |
---|---|
country_names | Type: array Required: Yes Description: The parameter to verify documents for company in a specific country. Just input the country name, like ['united_kingdom'] for the United Kingdom or ['united_states.ohio'] for a specific state like Ohio. This way, you can easily customize your search for a particular country or explore all options. |
- Http
- Javascript
- PHP
- Python
- Node
- cURL
GET /api/getAllQuestionnaires?country_name=COUNTRY_NAME 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?country_name=COUNTRY_NAME",
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?country_name=COUNTRY_NAME',
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?country_name=COUNTRY_NAME"
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?country_name=COUNTRY_NAME",
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?country_name=COUNTRY_NAME' \
--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 "Document Submission" . It facilitates the generation of a link that can be shared with respondents, allowing them to access and submit the documents.
Method Call: Get
API:
https://api.thekyb.com/api/createQuestionnaireUrl?questionnaire_id=QUESTIONNAIRE_ID&ttl=60&country_name=COUNTRY_NAME
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. |
country_name | Type: String Required: Yes Description:The name of the country for which the questionnaire is intended. Specify the country name, such as country name, like 'united_kingdom' for the United Kingdom or 'united_states.ohio' for a specific state like Ohio. |
- Http
- Javascript
- PHP
- Python
- Node
- cURL
GET /api/createQuestionnaireUrl?questionnaire_id=QUESTIONNAIRE_ID&ttl=60&country_name=COUNTRY_NAME 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&country_name=COUNTRY_NAME",
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&country_name=COUNTRY_NAME',
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&country_name=COUNTRY_NAME"
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&country_name=COUNTRY_NAME",
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&country_name=COUNTRY_NAME' \
--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
- 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. -->
Documents Verfication
Description:
This API enables users to submit documents. These documents come in various extensions such as "png", "jpg", "jpeg", "pdf" with each document having a maximum size of 5MB.
Method Call: POST
API:
https://api.thekyb.com/api/search
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] |
- 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
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");
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'),
),
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',
files=[
('answers[1][answer][0]',('FILE_NAME_1.pdf',open('/FILE_NAME_1.pdf','rb'),'application/pdf'))
]
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'
}
},
}
};
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"' \
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: Identifier of the Questionnaire Request. |
- 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: Identifier of the OCR Request. |
- 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 KYB Documents Verification API offers two types of responses when a verification 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.
Listing the Available Countries
Description:
The "Listing Available Countries" response serves as a valuable resource for users to explore and understand the geographic coverage of the product. By providing a comprehensive list of covered countries and associated details, users can gain a clear picture of the product's global availability and make informed decisions regarding its usage in various regions.
API:
https://api.thekyb.com/api/countries/read
Response:
{
"error": false,
"message": "countries fetched successfully",
"data": {
"countries": [
{
"country_name": "united_kingdom",
"states": []
"country_code": "gb"
},
{
"country_name":"united_states",
"states":[
"alabama",
"alaska",
"arizona",
"arkansas",
"california",
...
]
},
...
]
}
}
Response Parameters:
Parameter | Description |
---|---|
error | The "error" parameter can have a value of either "true" or "false." In the current scenario, since there were no errors during the request processing, the value of "error" is "false." However, in situations where errors occur, such as missing required parameters or criteria not being met, the value of the "error" parameter will change to "true." |
message | The "message" field in API response formats provides a descriptive text or notification intended to convey additional information or instructions to the API consumer. It is commonly used to communicate relevant details about the response, such as success messages, error messages, or any other informative content that aids in understanding the outcome of the API request. The "message" field helps provide context and guidance to the API consumer regarding the status or result of the API operation. |
data | The "data" field in API documentation refers to the main payload or content of the API response. It contains the actual information, results, or entities being transmitted back to the API consumer. The structure and format of the "data" field depend on the specific API and the nature of the response. |
data.countries | The "data.countries" key within the API response provides users with a comprehensive list of countries covered in the search results. It facilitates a clear understanding of the geographic scope of the retrieved companies. |
data.*.country_name | The "data.*.country_name" key in the API response provides users with countries’ name from which the companies were sourced. This valuable information aids users in analyzing the geographical scope of the search results. |
data.*.states | The “data.*.states" key in the API response provides users with details about the states or regions associated with the companies retrieved from specific countries. |
Get All Questionnaires
Description:
The "Get All Questionnaires" response is to convey structured information about questionnaires designed for document verification within an API context.
API:
https://api.thekyb.com/api/getAllQuestionnaires?country_name=COUNTRY_NAME
Response:
{
"error": false,
"message": "Data fetched successfully",
"data": {
"questionnaires": [
{
"questionnaire_id": "666075cd1",
"created_at": "2024-06-04T14:07:00.994000Z",
"updated_at": "2024-06-04T14:07:00.994000Z",
"title": "Document Based Kyb",
"description": "Testing Questionnaire",
"pages": [
{
"page_title": "Document Verification",
"kyc_check": true,
"document_verification": true,
"questions": [
{
"question": "Please upload company certificate of incorporation",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyb_company_certificate_of_incorporation",
"question_id": "fxsr9s6"
}
]
}
]
}
],
"pagination": {
"total": 1,
"per_page": 15,
"current_page": 1,
"last_page": 1,
"from": 1,
"to": 1
}
}
}
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. For example, "6660753b" identifies a specific questionnaire instance. |
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. For instance, "Document Based Kyb" indicates the questionnaire focuses on document-based know-your-business (KYB) processes. |
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. In this case, "Testing Questionnaire" suggests it may be used for testing or evaluation purposes. |
data.questionnaires[].pages | An array containing page objects within the questionnaire. Each page represents a distinct section or topic within the questionnaire structure. Pages may include details such as titles, KYC (Know Your Customer) checks, document verification status, and a list of questions to be answered. |
data.questionnaires[].pages[].page_title | Title of the page within the questionnaire structure. For instance, "Document Verification" denotes a specific section focused on verifying documents related to KYB processes. |
data.questionnaires[].pages[].kyc_check | Boolean indicating whether KYC (Know Your Customer) checks are integrated within the specific page. This field provides insight into compliance and verification measures incorporated into the questionnaire. |
data.questionnaires[].pages[].document_verification | Boolean indicating whether document verification processes are included within the page. It signals the presence of procedures to verify the authenticity and validity of submitted documents. |
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, "Please upload company certificate of incorporation" outlines the specific requirement for the user to upload a document as part of the verification process. |
data.questionnaires[].pages[].questions[].input_type | Specifies the type of input expected for answering the question. In this context, "file" indicates that respondents are required to upload a file in response to the question. |
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. For instance, "fxsux8r" identifies a specific question instance. |
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": "6660753b",
"created_at": "2024-06-04T14:07:00.994000Z",
"updated_at": "2024-06-04T14:07:00.994000Z",
"title": "Document Based Kyb",
"description": "Testing Questionnaire",
"pages": [
{
"page_title": "Document Verification",
"kyc_check": true,
"document_verification": true,
"questions": [
{
"question": "Please upload company certificate of incorporation",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyb_company_certificate_of_incorporation",
"question_id": "fxsux8r"
}
]
}
]
}
],
}
}
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. For example, "6660753b" identifies a specific questionnaire instance. |
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. For instance, "Document Based Kyb" indicates the questionnaire focuses on document-based know-your-business (KYB) processes. |
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. In this case, "Testing Questionnaire" suggests it may be used for testing or evaluation purposes. |
data.questionnaires[].pages | An array containing page objects within the questionnaire. Each page represents a distinct section or topic within the questionnaire structure. Pages may include details such as titles, KYC (Know Your Customer) checks, document verification status, and a list of questions to be answered. |
data.questionnaires[].pages[].page_title | Title of the page within the questionnaire structure. For instance, "Document Verification" denotes a specific section focused on verifying documents related to KYB processes. |
data.questionnaires[].pages[].kyc_check | Boolean indicating whether KYC (Know Your Customer) checks are integrated within the specific page. This field provides insight into compliance and verification measures incorporated into the questionnaire. |
data.questionnaires[].pages[].document_verification | Boolean indicating whether document verification processes are included within the page. It signals the presence of procedures to verify the authenticity and validity of submitted documents. |
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, "Please upload company certificate of incorporation" outlines the specific requirement for the user to upload a document as part of the verification process. |
data.questionnaires[].pages[].questions[].input_type | Specifies the type of input expected for answering the question. In this context, "file" indicates that respondents are required to upload a file in response to the question. |
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. For instance, "fxsux8r" identifies a specific question instance. |
Documents Verfication
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": "65bcd17"
"company_id": "65bcd17"
"service_id": "65bcd17"
}
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 verification status, access this endpoint. Upon hitting the endpoint, a response will be generated, providing essential information regarding the status of the verification process. This response includes details such as whether the document has been successfully verified or not. This mechanism ensures users have immediate access to the outcome of their documentation verification, enabling timely actions or follow-ups as necessary.
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": [
"document_base_kyb"
],
"random_id": "kyb-DL29r1",
"status": "pending",
"questionnaire_request_id": "66799c575d6",
"aml_request_id": "66799c5ad14d",
"kyc_request_id": null,
"kyb_request_id": "66799c5ad14f",
"oc_request_id": "tbfbQ1FbjQwppuRSkYznckA8sj19245911"
}
}
}
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, ["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. |
Read Questionnaire Response
Description:
To obtain the verification status, access this endpoint. Upon hitting the endpoint, a response will be generated, providing essential information regarding the status of the verification process. This response includes details such as whether the document has been successfully verified or not. This mechanism ensures users have immediate access to the outcome of their documentation verification, enabling timely actions or follow-ups as necessary.
Method Call: GET
API:
https://api.thekyb.com/api/readQuestionnaireResponse?questionnaire_request_id=QUESTIONNAIRE_REQUEST_ID
Response:
{
"error": false,
"message": "service read successfully",
"data": {
"questionnaire_detail": {
"_id": "666c0c",
"questionnaire_request_id": "666c0sd",
"user_id": "65b8f",
"company_id": "65b8ff",
"service_id": "666c0c1",
"kyb_services": [
"questionnaire"
],
"status": "resolved",
"final_response": {
"title": "Document Based Kyb",
"lower_case_title": "document based kyb",
"type": "document_base_kyb",
"description": "Testing Questionnaire",
"pages": [
{
"page_title": "Document Verification",
"kyc_check": true,
"document_verification": true,
"questions": [
{
"question": "Please upload company certificate of incorporation",
"input_type": "file",
"rules": {
"required": true,
"multiple": false
},
"key_name": "kyb_company_certificate_of_incorporation",
"question_id": "fxsux8r",
"answer": [
{
"file_url": "https://api.thekyb.com/api/getFile/666c0c1",
"file_id": "666c0c1",
"file_name": "real_ID_card (1).png",
"extension_type": "png",
"file_size": "153.28 KB"
}
]
}
]
}
],
"updated_at": "2024-06-04T14:07:00.994000Z",
"created_at": "2024-06-04T14:07:00.994000Z",
},
"created_at": "2024-06-14T09:23:40.999000Z",
"updated_at": "2024-06-14T09:23:40.999000Z"
}
}
}
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 | Object containing details of a specific questionnaire request. |
data.questionnaire_detail._id | Unique identifier for the questionnaire detail entry ("666c0c" in this case). |
data.questionnaire_detail.questionnaire_request_id | Identifier linking to the questionnaire request ("666c0sd"). |
data.questionnaire_detail.user_id | Identifier of the user associated with the questionnaire request ("65b8f"). |
data.questionnaire_detail.company_id | Identifier of the company associated with the questionnaire request ("65b8ff"). |
data.questionnaire_detail.service_id | Identifier of the service associated with the questionnaire request ("666c0c1"). |
data.questionnaire_detail.kyb_services | Array listing KYB (Know Your Business) services included in the questionnaire request (["questionnaire"]). |
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.title | Title of the questionnaire, "Document Based Kyb". |
data.questionnaire_detail.final_response.lower_case_title | Lowercase version of the questionnaire title, "document based kyb". |
data.questionnaire_detail.final_response.type | Type of questionnaire, identified as "document_base_kyb". |
data.questionnaire_detail.final_response.description | Description providing additional context about the questionnaire, "Testing Questionnaire". |
data.questionnaire_detail.final_response.pages | Array containing page objects within the questionnaire. Each page represents a section with specific details and questions. |
data.questionnaire_detail.final_response.pages[].page_title | Title of the page within the questionnaire, "Document Verification". |
data.questionnaire_detail.final_response.pages[].kyc_check | Boolean indicating whether KYC (Know Your Customer) checks are part of the verification process (true in this case). |
data.questionnaire_detail.final_response.pages[].document_verification | Boolean indicating whether document verification is included (true in this case). |
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, "Please upload company certificate of incorporation". |
data.questionnaire_detail.final_response.pages[].questions[].input_type | Type of input expected for the question, "file" indicating a file upload. |
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 (false in this case). |
data.questionnaire_detail.final_response.pages[].questions[].key_name | Unique key identifier for the question, "kyb_company_certificate_of_incorporation". |
data.questionnaire_detail.final_response.pages[].questions[].question_id | Unique identifier for the question, "fxsux8r". |
data.questionnaire_detail.final_response.pages[].questions[].answer | Array containing details about the answer provided for the question. |
data.questionnaire_detail.final_response.pages[].questions[].answer[].file_url | URL linking to the uploaded file, "https://api.thekyb.com/api/getFile/666c0c1ceadsfgf6fab6ce880b0f4c". |
data.questionnaire_detail.final_response.pages[].questions[].answer[].file_id | Unique identifier for the uploaded file, "666c0c1ce6dfdffab6ce880b0f4c". |
data.questionnaire_detail.final_response.pages[].questions[].answer[].file_name | Name of the uploaded file, "real_ID_card (1).png". |
data.questionnaire_detail.final_response.pages[].questions[].answer[].extension_type | File extension type, "png". |
data.questionnaire_detail.final_response.pages[].questions[].answer[].file_size | Size of the uploaded file, "153.28 KB". |
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 furnishes detailed insights into OCR-extracted data from documents, including company-related information, enabling informed decision-making through data comparison.
API:
https://api.thekyb.com/api/readOcrResponse?ocr_request_id=OCR_REQUEST_ID
Response:
{
"error": false,
"message": "OCR response fetch successfully",
"data": {
"_id": "tbfbQ1FbjQwppuRSkYznckA",
"country_names": [
"united_kingdom"
],
"user_verification_data": {},
"user_submitted_business_data": [
{
"file_id": "66799c575",
"file_url": "https://api.thekyb.com/api/get-file/662cf53fe/66799c575?expires=1719248833&log=0&signature=0be2ca11a29d08eb",
"file_type": "incorporation_certificate",
"extension": "pdf"
}
],
"ocr_status": "resolved",
"ocr_response": {
"company_name": "COMPANY_NAME",
"registration_number": "REGISTRATION_NUMBER"
},
"decline_reason": []
}
}
Response Parameters:
Parameter | Description |
---|---|
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, "tbfbQ1FbjQwppuRSkYznckA" is the ID of this specific OCR response entry. |
data.country_names | An array containing the names of countries associated with the document. In this case, ["united_kingdom"] indicates that the document is associated with the United Kingdom. |
data.user_verification_data | An empty object indicating that there is no user-provided verification data associated with this OCR response. |
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": "66799c575" . |
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/662cf53fe/66799c575?expires=1719248833&log=0&signature=0be2ca11a29d08eb" . |
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 company details obtained from official registries through a KYB Check. If both the company name and registration number match, the OCR status key will be 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 empty array indicating that there are no specific reasons explaining the OCR process outcome. |