Skip to main content
POST
Create a scheduled broadcast
Creates a one-time or recurring scheduled broadcast owned by the authenticated user. The response returns 201 Created with the newly created broadcast; for a recurring series, the response is the first occurrence.

Required fields

Publishing behavior

Set manual_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_ms sets 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.
  • title and description set the broadcast’s status text and description.
  • thumbnail_media_id is a numeric media ID used as the pre-live slate image.
  • chat_option controls chat permissions and is a numeric string.
  • available_for_replay enables replay after the broadcast ends.
  • is_locked locks the broadcast.
  • locale sets the broadcast’s locale.
  • telecast_id associates the broadcast with an existing telecast (numeric string).
  • recurrence creates a recurring series — see below.

Example: one-time broadcast

Save both broadcast_id (alphanumeric, used in endpoint paths) and scheduled_broadcast_id (numeric, required in the body of update requests).

Example: recurring schedule

Add recurrence with a frequency (Daily or Weekly) and the number of repeats as a decimal string:
The response returns the first scheduled occurrence. Use the list endpoint to retrieve all generated occurrences. Recurrence cannot be added or changed later through the update endpoint.

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

application/json
scheduled_start_ms
string
required

Start time, ms since Unix epoch (decimal string).

Pattern: ^[0-9]{1,19}$
source_id
string
required

Ingest / source id to bind (same as sources rtmp_stream_key).

Minimum string length: 1
available_for_replay
boolean

Enable replay.

chat_option
string

Chat permission option (numeric string).

Pattern: ^[0-9]{1,19}$
description
string

Description.

is_locked
boolean

Lock the broadcast.

locale
string

Locale.

manual_publish
boolean

If true, do not auto-publish at start; call POST .../live when ready.

recurrence
object

If set, creates a recurring series.

scheduled_end_ms
string

Optional end time, ms since Unix epoch (decimal string). Omit for an open-ended broadcast.

Pattern: ^[0-9]{1,19}$
telecast_id
string

Optional telecast id (numeric string).

Pattern: ^[0-9]{1,19}$
thumbnail_media_id
string

Pre-live slate media id (numeric string).

Pattern: ^[0-9]{1,19}$
title
string

Title / status text.

Response

The request has succeeded.

data
object
errors
object[]