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"
}Check a country's availability + address constraint GET
Pre-purchase check, so you can warn BEFORE a customer invests in KYC (regulated review is async, 1-3 days). Tells you whether we have deliverable inventory, and what address the customer needs: - `addressConstraint: geo` → the registered address MUST be in one of the returned `areas` (the only place we have stock). A different-area address passes pre-approval but the number can never be assigned. - `addressConstraint: country` → any in-country address works. - `addressConstraint: none` → field-only / instant country, no address. Call this before starting the KYC form for regulated countries.
Get number status GET
Live snapshot of a connected number straight from Meta: the phone-number node (display number, display name + approval, quality rating, messaging-limit tier, throughput, official-business badge, connection status, health_status) and its owning WhatsApp Business Account (name, business verification, timezone, health_status). Fetched live because Meta updates quality/tier/name/health over time; the call also refreshes the cached values shown on the connection card.