# List broadcasts

`GET /v1/broadcasts`

Returns a page of your workspace's broadcasts, newest first, whether made over the API or in the app. Drafts you started in the app aren't listed.

Needs `broadcasts:read`.

## Query parameters

- `limit` (integer): How many items to return. From 1 to 100. Default `25`.
- `cursor` (string): The `next_cursor` of the previous page, unchanged. A cursor that was changed is `400 invalid_request`.
- `status` (string): Only broadcasts with this status. Any other value is `400 invalid_request`. One of `preparing`, `scheduled`, `queued`, `processing`, `paused`, `completed`, `cancelled`, `failed`, `missed`.
- `created_after` (string, date-time): Only broadcasts made after this time (RFC 3339).

## Example

```sh
curl https://app.soosh.io/v1/broadcasts \
  -H "Authorization: Bearer $SOOSH_API_KEY"
```

Response 200:

```json
{
  "data": [
    {
      "id": "2e4a6c8e-0b1d-4f3a-a5c7-9e1b3d5f7a2c",
      "name": "Diwali offer",
      "status": "completed",
      "template": {
        "id": "8d2f4c1e-7a3b-4e59-b0c6-1f2e3d4c5b6a",
        "name": "diwali_offer",
        "language": "en"
      },
      "number_id": "0f6d3c1e-5b7a-4c52-9a55-3f6a2d5c8b10",
      "send_at": null,
      "started_at": "2026-10-14T09:31:40.912Z",
      "completed_at": "2026-10-14T09:33:08.774Z",
      "paused_reason": null,
      "counts": {
        "total": 250,
        "sent": 247,
        "delivered": 244,
        "read": 171,
        "failed": 3,
        "replied": 21,
        "clicked": 14
      },
      "skipped": {
        "opted_out": 6,
        "duplicate": 2,
        "invalid_phone": 1
      },
      "created_by": {
        "type": "api_key",
        "id": "5e1d2c3b-4a59-4f68-8e7d-6c5b4a392817",
        "name": "Order system"
      },
      "created_at": "2026-10-14T09:31:40.552Z"
    }
  ],
  "next_cursor": null
}
```

## Returns

200. A page of broadcasts.