post
https://api-v2.pandavideo.com.br/lives//regenerate
Reactivates a live that expired without ever receiving a signal. The live goes back to provisioning and keeps the same id, the same stream key and the same player URL.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
POST /lives/{live_id}/regenerate
{live_id}/regenerateReactivates a live that expired without ever receiving a signal.
AuthorizationRequires a valid Panda API token sent in the
Authorizationheader (no Bearer prefix).
expiredis not a failure. If the live becomes ready but no signal ever arrives, it moves toexpired. Do not create a new live: callPOST /lives/{live_id}/regenerateand the same live goes back toprovisioning, keeping its id, its stream key and its player URL.
Without this endpoint you would create a new live on every failed attempt, and expired lives would pile up in your listing with no clear reason why.
HTTP Method & Path
POST /lives/{live_id}/regenerate
Base URL: https://api-v2.pandavideo.com.br
Authentication Requirements
| Security Scheme | Header | Note |
|---|---|---|
| API Key | Authorization | Panda API token (without Bearer prefix) |
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Authorization | header | string | Yes | Panda API token (without Bearer prefix) |
Path Parameters
| Field | Type | Required | Description |
|---|---|---|---|
live_id | string (uuid) | Yes | ID of the expired live to bring back. |
Request Body
None.
Response
Success Response (200)
{
"id": "{live_id}",
"status": "provisioning",
"stream_key": "{stream_key}",
"stream_key_id": "{stream_key_id}",
"rtmp": "rtmp://vz-{hash}.us.pandavideo.live/live",
"region": "us",
"started_at": null
}Response Schema
| Field | Type | Description |
|---|---|---|
id | string (uuid) | The same id as before — the live is reused, not recreated. |
status | string | Back to provisioning. |
stream_key | string (uuid) | The same stream key as before. |
stream_key_id | string (uuid) | Stream key attached to this live. |
rtmp | string | Ingest server. |
region | string | Ingest region of this live: us or br. |
started_at | string | null | Reset to null. |
It only works on a live inexpired. Any other status is rejected, and the error tells you which status the live is in.
Error Responses
// the live is not expired (the error says which status it is in)
{ "errCode": "BadRequest",
"errMsg": "Live {live_id} is not expired (status: online); only expired lives can be regenerated" }
// legacy live, with no region
{ "errCode": "BadRequest",
"errMsg": "Live {live_id} has no region (legacy or inconsistent live); the channel cannot be regenerated" }
// two lives of the account coming up at the same instant
{ "errCode": "BadRequest",
"errMsg": "another live of this account is starting at the same moment; try again in a few seconds" }
// 404
{ "errMsg": "Live with id: {live_id} was not found" }- 401 Unauthorized — missing or invalid API token.
Example Usage
cURL
curl -X POST "https://api-v2.pandavideo.com.br/lives/{live_id}/regenerate" \
-H "Authorization: {api_key}"Related
- Create live — the statuses a live goes through, and the errors you get when a stream key is already taken.
- List lives — find your lives in
expired.
400The live is not expired, the live has no region, or another live of the account is starting at the same moment.
404Live not found.
