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

# Create Company Verification

> Create an API-key-authenticated company verification and send the business representative to the hosted flow.

Company verification lets you collect a business's registration information, authorised-representative details, and supporting documents through Helium ID's hosted flow.

## Before you start

* Create an API key in the [Helium ID Dashboard](https://admin.heliumid.io).
* Make this request from your server. Do not expose your API key in browser or mobile-app code.
* Keep the returned hosted link intact. Its `processId` is Helium ID's internal verification ID and is required to open and submit the hosted flow.

## Create a company verification

Send a `POST` request to:

```http theme={null}
POST /v1/company-verifications
```

The endpoint is public for integrations, but authentication is required. Include your API key in the `x-api-key` header.

### Request headers

<ParamField header="x-api-key" type="string" required>
  Your Helium ID API key.
</ParamField>

<ParamField header="Content-Type" type="string" required>
  Set this to `application/json`.
</ParamField>

### Request body

<ParamField body="vendorData" type="string">
  Optional identifier from your system, such as a business or application ID.
</ParamField>

<ParamField body="meta" type="object">
  Optional metadata to associate with the verification.
</ParamField>

### Example request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST 'https://server.heliumid.io/api/v1/company-verifications' \
    -H 'Content-Type: application/json' \
    -H 'x-api-key: YOUR_API_KEY' \
    -d '{
      "vendorData": "business_12345",
      "meta": {
        "applicationId": "application_67890"
      }
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    "https://server.heliumid.io/api/v1/company-verifications",
    {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "x-api-key": process.env.HELIUM_ID_API_KEY,
      },
      body: JSON.stringify({
        vendorData: "business_12345",
        meta: { applicationId: "application_67890" },
      }),
    }
  )

  const result = await response.json()
  console.log(result.data.link)
  ```
</CodeGroup>

### Example response

```json theme={null}
{
  "status": true,
  "message": "Created company verification",
  "data": {
    "link": "https://verify.heliumid.io/company?processId=69d4f7657bcbe3b58b96b2f7",
    "verificationId": "69d4f7657bcbe3b58b96b2f7"
  },
  "code": 200
}
```

## Send the user to the hosted flow

Redirect the company's authorised representative to `data.link`. The hosted page identifies your workspace in its **Requested by** sidebar card, using the workspace name and logo configured in Helium ID.

The representative completes these steps:

1. Business information, including registration, business activity, address, and contact details.
2. Authorised representative information and identity-document details.
3. Supporting documents, including business registration and proof of address.

## Important: use only the returned link

The hosted company-verification flow accepts only the internal `verificationId` generated by this endpoint. Do not substitute `vendorData`, a customer ID, or any other external identifier for `processId`; those values cannot start or update a verification.

## Managing verifications

Use the Helium ID Dashboard to review company verifications created for your workspace. The API-key creation endpoint does not expose a public company-verification retrieval endpoint.
