Integration

The first thing we need to consider is the exact needs of the project before jumping into programming. Please take a look at the article «How to Integrate NeoCheck«.

That said, NeoCheck provides an intuitive and powerful REST JSON API to integrate KYB (Know Your Business) and AML (Anti-Money Laundering) compliant verifications into your business or application. This API reference provides information about the available endpoints and how to interact with them.

For detailed technical specifications, please visit our Swagger portal: https://kyb.neocheck.net/Swagger/index.html

API Authentication

Access to the NeoCheck API is protected using OAuth2 authorization tokens. To authenticate your requests, you must call the authentication request with valid username and password credentials provided by the NeoCheck team. The endpoint for authentication is: /api/authorization/token

Company Management

After authentication, you must search for the company to be verified. For this step, you can use two different endpoints:

  • /api/v1/kyb/companies/lookup
    • This GET method is used to find the available companies according to the following filters as query parameters:
      • companyName: The name of the company
      • vatNumber: The company’s VAT number
      • country: The company’s country of registration
    • The method returns a list in the form of an array containing the matching companies.
  • /api/v1/kyb/companies/{id}
    • This GET method is used to obtain the KYB verification company using the provider identifier as a path parameter.
    • It returns the KYB verification company corresponding to the identifier passed as a parameter.

KYB Verification Management

Once the information of the corresponding company is obtained, a call must be made to the POST /api/v1/kyb/verifications endpoint in order to create the KYB verification.

In the body, configure the following parameters:

  • companyProviderIdentifier: (String)
    • Description: Company ID provided by the provider.
    • Example: «A12345678»
  • manualCompanyData: (Object)
    • Description: Object containing the company’s data.
    • Example:
{
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "providerIdentifier": "string",
    "businessName": "string",
    "businessRegNumber": "string",
    "vatNumber": "string",
    "dateOfRegistration": "2025-08-06T13:14:06.612Z",
    "address": {
      "addressLine1": "string",
      "addressLine2": "string",
      "postalCode": "string",
      "locality": "string",
      "province": "string",
      "country": "string",
      "currentAddress": true
    }
  • kybVerificationId: (Guid)
    • Description: KYB verification ID.
    • Example: «00000000-0000-0000-0000-000000000000»
  • applicantId: (Guid)
    • Description: applicant's ID.
    • Example: «00000000-0000-0000-0000-000000000000»
  • notificationApiUrl: (String)
    • Description: URL to which verification status notifications will be sent.
    • Example: "https://example.com/api/notifications"
  • kybVerificationTicket: (Object)
    • Description: Object in which the ticket and applicant data are added, such as name, email address, phone number, language, and whether the link will be sent directly to the applicant via email.
    • Example:
{
    "name": "string",
    "emailAddress": "string",
    "phoneNumber": "string",
    "language": "string",
    "sendLink": true
  }

Full Body Example

{
  "companyProviderIdentifier": "string",
  "manualCompanyData": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "providerIdentifier": "string",
    "businessName": "string",
    "businessRegNumber": "string",
    "vatNumber": "string",
    "dateOfRegistration": "2025-08-06T13:14:06.612Z",
    "address": {
      "addressLine1": "string",
      "addressLine2": "string",
      "postalCode": "string",
      "locality": "string",
      "province": "string",
      "country": "string",
      "currentAddress": true
    },
    "kybVerificationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  },
  "applicantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "notificationApiUrl": "string",
  "kybVerificationTicket": {
    "name": "string",
    "emailAddress": "string",
    "phoneNumber": "string",
    "language": "string",
    "sendLink": true
  }
}

This endpoint will return a string as a response, which corresponds to the verification ID.

Obtain the link manually

If you want to obtain the ticket link manually, you can make a call to the following endpoint: /api/v1/kyb/verifications/{id}/ticket/link, where the id is the verification ID obtained in the previous step.

It will return a string corresponding to the ticket URL for the applicant.

Error Handling

Neocheck API returns standard HTTP status codes to indicate the success or failure of a request. Here are some common examples:

  • 200 OK: The request was successful.
  • 401 Unauthorized: Authentication failed or the API key is invalid. Review the token being used for the request.
  • 404 Not Found: The requested resource was not found. Please check the endpoint you are targeting.
  • 500 Internal Server Error: Internal system failure.