Start caller-ID verification for a customer-brought number
Customer-brought (BYO) WhatsApp numbers cannot present themselves as
caller ID on tel: call forwards until verified (carrier
anti-spoofing); until then forwarded calls show a Zernio number
(callerIdMode: platform on the calling config). This sends a
one-time code to the number by SMS or voice call. Re-POST to resend.
Zernio-purchased numbers never need this and get a 400.
API key authentication - use your Zernio API key as a Bearer token
In: header
Path Parameters
Phone number record ID (from GET /v1/phone-numbers).
"sms""sms" | "call"Response Body
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.whatsappcalling.startWhatsAppCallerIdVerification({ path: { id: 'abc123', }, body: { method: 'sms', },});console.log(data);{
"verified": true,
"codeSent": true,
"method": "sms"
}{
"error": "string",
"type": "invalid_request_error",
"code": "string",
"param": "string",
"platform": "string",
"platformError": {},
"details": {}
}{
"error": "Unauthorized"
}Get a call recording GET
Resolves a fresh, playable MP3 URL for the call's recording. Provider-signed recording URLs expire ~10 minutes after signing, so the `recordingUrl` stored on the call is usually stale by the time it is played; this endpoint re-signs on demand. Default responds `302 Found` redirecting to the fresh URL (point an `<audio>` element or a link straight at this endpoint); pass `as=json` to receive `{ url }` instead.
Confirm the caller-ID verification code POST
Submits the one-time code the number received. On success, `tel:` call forwards present the business number itself as caller ID (`callerIdMode: business`).