Skip to main content

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
GET /api/getAllQuestionnaires HTTP/1.1
Host: api.thekyb.com
Content-Type: application/json
Accept: application/json
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
ParameterDescription
questionnaire_idType: String
Required: Yes
Description:The unique identifier for the questionnaire. You can obtain this ID from the response of the getAllQuestionnaires endpoint.
ttlType: 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.
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

Get All Questions

Description:
This API allows retrieval of questions to provide corresponding answers.

Method Call:   Get

API:

https://api.thekyb.com/api/getAllQuestionnaires
info

Get the token from the createQuestionnaireUrl response within the url, for example, 12345

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. -->

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
info

Get the token from the createQuestionnaireUrl response within the url, for example, 12345

ParameterDescription
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.
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

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
ParameterDescription
service_idType: String
Required: Yes
Description: Identifier of the service being used.
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

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
ParameterDescription
questionnaire_request_idType: 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.
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

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
ParameterDescription
ocr_request_idType: String
Required: Yes
Description: The identifier for the OCR Request. This ID can be obtained from the response of the Read Service Detail endpoint.
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

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:

ParameterDescription
errorIndicates 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.
messageA 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.
dataThe 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.questionnairesAn 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_idUnique identifier assigned to each questionnaire, facilitating individual tracking and referencing within the system.
data.questionnaires.*.created_atTimestamp 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_atTimestamp 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.*.titleTitle assigned to the questionnaire, describing its purpose or subject matter.
data.questionnaires.*.descriptionAdditional 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.*.pagesAn array containing page objects within the questionnaire. Each page represents a distinct section or topic within the questionnaire structure.
data.questionnaires.*.pages.*.page_titleTitle 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.*.questionsAn 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.paginationdata.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_pageIn 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.toIn 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:

ParameterDescription
urlYou 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:

ParameterDescription
errorIndicates 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.
messageA 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.
dataThe main payload containing detailed information retrieved from the API. This section includes structured data related to questionnaires, pages, and questions.
data.questionnairesAn 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_idUnique identifier assigned to each questionnaire, facilitating individual tracking and referencing within the system.
data.questionnaires.*.created_atTimestamp 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_atTimestamp 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.*.titleTitle assigned to the questionnaire, describing its purpose or subject matter.
data.questionnaires.*.descriptionAdditional 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.*.pagesAn array containing page objects within the questionnaire. Each page represents a distinct section or topic within the questionnaire structure.
data.questionnaires.*.pages.*.page_titleTitle 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.*.questionsAn 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.*.questionTextual 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_typeThe type of input expected for the question. For instance, "input_type": "text" specifies that the input should be text.
data.questionnaires.*.pages.*.questions.*.rulesObject 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_nameUnique 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_idUnique identifier assigned to each question. It facilitates identification and management of individual questions within the questionnaire.
data.questionnaires.*.pages.*.questions.*.placeholderPlaceholder 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:

ParameterDescription
questionnaire_request_idIdentifier for the questionnaire request.
company_idIdentifier for the company associated.
service_idIdentifier 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.

info

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:

ParameterDescription
errorIndicates whether an error occurred during the API request. "error": false signifies that the request was successful without any errors.
messageA 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.
dataA container for the main data returned by the API. This includes details about the service requested.
data.service_detailAn object containing detailed information about the specific service requested.
data.service_detail._idThe unique identifier for the service detail record. For example, "66799c5758" is the ID of this specific service detail entry.
data.service_detail.servicesAn 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_idA randomly generated identifier for the service request, such as "kyb-DL29r1". This ID can be used to track the request uniquely.
data.service_detail.statusThe 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_idThe 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_idThe 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_idThe 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_idThe 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_idThe 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_idsAn 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_idsAn 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:

ParameterDescription
errorIndicates whether an error occurred during the API request. In this response, "error": false indicates that the request was successful without errors.
messageA 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.
dataThe 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_detailAn object containing the details of the questionnaire.
data.questionnaire_detail._idA unique identifier for the questionnaire detail record.
data.questionnaire_detail.questionnaire_request_idThe request ID associated with the questionnaire.
data.questionnaire_detail.user_idThe user ID associated with the request.
data.questionnaire_detail.company_idThe company ID associated with the user.
data.questionnaire_detail.service_idThe service ID associated with the request.
data.questionnaire_detail.kyb_servicesAn array listing the services related to the KYB (Know Your Business) check.
data.questionnaire_detail.statusThe 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_responseObject containing detailed information about the final response of the questionnaire.
data.questionnaire_detail.final_response.company_idThe company ID associated with the user.
data.questionnaire_detail.final_response.titleThe title of the questionnaire.
data.questionnaire_detail.final_response.typeThe type of the questionnaire, in this case, "kyb".
data.questionnaire_detail.final_response.descriptionA description of the questionnaire.
data.questionnaire_detail.final_response.pagesAn 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_atTimestamp indicating when the questionnaire was last updated ("2024-06-04T14:07:00.994000Z").
data.questionnaire_detail.final_response.created_atTimestamp indicating when the questionnaire was initially created ("2024-06-04T14:07:00.994000Z").
data.questionnaire_detail.created_atTimestamp indicating when the questionnaire detail entry was created ("2024-06-14T09:23:40.999000Z").
data.questionnaire_detail.updated_atTimestamp 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&amp;log=0&amp;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:

ParameterDescription
errorIndicates whether an error occurred during the API request. "error": false signifies that the request was successful without any errors.
messageA 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.
dataA container for the main data returned by the API. This includes details about the OCR response.
data._idThe unique identifier for the OCR response record. For example, "VPdo03y5LGfWw7sgbmBOq" is the ID of this specific OCR response entry.
data.user_verification_dataAn object containing the business data provided by the user for verification.
data.user_verification_data.company_nameThe name of the company provided by the user. For example, "company_name": "COMPANY_NAME".
data.user_verification_data.registration_numberThe registration number of the company provided by the user. For instance, "registration_number": "REGISTRATION_NUMBER".
data.user_submitted_business_dataAn array of objects containing details about the business documents submitted by the user.
data.user_submitted_business_data.*.file_idThe unique identifier for the submitted business document. For example, "file_id": "6679a1eade37122".
data.user_submitted_business_data.*.file_urlThe 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_typeThe type of the submitted business document. For example, "file_type": "incorporation_certificate".
data.user_submitted_business_data.*.extensionThe file extension of the submitted business document. For instance, "extension": "pdf".
data.ocr_statusThe 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_responseAn object containing the data extracted from the documents by OCR.
data.ocr_response.company_nameThe company name extracted by OCR. For example, "company_name": "COMPANY_NAME".
data.ocr_response.registration_numberThe registration number extracted by OCR. For instance, "registration_number": "REGISTRATION_NUMBER".
data.decline_reasonAn array of reasons explaining why the OCR process failed.