List broadcasts
List the team's broadcasts, paged, and optionally filtered by status (DRAFT, PENDING_REVIEW, SCHEDULED, RUNNING, PAUSED, SENT, CANCELED or FAILED), by…
https://app.usenotix.dev/api/v1/broadcastsFull 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
1-based page number, at most 10000. Defaults to 1.
Minimum 1. Maximum 10000. Default 1.
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.
Search campaigns by name or subject
Only campaigns sending to this contact book
Headers
Bearer followed by your API key.
curl -X GET "https://app.usenotix.dev/api/v1/broadcasts" \
-H "Authorization: Bearer $NOTIX_API_KEY"
import { Notix } from "notix-js";
const notix = new Notix(process.env.NOTIX_API_KEY);
const { data, error } = await notix.broadcasts.getAll({ page: "1" });
use Notix\Notix;
$notix = new Notix(getenv('NOTIX_API_KEY'));
$campaigns = $notix->campaigns->getAll(['page' => '1']);
{
"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
}