Start sending the broadcast immediately or schedule for later.

Sending a broadcast needs no account verification. Identity and business verification raise daily ceilings; neither is a permission to broadcast, on any channel. What stands in front of a broadcast is the content review below, and it applies to every send path — dashboard, API and CLI. Drafts can be created, edited and kept freely.

Email broadcasts need a paid plan. On Free, sending or scheduling a broadcast on the email channel is refused with 402 and code paid_plan_required; drafts can still be created and edited. A smart broadcast is not refused: its email recipients fail individually with errorCode PAID_PLAN_REQUIRED and the others are sent. Teams created before August 1, 2026 keep their earlier terms.

Daily ceilings apply per recipient. Each message a broadcast sends counts against the channel's daily ceiling (see POST /v1/messages). Once the ceiling is reached, the remaining recipients are marked failed with errorCode DAILY_LIMIT_EXCEEDED; they are not retried the next day.

Review depends on the channel, and cannot be bypassed. A draft is submitted to automated content review here; it does not go straight out. A WhatsApp broadcast built on a Meta-approved template skips review (Meta already vetted the content) and begins sending. An email broadcast sends as soon as the review passes it, unless the review asks for a person. Every other channel moves to pending_admin_review and waits for a person. A broadcast the review refuses lands on rejected: use PATCH to edit the content then call POST /retry-review, or escalate it for a manual review.

A broadcast is read once, on its own text, rather than per recipient. While an account's sending is suspended its recipients fail individually with errorCode SENDING_SUSPENDED; see POST /v1/messages.

Calling this on a broadcast that is already approved or scheduled sends or reschedules it directly, since it has already been reviewed. Reserves the estimated cost from your balance.

post/v1/broadcasts/{broadcastId}/send

Request

  • Base URL
    https://api.zavu.dev
  • URL
    https://api.zavu.dev/v1/broadcasts/{broadcastId}/send
  • Auth
    HTTP bearer

Path parameters

broadcastIdstring required

Request body

scheduledAtstring date-time

Schedule for future delivery. Omit to send immediately.

Response

Broadcast started or scheduled.

Example response

{
  "broadcast": {
    "id": "brd_abc123"
  }
}

Changes

    • info

      added the non-success response with the status

    • info

      removed the instagram enum value from the / response property for the response status

    • info

      removed the messenger enum value from the / response property for the response status

    • info

      removed the voice enum value from the / response property for the response status