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:

ParameterTypeNotes
limitnumberOptional. 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:

FieldTypeRequiredNotes
titlestringNoVideo title. Maximum 500 characters.
privacystringNopublic, unlisted, password, or expiring.
passwordstringNoRequired when using password protection. Maximum 256 characters.
expiresAtnumberNoFuture 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:

FieldTypeNotes
titlestringMaximum 500 characters.
descriptionstringMaximum 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

StatusMeaning
uploadingQorlivo is waiting for the uploaded file.
processingThe upload finished and playback is being prepared.
readyThe video can be shared.
failedThe video could not be prepared. Retry the upload or use a different file.