Skip to main content
POST
/
api
/
gateway
/
execute
/
{project_hash}
/
init
Initiate Company Verification (async)
curl --request POST \
  --url https://instance.prod.onboardapp.io/api/gateway/execute/{project_hash}/init \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --data '
{
  "company_name": "Acme Holdings Ltd",
  "registration_number": "12345678",
  "country": "GB",
  "company_type": "<string>",
  "incorporation_date": "2023-12-25",
  "industry": "<string>",
  "address_line_1": "<string>",
  "city": "<string>",
  "postcode": "<string>",
  "annual_revenue": "<string>",
  "employee_count": "<string>",
  "sic_codes": "<string>",
  "status": "<string>",
  "external_reference": "<string>",
  "directors": [
    {
      "first_name": "<string>",
      "last_name": "<string>",
      "date_of_birth": "2023-12-25",
      "nationality": "<string>",
      "role": "<string>",
      "appointed_date": "2023-12-25",
      "zenoo_entity_id": "<string>"
    }
  ],
  "ubos": [
    {
      "first_name": "<string>",
      "last_name": "<string>",
      "date_of_birth": "2023-12-25",
      "nationality": "<string>",
      "ownership_percentage": 123,
      "role": "<string>",
      "zenoo_entity_id": "<string>"
    }
  ]
}
'
{
  "tokens": {
    "pull": "<string>",
    "start": "<string>"
  }
}

Authorizations

X-API-KEY
string
header
required

Project-scoped API key for server-to-server authentication. Obtain keys from the Zenoo dashboard under Project Settings > API Keys. Staging and production environments use separate keys.

Headers

X-API-KEY
string
required

Project-scoped API key.

Idempotency-Key
string

Unique key for idempotent request handling.

Path Parameters

project_hash
string
required

Project identifier from Zenoo Studio.

Body

application/json

Request body for Company Verification. Zenoo accepts three tiers of data — more data produces richer results and fewer false positives.

TierFieldsResult Quality
Minimumcompany_name, registration_number, countryRegistry lookup + company screening
Standard+ directors[], ubos[], addressIndividual screening for each person
Full+ external_reference, annual_revenue, sic_codesIdempotency, enriched risk scoring
company_name
string
required

Legal name as registered with the company registry.

Example:

"Acme Holdings Ltd"

registration_number
string
required

Official company registration number.

Example:

"12345678"

country
string
required

Country of incorporation. ISO 3166-1 alpha-2 code.

Example:

"GB"

company_type
string

Legal entity type (e.g., Private Limited Company (Ltd), PLC, LLP).

incorporation_date
string<date>

Date of incorporation. ISO 8601 format (YYYY-MM-DD).

industry
string

Industry sector or classification.

address_line_1
string

Registered address street.

city
string

Registered address city.

postcode
string

Postal code.

annual_revenue
string

Annual revenue in base currency. Pass as a string.

employee_count
string

Number of employees. Pass as a string.

sic_codes
string

SIC codes, comma-separated (e.g., "64110,64191").

status
string

Current company status: Active, Dissolved, Struck Off.

external_reference
string

Your internal reference ID. Enables idempotency — submitting the same external_reference returns the existing result without creating a duplicate.

Maximum string length: 255
directors
object[]

Known directors. Each person is automatically screened for PEP/sanctions.

ubos
object[]

Known beneficial owners. Each person is automatically screened.

Response

Verification initiated. Use tokens to retrieve results.

Response from async initiation endpoints (/init). Contains tokens for retrieving results and constructing verification URLs.

tokens
object