---
title: "Create a hosted KYC link"
method: POST
path: "/v1/phone-numbers/kyc/share"
tags: ["Phone Numbers"]
---

# Create a hosted KYC link

`POST /v1/phone-numbers/kyc/share`

Create a single-use, 7-day hosted KYC link that your end customer
completes WITHOUT a Zernio login — useful when the person who holds the
ID and address is not your team. They fill the regulated verification on
a Zernio-hosted page; the number provisions under YOUR account once they
submit. Only regulated (KYC) countries are valid: a country that does not
require KYC returns 400.

White-label the page with `branding` (your company name, logo, brand
color). Supply `redirect_url` to send the end customer back to your own
site after a successful submit (completion params are appended — see
below). Listen for the `whatsapp.number.kyc_submitted` webhook to react
when the form is completed.

## Request body

- object
  - `profileId` string, required
  - `country` string, required — ISO 3166-1 alpha-2 country code (must be a regulated/KYC country).
  - `areaCode` string — Area code (NDC) the eventual number must be in. Hard constraint carried by the link; the end customer filling the form makes no area choice. Options come from GET /v1/phone-numbers/availability (areaOptions).
  - `branding` object — Optional white-label of the hosted page the end customer sees.
    - `companyName` string — Your company name, shown on the hosted page.
    - `logoUrl` string, uri — Logo shown above the form.
    - `brandColor` string — Hex color (e.g. #1a73e8) used as a brand accent on the page.
  - `redirect_url` string, uri — Where to send the end customer's browser after a successful submit. On completion Zernio appends `kyc=submitted` and `country=<ISO-2>` as query params. When omitted, the hosted page shows a built-in confirmation screen instead.

## Response `200`

Hosted KYC link created.

- object
  - `url` string — The hosted link to send your end customer.
  - `token` string
  - `expiresAt` string, date-time

## Other responses

- `400` — Country does not require KYC (not a regulated country).
- `401` — Unauthorized

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/revisions/5b168c06d505/schema)
