Skip to content
API PlatformDevelopers
GET/v1/broadcasts/{broadcast_id}beta

Get a broadcast

Needs
Read your data (mcp:read)
Plan
Any plan with API access
Limits
300 a minute per key
Undo
Nothing to undo: this only reads.

Returns one broadcast: status, channel, template, audience (contact groups and size), schedule, send rate and delivery numbers (sent, delivered, read, failed, opted out, responded, and the rates).

Try it

Path

The broadcast id.

This only reads. It uses your real data and changes nothing.

Code and response

curl -X GET 'https://mcp.wa-api.cloud/v1/broadcasts/301' \
  -H "Authorization: Bearer $API_KEY"

The code reads your key from $API_KEY.

Parameters

Parameters
FieldTypeWhat it is
broadcast_idrequiredstring | integer · pathThe broadcast id.

Headers

Headers
FieldTypeWhat it is
AuthorizationrequiredheaderBearer $API_KEY — your API key.
Api-VersionheaderThe API version to use, e.g. 2026-10-01. Default: the version your key is pinned to.one of: 2026-10-01 · pattern ^\d{4}-\d{2}-\d{2}$

Response 200

The broadcast.

Response fields
FieldTypeWhat it is
idrequiredstring
namerequiredstring or null
statusrequiredstring or null
channelrequiredobject or null
idrequiredstring or null
namerequiredstring or null
templaterequiredobject or null
namerequiredstring or null
languagerequiredstring or null
categoryrequiredstring or null
audience_sizerequirednumber or nullEstimated recipients when set up; stats.total once sending started.
scheduled_atrequiredstring or null
created_atrequiredstring or null
sandboxrequiredboolean
statsrequiredobject or null
totalrequirednumber
pendingrequirednumber
sentrequirednumber
deliveredrequirednumber
readrequirednumber
failedrequirednumber
dndrequirednumberSkipped because the contact opted out / is on do-not-disturb.
respondedrequirednumber
convertedrequirednumber
delivery_raterequirednumber or nulldelivered / sent, 0-1.
read_raterequirednumber or nullread / delivered, 0-1.
contact_groupsrequiredarray of object
idrequiredstring
namerequiredstring or null
timezonerequiredstring or null
message_raterequiredstring or nulle.g. "100 per minute".
stopped_atrequiredstring or null
paused_atrequiredstring or null
cancelled_atrequiredstring or null

Errors

Errors are application/problem+json. Branch on code.

StatusCodeWhen
400invalid_input

A field is missing or has the wrong format. errors[] points at each field.

401unauthenticated

The Authorization header is missing, the key is unknown, expired or revoked.

403entitlement_required

The workspace's plan does not include API access (api_access).

403insufficient_scope

The key does not have the permission this operation needs.

404not_found

No broadcast with this id in your workspace.

429rate_limited

The key or workspace went over its rate limit. Wait for Retry-After seconds.

503upstream_unavailable

A service behind the API is briefly unavailable. Safe to retry with backoff.

Examples

Read one broadcast

Response 200

{
  "id": "301",
  "name": "September sale",
  "status": "COMPLETE",
  "channel": {
    "id": "7",
    "name": "Main WhatsApp"
  },
  "template": {
    "name": "summer_sale",
    "language": "en",
    "category": "MARKETING"
  },
  "audience_size": 1000,
  "scheduled_at": null,
  "created_at": "2026-09-10T08:00:00Z",
  "sandbox": false,
  "stats": {
    "total": 1000,
    "pending": 0,
    "sent": 980,
    "delivered": 950,
    "read": 600,
    "failed": 20,
    "dnd": 5,
    "responded": 40,
    "converted": 10,
    "delivery_rate": 0.969,
    "read_rate": 0.632
  },
  "contact_groups": [
    {
      "id": "5",
      "name": "Newsletter"
    }
  ],
  "timezone": "Asia/Dubai",
  "message_rate": "100 per minute",
  "stopped_at": null,
  "paused_at": null,
  "cancelled_at": null
}

Operation path

The same operation is also at POST /v1/ops/messaging_get_broadcast, with every field in the JSON body.