Skip to content

Broadcast reporting API

Released: October 21, 2026

Three read-only endpoints expose the results of broadcasts you send from the dashboard:

  • GET /v1/broadcasts lists campaigns across your organization, newest first, with total_count, sent_count and failed_count. Filter by status, created_after and created_before.
  • GET /v1/broadcasts/{id} adds stats: how many recipients are currently pending, queued, sent, delivered, read or failed.
  • GET /v1/broadcasts/{id}/recipients pages through every recipient in send order with their status, Meta wamid, sent_at / delivered_at / read_at / failed_at, and the failure reason. Filter by status, for example ?status=failed.

Broadcast IDs use the bcst_ prefix. Existing campaigns already have one. Creating, sending and retrying broadcasts stay in the dashboard.

{
"object": "broadcast_recipient",
"contact_id": "ctc_01HXYZABCDEFGHJKMNPQRSTVWX",
"contact_name": "Budi",
"phone_number": "+628123456789",
"bsuid": null,
"status": "failed",
"wamid": null,
"error": { "code": "billing_issue", "message": "…", "provider_code": 131042 },
"sent_at": null,
"delivered_at": null,
"read_at": null,
"failed_at": "2026-10-20T08:01:00.000Z",
"created_at": "2026-10-20T08:00:00.000Z"
}

@kirimdev/sdk@3.22.0 adds kirim.broadcasts.list(), retrieve(id) and listRecipients(id), with the generated Broadcast, BroadcastListItem and BroadcastRecipient types.