List channels
Every (address, type) the project can send from, and whether it can send right now. Paginated by sender: a page holds every entry of up to limit senders, so it can hold more than limit entries.
Authorization
AuthorizationheaderrequiredBearer YOUR_API_KEY. Create a key in the dashboard.
Query parameters
limitintegerDefault50Limitsmax 100cursorstringOpaque
nextCursorfrom the previous page.
Responses
200Entries.
itemsobject[]required4 properties
addressstringrequiredThe address the recipient sees: an E.164 number (
sms,voice,whatsapp), an email address (lowercase),@botname(telegram),@username(instagram), the Facebook Page id (messenger), or the literalsms_oneway(one-way SMS goes out from shared system numbers, and messages on it store this same literal asfrom).typestringrequiredA transport a message travels on.
One ofsmssms_onewaywhatsapptelegramemailinstagrammessengervoiceactivebooleanrequiredIt can send right now. A connected transport that is switched off is listed with
active: false; turn it on withPOST /v2/channels/{address}/{type}/activate.sms,sms_onewayandvoicehave no switch and are always active.v1SenderIdstringrequiredRead-only. The /v1 sender behind this entry, usable as the
Zavu-Senderheader on /v1. Entries with the samev1SenderIdare one channel group. On /v2 it is accepted asfromonly when two entries of different groups share an address (see409 ambiguous_from).
nextCursorstring
400`limit` outside 1–100 (`details.errors`).
codestringrequiredmessagestringrequireddetailsobjectMachine-readable context. Keys that mean the same thing everywhere: -
errors: present on every400 invalid_requestfor an invalid body or query parameter,[{path, message, ...}],pathnaming the field (["to"],["contacts", 2, "recipient"],["limit"]). -recommendation: one sentence saying what to do next. -dashboardUrl: the dashboard screen that fixes it. -connect: on409 no_channel, the channels this project can connect to reach the recipient, each{type, request, note, available, dashboardUrl?};requestis the exact call (POST /v2/channelswith its body, orPOST /v2/numbers), or null for a channel connected from the dashboard (WhatsApp, Instagram, Messenger).available: falsesays why innote(one-way SMS closed until business verification is approved). -address/from: the address the error is about, under the name the request used for it.1 properties
errorsobject[]3 properties
pathobject[]requiredmessagestringrequiredcodestring
401Unauthorized.
codestringrequiredmessagestringrequireddetailsobjectMachine-readable context. Keys that mean the same thing everywhere: -
errors: present on every400 invalid_requestfor an invalid body or query parameter,[{path, message, ...}],pathnaming the field (["to"],["contacts", 2, "recipient"],["limit"]). -recommendation: one sentence saying what to do next. -dashboardUrl: the dashboard screen that fixes it. -connect: on409 no_channel, the channels this project can connect to reach the recipient, each{type, request, note, available, dashboardUrl?};requestis the exact call (POST /v2/channelswith its body, orPOST /v2/numbers), or null for a channel connected from the dashboard (WhatsApp, Instagram, Messenger).available: falsesays why innote(one-way SMS closed until business verification is approved). -address/from: the address the error is about, under the name the request used for it.1 properties
errorsobject[]3 properties
pathobject[]requiredmessagestringrequiredcodestring