Provision CTWA dataset
Creates (or fetches, if one already exists) the Meta dataset that
Click-to-WhatsApp ad events are reported against via the Conversions
API, and persists its ID on the account as metadata.metaCapiDatasetId.
The call is GET-first idempotent — a WABA can only own one CTWA
dataset, so a second call after a successful provision is a safe no-op
that returns the same ID with created: false.
Requires the connected WhatsApp account's token to carry the
whatsapp_business_manage_events permission. If the permission is
missing the endpoint returns 422 with a message asking the user to
reconnect the account.
API key authentication - use your Zernio API key as a Bearer token
In: header
WhatsApp social account ID
Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.whatsapp.createWhatsAppDataset({ body: { accountId: 'account_abc123', },});console.log(data);{
"datasetId": "string",
"created": true
}{
"error": "Unauthorized"
}Get CTWA conversions dataset GET
Returns the Meta Click-to-WhatsApp conversions dataset currently linked to the WhatsApp account, if one has been provisioned. Reads only from the stored `metadata.metaCapiDatasetId` — never hits Meta, never creates a dataset. Use this to detect whether `POST /v1/whatsapp/conversions` is configured for an account.
List conversion events GET
Returns the most recent conversion events sent through `POST /v1/whatsapp/conversions` for the given WhatsApp account. Sourced from delivery logs (Axiom `late` dataset), so the visible window is bounded by log retention (about 30 days). Useful for rendering a "recent activity" panel on the conversions setup tab without standing up a parallel persistence layer. Per-event payload mirrors the structured log we write on every successful send: `eventName`, `conversationId`, `eventsReceived`, `eventsFailed`, `traceId`, `durationMs`, and the wall-clock `timestamp`.