API
Videos API
Create video uploads, list videos, update video metadata, and delete Qorlivo video links.
Use the Videos API when your app needs to create shareable Qorlivo video links programmatically.
List videos
GET /api/v1/videos?limit=20
Query parameters:
| Parameter | Type | Notes |
|---|---|---|
limit | number | Optional. Defaults to 20. Minimum 1, maximum 100. |
Example:
curl "https://www.qorlivo.com/api/v1/videos?limit=25" \
-H "Authorization: Bearer $QORLIVO_API_KEY"
Response:
{
"data": [
{
"_id": "k83xxxxxxxxxxxxxxxxxxxxxxxxx",
"title": "Product walkthrough",
"slug": "product-walkthrough",
"status": "ready",
"privacy": "unlisted"
}
]
}
Create a video upload
POST /api/v1/videos
This request creates a video record and returns an uploadUrl. Upload the video file to that URL, then wait for the video status to become ready.
Body fields:
| Field | Type | Required | Notes |
|---|---|---|---|
title | string | No | Video title. Maximum 500 characters. |
privacy | string | No | public, unlisted, password, or expiring. |
password | string | No | Required when using password protection. Maximum 256 characters. |
expiresAt | number | No | Future timestamp in milliseconds for expiring videos. |
Example:
curl https://www.qorlivo.com/api/v1/videos \
-X POST \
-H "Authorization: Bearer $QORLIVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Product walkthrough",
"privacy": "unlisted"
}'
Response:
{
"videoId": "k83xxxxxxxxxxxxxxxxxxxxxxxxx",
"slug": "product-walkthrough",
"uploadUrl": "https://upload.example.com/direct-upload-url",
"shareUrl": "https://www.qorlivo.com/v/product-walkthrough"
}
Upload the video file with a PUT request to uploadUrl unless your upload tooling specifies a different method for the returned URL.
curl "$UPLOAD_URL" \
-X PUT \
-H "Content-Type: video/mp4" \
--data-binary @walkthrough.mp4
Video creation requires Creator or higher for write access. Some privacy options also require Creator or higher.
Get a video
GET /api/v1/videos/{id}
Example:
curl https://www.qorlivo.com/api/v1/videos/k83xxxxxxxxxxxxxxxxxxxxxxxxx \
-H "Authorization: Bearer $QORLIVO_API_KEY"
Use this endpoint after upload to check status and metadata.
Update a video
PATCH /api/v1/videos/{id}
Editable fields:
| Field | Type | Notes |
|---|---|---|
title | string | Maximum 500 characters. |
description | string | Maximum 2,000 characters. |
Example:
curl https://www.qorlivo.com/api/v1/videos/k83xxxxxxxxxxxxxxxxxxxxxxxxx \
-X PATCH \
-H "Authorization: Bearer $QORLIVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Product walkthrough",
"description": "A short walkthrough for new customers."
}'
Response:
{
"success": true
}
Delete a video
DELETE /api/v1/videos/{id}
Successful deletion returns 204 No Content.
curl https://www.qorlivo.com/api/v1/videos/k83xxxxxxxxxxxxxxxxxxxxxxxxx \
-X DELETE \
-H "Authorization: Bearer $QORLIVO_API_KEY"
Video statuses
| Status | Meaning |
|---|---|
uploading | Qorlivo is waiting for the uploaded file. |
processing | The upload finished and playback is being prepared. |
ready | The video can be shared. |
failed | The video could not be prepared. Retry the upload or use a different file. |