> ## Documentation Index
> Fetch the complete documentation index at: https://docs.idmetagroup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IDN KYB Comprehensive

> Comprehensive Know Your Business verification for Indonesian companies. Two-step asynchronous flow.

Run a comprehensive Know Your Business verification on an Indonesian company by name. This verification uses a two-step asynchronous flow. Initial API request usually take up to 45 seconds to determine whether the company exists, and up to 3 minutes to return the full results due to the slowness of the Indonesian AHU registry.

If the API finds a matching company, it proceeds to gather the company information and returns the results to your webhook via `resultNotificationURL`. If no match is found, the webhook will be sent with no company detail results (empty `data.result`).

The initial API response acknowledges the request with `verificationStatus: IN_PROGRESS` if the company is found, or `REJECTED` if no matching company exists. When the company is found, the final result is delivered to the `resultNotificationURL` you supply. The webhook envelope carries `type: "verification.idn_kyb_comprehensive"` and a `verificationStatus` of `VERIFIED` (records found) or `REJECTED` (no records matched the supplied name).

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

<CodeGroup>
  ```json Company KYB Comprehensive Response theme={null}
  {
    "type": "verification.idn_kyb_comprehensive",
    "success": true,
    "message": "IDN KYB Comprehensive Completed",
    "data": {
      "shareholders": {
        "total": 2,
        "data": {
          "individual": [
            {
              "shareholderNameOG": "Example Shareholder One",
              "isTranslated": false,
              "shareholderNameEN": "Example Shareholder One",
              "entityType": "COMPANY",
              "percentageOwned": "50.00%",
              "capital": "17910171500",
              "currency": "IDR",
              "shareholderID": null,
              "shareholderLocation": null,
              "shareType": null,
              "numberOfShares": null,
              "dob": null
            },
            {
              "shareholderNameOG": "Example Shareholder Two",
              "isTranslated": false,
              "shareholderNameEN": "Example Shareholder Two",
              "entityType": "COMPANY",
              "percentageOwned": "50.00%",
              "capital": "17712500",
              "currency": "IDR",
              "shareholderID": null,
              "shareholderLocation": null,
              "shareType": null,
              "numberOfShares": null,
              "dob": null
            }
          ]
        }
      },
      "companyInformation": {
        "total": 1,
        "data": [
          {
            "name": {
              "companyName": "Example Company Indonesia",
              "isTranslated": false,
              "companyNameOG": null
            },
            "companyStatus": "TERTUTUP",
            "entityType": "PMA",
            "industry": [
              {
                "industryCode": "47919",
                "industryName": "Perdagangan Eceran Melalui Media Untuk Berbagai Macam Barang Lainnya"
              },
              {
                "industryCode": "47920",
                "industryName": "Perdagangan Eceran Atas Dasar Balas Jasa (Fee) Atau Kontrak"
              },
              {
                "industryCode": "62019",
                "industryName": "Aktivitas Pemrograman Komputer Lainnya"
              },
              {
                "industryCode": "66413",
                "industryName": "Penyelenggara Penunjang Sistem Pembayaran"
              },
              {
                "industryCode": "77322",
                "industryName": "Aktivitas Penyewaan dan Sewa Guna Tanpa Hak Opsi Alat Alat Bantu Teknologi Digital"
              }
            ],
            "regAddress": {
              "full": "Example Commercial Area, Jl. Contoh Raya RT: 000 RW: 000, Jakarta Selatan"
            },
            "capital": [
              {
                "capitalAmount": "17927884000",
                "currency": "IDR",
                "numberOfShares": "25304",
                "paidUpCapital": "17927884000"
              }
            ],
            "companyIDOther1": null,
            "companyID": null,
            "incorpDate": null
          }
        ]
      },
      "majorPerson": {
        "total": 5,
        "data": [
          {
            "enName": "Example Person One",
            "ogName": "Example Person One",
            "isTranslated": false,
            "role": "DIREKTUR",
            "address": null,
            "identity": null
          },
          {
            "enName": "Example Person Two",
            "ogName": "Example Person Two",
            "isTranslated": false,
            "role": "KOMISARIS",
            "address": "Jl. Contoh Raya No. 1, Jakarta Selatan",
            "identity": null
          }
        ]
      }
    },
    "verificationStatus": "VERIFIED",
    "verificationStatusCode": 3,
    "trustFlowId": 189,
  "trustValidationId": "{your_trust_validation_id}",
    "metadata": null
  }
  ```
</CodeGroup>


## OpenAPI

````yaml api-reference/openapi.json POST /api/v3/verifications/kyb/idn/comprehensive
openapi: 3.0.3
info:
  title: IDmeta API
  description: IDmeta verification and integration API.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://{environment-subdomain}.idmetagroup.com
    description: Your environment (replace `{environment-subdomain}`)
    variables:
      environment-subdomain:
        default: integrate
        description: IDmeta environment subdomain
security:
  - bearerAuth: []
tags:
  - name: Processes
    description: Verification process endpoints
  - name: Trust Flow Links
    description: Trust Flow link generation endpoints
  - name: Compliance
    description: Compliance verification endpoints
  - name: Government Data
    description: Government data verification endpoints
  - name: Alternative Verifications
    description: Alternative verification and intelligence endpoints
  - name: OCR
    description: Document OCR extraction endpoints
paths:
  /api/v3/verifications/kyb/idn/comprehensive:
    post:
      tags:
        - KYB
      summary: IDN KYB Comprehensive
      description: Verify company records using comprehensive KYB checks.
      operationId: kybComprehensiveVerification
      parameters:
        - name: Accept
          in: header
          required: false
          schema:
            type: string
            default: application/json
        - name: Content-Type
          in: header
          required: false
          schema:
            type: string
            default: application/json
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KybComprehensiveRequest'
            examples:
              default:
                summary: IDN KYB comprehensive verification request
                value:
                  companyName: <string>
                  country: <string>
                  registrationNumber: <string>
                  trustFlowId: 0
                  trustValidationId: '{your_trust_validation_id}'
      responses:
        '200':
          description: >-
            Verification accepted (async). Final result is delivered via
            webhook.
          content:
            application/json:
              schema:
                $ref: 07d25aa4-ed5e-4c81-801b-3fe4c84b9ffd
              examples:
                companyFound:
                  summary: Initial API Response (company found)
                  value:
                    success: true
                    message: IDN KYB Comprehensive Request Received
                    data:
                      companyFound: true
                    verificationStatus: IN_PROGRESS
                    verificationStatusCode: 5
                    trustFlowId: 189
                    trustValidationId: '{your_trust_validation_id}'
                    metadata: null
                    createdAt: 2026-06-05 06:31:31+0000
                companyNotFound:
                  summary: Initial API Response (no company found)
                  value:
                    success: true
                    message: IDN KYB Comprehensive Request Received
                    data:
                      companyFound: false
                    verificationStatus: REJECTED
                    verificationStatusCode: 1
                    trustFlowId: 189
                    trustValidationId: '{your_trust_validation_id}'
                    metadata: null
                    createdAt: 2026-06-05 06:31:31+0000
components:
  schemas:
    KybComprehensiveRequest:
      type: object
      required:
        - companyName
        - country
        - registrationNumber
        - trustFlowId
        - trustValidationId
      properties:
        companyName:
          type: string
          description: Name of the company to be verified.
        country:
          type: string
          description: Country where the company is registered.
        registrationNumber:
          type: string
          description: Official company registration number.
        trustFlowId:
          type: integer
          description: >-
            Trust flow identifier used to categorize or group requests for
            tracking or reporting.
        trustValidationId:
          type: string
          description: Trust validation identifier for the verification request.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Use `Bearer {your_api_token}` in the Authorization header.

````