Create a caller identity share link
Creates a single-use link (valid 7 days) where the end business fills in
the caller identity itself, with no Zernio login: display name, logo, call
reasons, the authorizer and the three references. What it submits lands
under your team as requested, the same review as an API submission, and
branded_calling.identity.status_updated fires. Scope the link with
identityId (complete an identity that is requested or
changes_requested), with enterpriseId (a new identity for a registered
business), or with neither (the business registers itself and its first
identity). The person opening the link can forward a fresh one to someone
else, which retires theirs.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
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.brandedcalling.shareBrandedCallingIdentityForm({ body: { enterpriseId: 'enterprise_abc123', identityId: 'identity_abc123', },});console.log(data);{ "url": "string", "expiresAt": "2019-08-24T14:15:22Z"}Resend the authorizer's code
Emails the authorizer a fresh 6-digit code (the previous one stops working). Only while the identity is `pending_email_verification`.
List all calls (unified history)
Unified call history across ALL of your numbers: both channels (WhatsApp Business Calling + regular phone/PSTN), inbound and outbound, newest first. Unlike `GET /v1/voice/calls` (PSTN-only) and `GET /v1/whatsapp/calls` (one account at a time), this endpoint needs no `accountId` and never requires fanning out one request per number. Any row can be opened channel-agnostically via `GET /v1/calls/{id}` and `GET /v1/calls/{id}/recording`; no branching on `channel` needed. When the counterparty number matches a CRM contact, `contactId` and `contactName` are set. Cursor pagination: pass the returned `nextCursor` as `before` to fetch the next page. `nextCursor` is null on the last page.