---
title: "Schedule live streams"
method: POST
path: "/projects/{id}/schedule"
tags: ["Live"]
---

# Schedule live streams

`POST /projects/{id}/schedule`

## Request

- Base URL: `https://api.livereacting.com/v1/external`
- URL: `https://api.livereacting.com/v1/external/projects/{id}/schedule`
- Auth: HTTP bearer

Schedule one or more live streams for future dates.

**Prerequisites:**
- Same as Go Live endpoint
- All dates must be at least 3 minutes in the future
- All dates must be within 28 days from now
- Project cannot have any existing active or scheduled streams
- Multi-schedule (>1 date) requires a fixed stream duration (not manual)

**Workflow:**
1. Cancel existing schedules first: `DELETE /projects/{id}/schedules`
2. Then create new schedules with this endpoint

**Notes:**
- Accepts 1-50 dates in a single request
- Duplicate dates are automatically removed
- Individual scheduled streams can be cancelled via `DELETE /lives/{id}`
- All schedules can be cancelled via `DELETE /projects/{id}/schedules`

## Path parameters

- `id` string, required

## Request body

- ScheduleLiveRequest
  - `dates` string[], required: Array of ISO 8601 date-times for when streams should start. - All dates must be at least 3 minutes in the future - All dates must be within 28 days - Duplicates are automatically removed - Dates are sorted chronologically

## Response `201`

Streams scheduled successfully

- ScheduleLiveResponse
  - `scheduled` GoLiveResponse[]: Array of created scheduled streams
    - `liveId` string: Unique identifier for the created live stream
    - `status` 'PREPARING' | 'SCHEDULED': Current status of the live stream
    - `scheduledDate` string, date-time, nullable: Scheduled start time (null for immediate streams)
    - `createdAt` string, date-time: When the live stream was created
    - `destinations` object[]
      - `id` string: Destination account ID
      - `provider` 'youtube' | 'facebook' | 'twitch' | 'instagram' | 'linkedin' | 'rtmp' | 'unknown'
      - `name` string, nullable
      - `status` string: Destination stream status
      - `viewingUrl` string, nullable: Public URL to watch the stream (when available)
  - `count` integer: Number of scheduled streams created

## Other responses

- `400`: Validation error
- `401`: Authentication failed
- `403`: Limit reached
- `404`: Project not found
- `429`: Rate limit exceeded
- `502`: Platform error

---

[API](https://skmtc.dev/livereacting/apis/livereacting-api.md) · [All operations](https://skmtc.dev/livereacting/apis/livereacting-api/llms.txt) · [OpenAPI document](https://skmtc.dev/livereacting/apis/livereacting-api/revisions/17a9f1677fbf?raw)
