Review a broadcast before sending

The dashboard's pre-send review: who it reaches, the sender's domain, the subject, the deliverability check, the unsubscribe link, contacts missing a…

GEThttps://app.usenotix.dev/api/v1/broadcasts/{broadcastId}/review

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

The dashboard's pre-send review: who it reaches, the sender's domain, the subject, the deliverability check, the unsubscribe link, contacts missing a variable the email uses, and the sends left on the plan, each ok, warn or blocked. With monthly units enforced on a paid plan, the plan check counts units instead (1 a recipient): blocked when they are used up and pay-as-you-go is off or the wallet is empty, warn when this send goes past them or past what the wallet covers. holds says whether Notix will hold the send for review, and whether this key's approval policy needs a person's approval for that many recipients (or refuses it). canSend is advice: scheduling runs every check again.

The team can review broadcasts 30 times a minute through the API. The counts run under a 10-second statement timeout.

Who can call it

Any key that reads broadcasts: full access, read only and live AI keys. A send-only key answers 403 SCOPE_DENIED. A key limited to one domain sees only broadcasts that send from its domain; any other answers 404.

Path parameters

broadcastIdstringrequired

Headers

Authorizationstringrequired

Bearer followed by your API key.

Errors

404

No campaign with this id for the calling team (or, for a key limited to one domain, on its domain).

429

The team reviewed campaigns through the API 30 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/<broadcastId>/review" \
  -H "Authorization: Bearer $NOTIX_API_KEY"
Response200
{
  "campaignId": "cm1x8f3k20001qz7v5b9d2e4a",
  "status": "string",
  "canSend": true,
  "recipients": 1,
  "checks": [
    {
      "key": "audience",
      "tone": "ok",
      "title": "string",
      "detail": "string"
    }
  ],
  "holds": {
    "notixReview": true,
    "approval": "NOT_REQUIRED",
    "approvalMessage": "string"
  }
}
Open in ClaudeOpen in ChatGPT