---
title: "Create live"
method: POST
path: "/"
---

# Create live

`POST /`

## Request

- Base URL: `https://api-v2.pandavideo.com.br/lives`
- URL: `https://api-v2.pandavideo.com.br/lives/`
- Auth: API key in header `Authorization`

Creates a live stream. Returns the ingest endpoint for your encoder, the playback URLs and the live status. A live is created as provisioning; region, quality_package and save_vod are set here and cannot be changed later.

## Request body

- object
  - `title` string, required: Default title of the live stream - shown in the live preview and used as the name of the recorded video.
  - `stream_key_id` string, uuid: ID of the stream key to attach to this live. Retrieve available keys with GET /live_stream_key.
  - `scheduled_at` string: Schedules the live for a specific date and time, with no timezone suffix. A trailing Z is rejected with 400. Limited to 30 days ahead.
  - `bitrate` string[]: Video qualities to enable for adaptive playback. Values above 720p are accepted and silently reduced to 720p.
  - `latency_type` 'low' | 'default' | 'high': Latency profile of the live stream. low (5-7s), default (15-20s), high (60-70s).
  - `active_dvr` boolean: Enables DVR so viewers can rewind during the broadcast.
  - `folder_id` string, uuid: Folder where the recorded video will be stored after the live ends.
  - `region` 'us' | 'br': Where the stream is ingested: `us` or `br`. Defaults to `us`. This is where your encoder publishes, not your viewers region. It also affects the per-minute rate. If the stream key has a fixed region, that wins.
  - `quality_package` 'sd' | 'hd' | 'fhd' | '4k': Sets the whole quality ladder at once: `sd`, `hd`, `fhd`, `4k`. Overrides `bitrate` when both are sent. Maximum delivered quality is currently 720p.
  - `save_vod` boolean: Record the live as a video when it ends. With `false` no recording is produced and it cannot be recovered later.
  - `stream_key` string, uuid: The stream key value, as an alternative to `stream_key_id`.

## Response `200`

200

- object
  - `id` string
  - `title` string
  - `rtmp` string: Ingest server without the key. Prefer `ingest_endpoint`.
  - `stream_key_id` string
  - `stream_key` string: Stream key value used by the encoder.
  - `user_id` string
  - `started_at` unknown
  - `ended_at` unknown
  - `vod_id` unknown
  - `status` 'provisioning' | 'offline' | 'online' | 'finishing' | 'finished' | 'finished_imported' | 'expired' | 'canceled': Current status of the live. A live is created as `provisioning`.
  - `live_player` string: Embeddable player URL for the live.
  - `live_hls` string: Legacy playback URL. Prefer `playback_url`.
  - `bitrate` object[]
  - `folder_id` unknown
  - `active_dvr` boolean
  - `scheduled_at` unknown
  - `created_at` string
  - `gcore_pullzone_id` unknown
  - `gcore_pullzone_status` unknown
  - `latency_type` string
  - `ingest_endpoint` string: Full RTMP publish URL, stream key included. This is what goes into your encoder.
  - `ingest_hostname` string: Ingest server only, without the key. Specific to your account.
  - `playback_url` string, nullable: Playback URL for the live. Null until the live is ready.
  - `region` 'us' | 'br': Ingest region of this live: `us` or `br`.
  - `quality_package` string: Quality ladder applied to this live.
  - `save_vod` boolean: Whether this live is being recorded.
  - `video_id` string, nullable: Video created from the recording, once ready.
  - `view_metrics` object: Audience metrics of the live.
  - `config` object: Settings of the live.
  - `chat_id` string, nullable: Chat of the live.
  - `chat_status` string, nullable: Status of the live chat.
  - `current_time` string: Server time when the response was produced.

## Other responses

- `400`: 400
- `500`: 500

---

[API](https://skmtc.dev/pandavideo/apis/live-v2.md) - [All operations](https://skmtc.dev/pandavideo/apis/live-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/pandavideo/apis/live-v2/revisions/2ca63304ecc0?raw)
