---
title: "List broadcast recipients"
method: GET
path: "/v1/broadcasts/{broadcastId}/recipients"
tags: ["Broadcasts"]
---

# List broadcast recipients

`GET /v1/broadcasts/{broadcastId}/recipients`

Returns recipients for a broadcast with individual delivery status. Filter by status.

## Path parameters

- `broadcastId` string, required

## Query parameters

- `status` 'pending' | 'sent' | 'delivered' | 'read' | 'failed'
- `limit` integer
- `skip` integer

## Response `200`

Recipients list with delivery status

- object
  - `success` boolean
  - `recipients` object[]
    - `id` string
    - `contactId` string
    - `channelId` string
    - `platformIdentifier` string
    - `contactName` string, nullable
    - `status` 'pending' | 'sent' | 'delivered' | 'read' | 'failed'
    - `messageId` string
    - `error` string
    - `errorCode` integer, nullable — Meta WhatsApp error code (e.g. 131049 for antispam, 131021 for invalid phone, 131026 for re-engagement required). Only populated for status=failed.
    - `errorExplanation` string, nullable — Plain-language translation of errorCode (e.g. for 131026, that the recipient has likely opted out of marketing messages). Null for unmapped codes; fall back to error.
    - `errorTraceId` string, nullable — Meta trace id (fbtrace_id) for the failed send. Quote this when escalating to Meta Direct Support. Only populated for status=failed on Meta platforms.
    - `sentAt` string, date-time
    - `deliveredAt` string, date-time
    - `readAt` string, date-time
  - `pagination` object
    - `total` integer
    - `limit` integer
    - `skip` integer
    - `hasMore` boolean
  - `summary` object — Delivery totals across all recipients in the broadcast, independent of pagination and status filtering.
    - `total` integer
    - `pending` integer
    - `sent` integer
    - `delivered` integer
    - `read` integer
    - `failed` integer

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `404` — Resource not found

## Changes

- **2026-08-25** `ac5fffe58a63` — 1 info
  - added the optional property `summary` to the response with the `200` status
- **2026-08-18** `a23bb6e63438` — 1 breaking
  - the response property `recipients/items/contactName` became nullable for the status `200`
- **2026-08-10** `1e9a379eafca` — 1 info
  - added the optional property `recipients/items/errorTraceId` to the response with the `200` status

[Change history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/broadcasts/:broadcastId/recipients/get.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/fdaf9a9fb1a7?raw)
