---
title: "EkybChecks Modular Business Verification"
url: "https://developer.incode.com/api-reference/ekybchecks/"
section: "api-reference"
group: "eKYB"
version: "v1.1"
status: "live"
endpoint: "POST /omni/ekybChecks"
---
# EkybChecks Modular Business Verification

`POST /omni/ekybChecks`

Base URL: `https://demo-api.incodesmile.com` — Incode demo environment

Composable KYB endpoint. Clients specify which modules they need and Incode routes to the correct vendor for the country. Available modules: identity, address, statusEntityType, personAssociation, webPresence.

## Path & query parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `api-version` | header | string | yes | Default: `1.0` |

## Request body

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `plugins` | array[string] |  |  |
| `country` | string | yes | ISO 3166-1 alpha-2 country code |
| `taxId` | string |  | Tax ID or company registration number |
| `businessName` | string |  | Registered legal name of the business |
| `street` | string |  | Street address |
| `city` | string |  | City |
| `state` | string |  | State / province |
| `postalCode` | string |  | Postal code / ZIP |
| `personName` | string |  | Full name of a person to verify association with the business (PERSON_ASSOCIATION module) |
| `modules` | array[string] |  | Enum: `identity`, `address`, `statusEntityType`, `personAssociation`, `webPresence` |

## Responses

### 200

OK

Response body (`application/json`):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `kyb` | array[EkybChecksModuleResult] |  |  |
| `kyb.module` | string |  | Enum: `identity`, `address`, `statusEntityType`, `personAssociation`, `webPresence` |
| `kyb.results` | array[EkybChecksKeyResult] |  |  |
| `kyb.results.key` | string |  |  |
| `kyb.results.status` | string |  | Enum: `verified`, `approximateMatch`, `unverified`, `notFound` |
| `kyb.results.value` | string |  |  |
| `kyb.results.people` | array[EkybChecksPersonResult] |  |  |
| `kyb.results.people.name` | string |  |  |
| `kyb.results.people.titles` | array[string] |  |  |
| `kyb.results.parked` | boolean |  |  |
| `kyb.results.sub_label` | string |  |  |
| `kyb.results.domain_age_months` | integer (int32) |  |  |

### 400

Bad Request

Response body (`application/json`):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `timestamp` | integer (int64) |  | UTC timestamp in milliseconds |
| `status` | integer (int32) |  | Custom error code or HTTP status code |
| `error` | string |  | HTTP status error |
| `message` | string |  | Custom error message |
| `path` | string |  | Endpoint path |
| `details` | object |  | Custom error details |

## Code samples

Generated from this endpoint's method, path, and the conventional Incode headers. The base URL is the Incode demo environment; replace `<YOUR_API_KEY>` with a key for your region.

### cURL

```bash
curl -X POST https://demo-api.incodesmile.com/omni/ekybChecks \
  -H "x-api-key: <YOUR_API_KEY>" \
  -H "X-Incode-Hardware-Id: <YOUR_INCODE_HARDWARE_ID>" \
  -H "api-version: 1.0" \
  -H "Content-Type: application/json" \
  -d '{
    "plugins": [],
    "country": "",
    "taxId": "",
    "businessName": "",
    "street": "",
    "city": "",
    "state": "",
    "postalCode": "",
    "personName": "",
    "modules": []
  }'
```

### Node

```js
const res = await fetch("https://demo-api.incodesmile.com/omni/ekybChecks", {
  method: "POST",
  headers: {
      "x-api-key": "<YOUR_API_KEY>",
      "X-Incode-Hardware-Id": "<YOUR_INCODE_HARDWARE_ID>",
      "api-version": "1.0",
      "Content-Type": "application/json",
  },
    body: JSON.stringify({
      "plugins": [],
      "country": "",
      "taxId": "",
      "businessName": "",
      "street": "",
      "city": "",
      "state": "",
      "postalCode": "",
      "personName": "",
      "modules": []
    }),
});
const data = await res.json();
```

### Python

```python
import requests

headers = {
    "x-api-key": "<YOUR_API_KEY>",
    "X-Incode-Hardware-Id": "<YOUR_INCODE_HARDWARE_ID>",
    "api-version": "1.0",
    "Content-Type": "application/json",
}
res = requests.post("https://demo-api.incodesmile.com/omni/ekybChecks", headers=headers, json={
  "plugins": [],
  "country": "",
  "taxId": "",
  "businessName": "",
  "street": "",
  "city": "",
  "state": "",
  "postalCode": "",
  "personName": "",
  "modules": []
})
data = res.json()
```

### Java

```java
HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://demo-api.incodesmile.com/omni/ekybChecks"))
    .header("x-api-key", "<YOUR_API_KEY>")
    .header("X-Incode-Hardware-Id", "<YOUR_INCODE_HARDWARE_ID>")
    .header("api-version", "1.0")
    .header("Content-Type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"plugins\": [],\n  \"country\": \"\",\n  \"taxId\": \"\",\n  \"businessName\": \"\",\n  \"street\": \"\",\n  \"city\": \"\",\n  \"state\": \"\",\n  \"postalCode\": \"\",\n  \"personName\": \"\",\n  \"modules\": []\n}"))
    .build();
HttpResponse<String> res = HttpClient.newHttpClient()
    .send(req, HttpResponse.BodyHandlers.ofString());
```

### Ruby

```
require "net/http"
require "json"

uri = URI("https://demo-api.incodesmile.com/omni/ekybChecks")
req = Net::HTTP::Post.new(uri)
req["x-api-key"] = "<YOUR_API_KEY>"
req["X-Incode-Hardware-Id"] = "<YOUR_INCODE_HARDWARE_ID>"
req["api-version"] = "1.0"
req["Content-Type"] = "application/json"
req.body = '{
  "plugins": [],
  "country": "",
  "taxId": "",
  "businessName": "",
  "street": "",
  "city": "",
  "state": "",
  "postalCode": "",
  "personName": "",
  "modules": []
}'

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)
```

### PHP

```
$ch = curl_init("https://demo-api.incodesmile.com/omni/ekybChecks");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "x-api-key: <YOUR_API_KEY>",
    "X-Incode-Hardware-Id: <YOUR_INCODE_HARDWARE_ID>",
    "api-version: 1.0",
    "Content-Type: application/json",
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
  "plugins": [],
  "country": "",
  "taxId": "",
  "businessName": "",
  "street": "",
  "city": "",
  "state": "",
  "postalCode": "",
  "personName": "",
  "modules": []
}');

$data = json_decode(curl_exec($ch), true);
curl_close($ch);
```

### Example response

```json
{
  "kyb": [
    {
      "module": "identity",
      "results": [
        {
          "key": "string",
          "status": "verified",
          "value": "string",
          "people": [
            {
              "name": null,
              "titles": null
            }
          ],
          "parked": true,
          "sub_label": "string",
          "domain_age_months": 0
        }
      ]
    }
  ]
}
```
