Send a broadcast campaign to a fan segment
Draft a message, preview reach and audience with zero side effects, then schedule it into a paced 1:1 send plan.
This is the Broadcasts tab — /api/admin/broadcasts, the campaign system a scheduled
campaign actually expands and drains through. It's a separate system from the in-chat
Broadcast composer mode; see
Two campaign systems before
you go looking for one campaign in the other's list.
Pick a mechanism
mechanism decides how the message reaches fans:
| Mechanism | What happens | Trade-off |
|---|---|---|
1to1 (default) | An individual paced DM per fan, landing in their priority inbox. Supports personalization, tier pricing, and drip steps. | More requests to pace; the safer default. |
native | One native OnlyFans mass message to lists/collections at once. | No per-fan price or drip, and it lands in the fan's regular tab, not priority — and it needs the separate inbox/broadcasts_native grant, since a single blast carries more ban risk than a paced 1:1 run. |
Pick a mode (1to1 only — native is always one blast)
| Mode | What it does |
|---|---|
segmented | One message to a single audience segment. |
tiered | The audience is split by spend tier so each tier can carry a tier-appropriate offer. |
drip | A multi-step sequence with auto-stop — once a fan converts on an earlier step, their remaining steps are skipped. |
online_trigger | Sends are aligned to when each fan is actually active, instead of all firing at once. |
Preview before you commit
POST /broadcasts/preview resolves how many fans match and a tier histogram — counts only,
zero fan ids, zero writes. Use it to sanity-check the audience before scheduling; it's safe to
call as many times as you're still tuning filters.
Schedule it
POST /broadcasts/{campaign_id}/schedule expands the campaign into a concrete, paced 1:1 send
plan and moves it to scheduled. This step is real — the plan is materialized — but whether
anything actually leaves the building next depends on the account-wide sending state; the response
carries a lane field (off / shadow / live) precisely so the screen never claims a send is
coming when it isn't. See
Shadow sends and the kill switch.
What's next
- Control an already-scheduled broadcast — pause, resume, retry failed sends, or cancel it.
- Build a reusable fan segment — save an audience filter once instead of re-typing it per campaign.
- See who bought from a broadcast — read the funnel once a campaign has actually run.
- Configure an automatic message — the trigger-based sibling of a one-off broadcast.