Skip to main content
POST
IDN KYB Comprehensive
Run a comprehensive Know Your Business verification on an Indonesian company by name. This verification uses a two-step asynchronous flow because the Indonesian AHU registry is slow.
  1. The initial API request searches for the company. It usually takes up to 45 seconds.
  2. If the company is found, the API responds with verificationStatus: IN_PROGRESS and starts gathering the full company information. This takes up to 3 minutes. IDmeta then sends the final result to the resultNotificationURL you supply.
If the company is not found, or the request fails before the full lookup starts, the API responds immediately with verificationStatus: REJECTED. See Rejected responses. The webhook envelope carries type: "verification.idn_kyb_comprehensive" and a verificationStatus of VERIFIED (company information returned) or REJECTED.

Data source

Company information is retrieved from Administrasi Hukum Umum (AHU).

Webhook callback

When the search-and-detail flow completes, IDmeta sends a POST to your resultNotificationURL with the payload below.

Rejected responses

Every rejected response has verificationStatus: "REJECTED" and verificationStatusCode: 1. The HTTP status is 200. success is true even when the verification is rejected, so check verificationStatus for the verdict, not success. The only exception is a rejection after the request is received, which has success: false. The HTTP response samples for the first four cases are in the response panel.

Error messages

When data.companyFound is null, data.error explains why the request failed.

Webhook for immediate rejections

IDmeta also sends the first four cases to your trust flow’s webhook URL. The payload matches the HTTP response, with type added and verificationType removed.

Rejected after the request is received

If the API already responded with IN_PROGRESS and the full company lookup then fails, IDmeta sends a rejected webhook to your trust flow’s webhook URL and to your resultNotificationURL.
  • success is false.
  • message is the data source’s error message. If the data source sends no message, message is KYB verification could not be completed.
  • data contains the data source’s error details, with key names in camelCase.
  • The payload has no createdAt.

Authorizations

Authorization
string
header
required

Use Bearer {your_api_token} in the Authorization header.

Headers

Accept
string
default:application/json
Content-Type
string
default:application/json

Body

application/json
companyName
string
required

Name of the company to be verified.

country
string
required

Country where the company is registered.

registrationNumber
string
required

Official company registration number.

trustFlowId
integer
required

Trust flow identifier used to categorize or group requests for tracking or reporting.

trustValidationId
string
required

Trust validation identifier for the verification request.

Response

200 - application/json

Verification accepted (async). Final result is delivered via webhook.