List broadcasts

List the team's broadcasts, paged, and optionally filtered by status (DRAFT, PENDING_REVIEW, SCHEDULED, RUNNING, PAUSED, SENT, CANCELED or FAILED), by…

GEThttps://app.usenotix.dev/api/v1/broadcasts

Full access and read only keys can call this. Sending access keys cannot. Key permissions lists the extra rules some calls have.

List the team's broadcasts, paged, and optionally filtered by status (DRAFT, PENDING_REVIEW, SCHEDULED, RUNNING, PAUSED, SENT, CANCELED or FAILED), by name or subject (search), or by contact book (contactBookId).

Query parameters

pageinteger

1-based page number, at most 10000. Defaults to 1.

Minimum 1. Maximum 10000. Default 1.

statusstring

Filter campaigns by status, as the dashboard does: PENDING_REVIEW also lists drafts an AI agent is waiting for a person to approve (their own status stays DRAFT), and DRAFT leaves those out.

One of DRAFT, SCHEDULED, RUNNING, PAUSED, SENT, PENDING_REVIEW, CANCELED, FAILED.

searchstring

Search campaigns by name or subject

contactBookIdstring

Only campaigns sending to this contact book

Headers

Authorizationstringrequired

Bearer followed by your API key.

curl -X GET "https://app.usenotix.dev/api/v1/broadcasts" \
  -H "Authorization: Bearer $NOTIX_API_KEY"
Response200
{
  "campaigns": [
    {
      "id": "cm1x8f3k20001qz7v5b9d2e4a",
      "name": "Acme",
      "from": "Acme <receipts@acme.com>",
      "subject": "Your receipt for order 4471",
      "createdAt": "2026-10-01T09:00:00Z",
      "updatedAt": "2026-10-01T09:00:00Z",
      "status": "string",
      "scheduledAt": "2026-10-01T09:00:00Z",
      "total": 1,
      "sent": 1,
      "delivered": 1,
      "unsubscribed": 1,
      "source": {
        "provider": null,
        "migratedAt": null
      }
    }
  ],
  "totalPage": 1
}
Open in ClaudeOpen in ChatGPT