Create a Scheduled Broadcast
POST /2/broadcasts/scheduled creates a one-time or recurring scheduled broadcast, with automatic or manual publishing.
201 Created with the newly created broadcast; for a recurring series, the response is the first occurrence.
Required fields
Publishing behavior
Setmanual_publish to true when you want to publish explicitly with POST /2/broadcasts/scheduled/:id/live. Otherwise, the scheduler publishes automatically at scheduled_start_ms.
Optional fields
scheduled_end_mssets the scheduled end time as Unix epoch milliseconds. If omitted, the broadcast has no scheduled end and runs until it is stopped or ends manually.titleanddescriptionset the broadcast’s status text and description.thumbnail_media_idis a numeric media ID used as the pre-live slate image.chat_optioncontrols chat permissions and is a numeric string.available_for_replayenables replay after the broadcast ends.is_lockedlocks the broadcast.localesets the broadcast’s locale.telecast_idassociates the broadcast with an existing telecast (numeric string).recurrencecreates a recurring series — see below.
Example: one-time broadcast
Example: recurring schedule
Addrecurrence with a frequency (Daily or Weekly) and the number of repeats as a decimal string:
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Body
Start time, ms since Unix epoch (decimal string).
^[0-9]{1,19}$Ingest / source id to bind (same as sources rtmp_stream_key).
1Enable replay.
Chat permission option (numeric string).
^[0-9]{1,19}$Description.
Lock the broadcast.
Locale.
If true, do not auto-publish at start; call POST .../live when ready.
If set, creates a recurring series.
Optional end time, ms since Unix epoch (decimal string). Omit for an open-ended broadcast.
^[0-9]{1,19}$Optional telecast id (numeric string).
^[0-9]{1,19}$Pre-live slate media id (numeric string).
^[0-9]{1,19}$Title / status text.