Skip to main content

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
GET /api/countries/read HTTP/1.1
Host: api.thekyb.com
Content-Type: application/json
Accept: application/json
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
ParameterDescription
country_namesType: 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.
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

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

Get All Questions

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

Method Call:   Get

API:

https://api.thekyb.com/api/getAllQuestionnaires
GET /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. -->

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

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: Identifier of the Questionnaire Request.
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: Identifier of the OCR Request.
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 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:

ParameterDescription
errorThe "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."
messageThe "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.
dataThe "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.countriesThe "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_nameThe "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.*.statesThe “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:

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. For example, "6660753b" identifies a specific questionnaire instance.
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. For instance, "Document Based Kyb" indicates the questionnaire focuses on document-based know-your-business (KYB) processes.
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. In this case, "Testing Questionnaire" suggests it may be used for testing or evaluation purposes.
data.questionnaires[].pagesAn 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_titleTitle 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_checkBoolean 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_verificationBoolean 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[].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, "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_typeSpecifies 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[].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. For instance, "fxsux8r" identifies a specific question instance.
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": "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:

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. For example, "6660753b" identifies a specific questionnaire instance.
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. For instance, "Document Based Kyb" indicates the questionnaire focuses on document-based know-your-business (KYB) processes.
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. In this case, "Testing Questionnaire" suggests it may be used for testing or evaluation purposes.
data.questionnaires[].pagesAn 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_titleTitle 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_checkBoolean 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_verificationBoolean 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[].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, "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_typeSpecifies 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[].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. 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:

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

info

For KYB Check request, you'll get a KYB request ID in "kyb_request_id" key.
For AML request, you'll get an AML request ID in "aml_request_id" is true. For more details, check the documentation at the specified KYB Check, 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": [
"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:

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, ["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.

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:

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_detailObject containing details of a specific questionnaire request.
data.questionnaire_detail._idUnique identifier for the questionnaire detail entry ("666c0c" in this case).
data.questionnaire_detail.questionnaire_request_idIdentifier linking to the questionnaire request ("666c0sd").
data.questionnaire_detail.user_idIdentifier of the user associated with the questionnaire request ("65b8f").
data.questionnaire_detail.company_idIdentifier of the company associated with the questionnaire request ("65b8ff").
data.questionnaire_detail.service_idIdentifier of the service associated with the questionnaire request ("666c0c1").
data.questionnaire_detail.kyb_servicesArray listing KYB (Know Your Business) services included in the questionnaire request (["questionnaire"]).
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.titleTitle of the questionnaire, "Document Based Kyb".
data.questionnaire_detail.final_response.lower_case_titleLowercase version of the questionnaire title, "document based kyb".
data.questionnaire_detail.final_response.typeType of questionnaire, identified as "document_base_kyb".
data.questionnaire_detail.final_response.descriptionDescription providing additional context about the questionnaire, "Testing Questionnaire".
data.questionnaire_detail.final_response.pagesArray containing page objects within the questionnaire. Each page represents a section with specific details and questions.
data.questionnaire_detail.final_response.pages[].page_titleTitle of the page within the questionnaire, "Document Verification".
data.questionnaire_detail.final_response.pages[].kyc_checkBoolean indicating whether KYC (Know Your Customer) checks are part of the verification process (true in this case).
data.questionnaire_detail.final_response.pages[].document_verificationBoolean indicating whether document verification is included (true in this case).
data.questionnaire_detail.final_response.pages[].questionsArray containing question objects within each page of the questionnaire.
data.questionnaire_detail.final_response.pages[].questions[].questionTextual content of the question presented to the user, "Please upload company certificate of incorporation".
data.questionnaire_detail.final_response.pages[].questions[].input_typeType of input expected for the question, "file" indicating a file upload.
data.questionnaire_detail.final_response.pages[].questions[].rulesObject specifying rules associated with answering the question.
data.questionnaire_detail.final_response.pages[].questions[].rules.requiredBoolean indicating whether the question must be answered (true in this case).
data.questionnaire_detail.final_response.pages[].questions[].rules.multipleBoolean indicating whether multiple files can be uploaded (false in this case).
data.questionnaire_detail.final_response.pages[].questions[].key_nameUnique key identifier for the question, "kyb_company_certificate_of_incorporation".
data.questionnaire_detail.final_response.pages[].questions[].question_idUnique identifier for the question, "fxsux8r".
data.questionnaire_detail.final_response.pages[].questions[].answerArray containing details about the answer provided for the question.
data.questionnaire_detail.final_response.pages[].questions[].answer[].file_urlURL linking to the uploaded file, "https://api.thekyb.com/api/getFile/666c0c1ceadsfgf6fab6ce880b0f4c".
data.questionnaire_detail.final_response.pages[].questions[].answer[].file_idUnique identifier for the uploaded file, "666c0c1ce6dfdffab6ce880b0f4c".
data.questionnaire_detail.final_response.pages[].questions[].answer[].file_nameName of the uploaded file, "real_ID_card (1).png".
data.questionnaire_detail.final_response.pages[].questions[].answer[].extension_typeFile extension type, "png".
data.questionnaire_detail.final_response.pages[].questions[].answer[].file_sizeSize of the uploaded file, "153.28 KB".
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 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:

ParameterDescription
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, "tbfbQ1FbjQwppuRSkYznckA" is the ID of this specific OCR response entry.
data.country_namesAn 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_dataAn empty object indicating that there is no user-provided verification data associated with this OCR response.
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": "66799c575".
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/662cf53fe/66799c575?expires=1719248833&log=0&signature=0be2ca11a29d08eb".
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 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_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 empty array indicating that there are no specific reasons explaining the OCR process outcome.