Download WhatsApp media
Streams the binary for a WhatsApp attachment. This is the endpoint the
url on a WhatsApp attachments[] entry points at, in both the
message.received webhook and the List messages response.
This is an authenticated endpoint, not a public link. Send
Authorization: Bearer <your API key> exactly as you would for any other
call. Passing the URL straight to a browser, an LLM vision API, or a
no-code "download file" step without the header returns 401. This is
the most common integration mistake on this endpoint, and it differs from
Instagram, Facebook and Telegram, whose attachments[].url is a direct
CDN link that needs no header.
Fetch on receipt, not lazily. WhatsApp media lives in Meta's media
store, not ours, and it is removed after a limited retention window
(currently 7 days, and Meta has been dropping some inbound media sooner).
Once Meta drops it the media is unrecoverable and this endpoint answers
400 permanently, so retrying will never succeed. Download and store the
bytes when the webhook arrives.
API key authentication - use your Zernio API key as a Bearer token
In: header
Path Parameters
The media id from attachments[].payload.id.
Query Parameters
The WhatsApp account that received the media.
Response Body
application/octet-stream
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.whatsapp.getWhatsAppMedia({ path: { mediaId: 'media_abc123', }, query: { accountId: 'account_abc123', },});console.log(data);"string"{
"error": "Unauthorized"
}Unblock users DELETE
Unblock one or more previously blocked WhatsApp users on this number. Up to 1,000 users per request; per-user failures are reported in `failed` without failing the rest of the batch.
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.