KYB API - Detailed Documentation

The KYB API provides endpoints for company search, verification, and AML (Anti-Money Laundering) checks. It allows users to retrieve detailed company profiles, verify business information, and perform AML checks on companies and individuals.

API Playground:

You can try the countries endpoint here.

Key Considerations

  • Error Handling: The error field in responses indicates whether the request was processed successfully. A value of false means no errors occurred, while true indicates an error.
  • Pagination: For endpoints that return large datasets, pagination is supported through the page and limit parameters to manage the size and number of returned results efficiently.
  • AML Services: AML checks are crucial for identifying potential risks associated with money laundering activities. Separate endpoints are provided for companies and individuals.

Endpoints Overview

  1. Listing Available Countries: Retrieve a list of countries and states covered by the KYB service.
  2. Company Search: Search for companies by name or registration number.
  3. Retrieving Companies’ Profiles: Fetch detailed profiles of companies.
  4. Enhanced Company Profile: Retrieve comprehensive information about a specific company.
  5. AML For Company: Initiate AML checks for a company.
  6. AML For Person: Initiate AML checks for individuals or company officers.

Authentication

To access the Address Verification API, authentication is required. A Bearer Token must be included in every request.

  • Tokens are valid for 60 minutes and must be refreshed after expiration.
  • Refer to the Authentication for detailed steps on obtaining a token.
  • Include the token in the Authorization header as follows:

Authorization: Bearer YOUR_ACCESS_TOKEN

API Base URL

https://api-umbrella.io/api/services

1. Listing Available Countries

Endpoint

GET /KYB/countries

Description

Provides a comprehensive list of countries covered by the KYB service, including available states for each country.

Required Headers

HeaderValue
Content-Typeapplication/json
Acceptapplication/json
AuthorizationBearer yourAccessToken

Response Structure

Example Response

{ 
    "error": false, 
    "message": "countries fetched successfully", 
    "version": null, 
    "data": { 
        "countries": [ 
                { 
                "countryName": "unitedKingdom", 
                "states": [], 
                "countryCode": "gb" 
                },
                {
                "countryName": "unitedStates", 
                "states": [ "alabama", "alaska", "arizona", "arkansas", "california" ], "countryCode": "us" 
                }] 
            } 
}

Endpoint

POST /KYB/search

Description

Enables users to search for companies using a company name or registration number as search parameters. The search can be conducted in one or more countries, and results are fetched from official registries.

Required Headers

HeaderValue
Content-Typeapplication/json
Acceptapplication/json
AuthorizationBearer yourAccessToken

Request Body Parameters

Response Structure

Example Request

{
    "search": "Testing company", 
    "registration_number": "",
    "countryNames": ["unitedKingdom"], 
    "searchType": "startWith", 
    "webhookUrl": "https://yoursite.com/webhook",
}

Example Response

{
    "requestId": "requestId", 
    "companyId": "companyId", 
    "serviceId": "serviceId" 
}

3. Retrieving Companies’ Profiles

Endpoint

GET /KYB/companyProfile

Description

Retrieves a list of companies from the official registries that match the provided search criteria. Results are paginated for efficient handling.

Required Headers

HeaderValue
Content-Typeapplication/json
Acceptapplication/json
AuthorizationBearer yourAccessToken

Response Structure

Example Response

4. Enhanced Company Profile

Endpoint

GET /KYB/companies/read

Description

Retrieves detailed information about a specific company, including registration details, using a unique company ID and request ID.

Required Headers

HeaderValue
Content-Typeapplication/json
Acceptapplication/json
AuthorizationBearer yourAccessToken

Request Body Parameters

Response Structure

Example Request

{
  "companyId": "companyId",
  "requestId": "requestId"
}

Example Response

5. AML For Company

Endpoint

POST /KYB/companyAML

Description

Initiates an AML (Anti-Money Laundering) check for a company using a unique company ID and request ID.

Request Body Parameters

FieldTypeRequiredDescription
companyIdstringYesUnique identifier for the company.
requestIdstringYesUnique identifier for the request.

Response Structure

FieldTypeDescription
errorbooleanIndicates whether there was an error (false means no error).
messagestringStatus message describing the operation result.
versionstringAPI version (can be null if not specified).
dataobjectContains additional response data.
data.amlRequestIdstringUnique identifier for the AML request (can be empty).

Example Request

{ 
    "companyId": "companyId", 
    "requestId": "requestId" 
}

Example Response

{
    "error": false, 
    "message": "Kyb Company Aml Started", 
    "version": null, 
    "data": { 
        "amlRequestId": "" 
        }
}

6. AML For Person

Endpoint

POST /KYB/personal

Description

Initiates an AML check for an individual or company officers using the company ID, request ID, and optionally the person name.

Request Body Parameters

Response Structure

Example Request

{ 
    "companyId": "companyId", 
    "requestId": "requestId" 
}

Example Response

{
    "error": false, 
    "message": "Performing Aml on Officers", 
    "version": null, 
    "data": {} 
}