Create a hosted KYC link
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.
API key authentication - use your Zernio API key as a Bearer token
In: header
ISO 3166-1 alpha-2 country code (must be a regulated/KYC country).
2 <= length <= 2Optional white-label of the hosted page the end customer sees.
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.
uriResponse Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.whatsappphonenumbers.createWhatsAppNumberKycLink({ body: { profileId: 'profile_abc123', country: 'string', },});console.log(data);{
"url": "string",
"token": "string",
"expiresAt": "2019-08-24T14:15:22Z"
}{
"error": "Unauthorized"
}Pre-validate KYC address POST
Optional early check for the address step of a Tier 4 (end-user identity) registration: validates a postal address for deliverability BEFORE the full KYC submit, so it can be corrected before any documents are uploaded. The full submit (POST /v1/whatsapp/phone-numbers/kyc) re-validates the address, so this call is purely a fast feedback path and skipping it is safe. Only the postal address is sent (no documents, no gov-ID fields). A region (`administrative_area`) is required by the validator; when it is omitted the pre-check is skipped and `{ ok: true, skipped: true }` is returned (the final submit still validates).
Get declined requirements GET
For a number in `regulatory_declined`, returns ONLY the requirements the reviewer flagged declined, as a form spec (same shape as the KYC form GET). The customer fixes just those — Telnyx supports correcting a declined requirement group and re-submitting it (no new number/group). Falls back to the full spec if the provider exposes no per-requirement flags.