Export broadcasts as CSV

The Broadcasts list as a spreadsheet, newest first, with the list's filters (status, search, contactBookId): id, name, subject, sender, status, audience,…

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

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

The Broadcasts list as a spreadsheet, newest first, with the list's filters (status, search, contactBookId): id, name, subject, sender, status, audience, recipients, delivered, opened, clicked, unsubscribed, and when it was made, scheduled and sent. At most 5,000 rows.

status=PENDING_REVIEW also holds the drafts an AI agent asked a person to approve, as the dashboard shows them.

The answer

By default the CSV file itself (text/csv, as a download). Add format=json for { filename, csv, rows, truncated } instead. Every cell is spreadsheet-safe: one that would run as a formula starts with an apostrophe.

Who can call it

Any key that reads broadcasts: full access, read only and live AI keys. A key limited to one domain exports only broadcasts that send from its domain. The team can export broadcasts 10 times a minute.

Query parameters

statusstring

Only campaigns in this status.

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

searchstring

Matches the campaign name or subject.

contactBookIdstring

Only campaigns sending to this contact book.

formatstring

csv (the default) answers the file itself; json answers { filename, csv, rows, truncated }.

One of csv, json. Default "csv".

Headers

Authorizationstringrequired

Bearer followed by your API key.

Errors

429

The team exported campaigns 10 times in the last minute.

503

The call could not be counted just now. Try again shortly.

Every error has the same shape. See all error codes.

curl -X GET "https://app.usenotix.dev/api/v1/broadcasts/export" \
  -H "Authorization: Bearer $NOTIX_API_KEY"
Response200
{
  "filename": "Acme",
  "csv": "string",
  "rows": 1,
  "truncated": true
}
Open in ClaudeOpen in ChatGPT