API referenceVideos
Update video details
PUT
Replaces the title and description of a video.
AccessKeyheader
AccessKey<token>The private key of a library, starting with ovk_. Copy it from API & embeds in the console, keep it on your server, and rotate it there if it leaks.
videoId*stringID of the video.
Format
uuidAccessKey*stringThe library's private key. Same value as the AccessKey security scheme; listed here so code samples include it.
application/json- body
title*stringLength
1 <= length <= 255description?stringLength
length <= 5000The updated video.
application/json- response
data*curl -X PUT 'https://api.octavideo.tech/api/v1/videos/6f1c2b9e-4a7d-4f3e-9b8a-2d5c7e1f0a34/details' \ -H 'AccessKey: ovk_YOUR_LIBRARY_PRIVATE_KEY' \ -H 'Content-Type: application/json' \ -d '{ "title": "Lesson 1: Introduction", "description": "What we cover in this course."}'Example Response
{ "data": { "id": "6f1c2b9e-4a7d-4f3e-9b8a-2d5c7e1f0a34", "library_id": "0b8e5d3a-1c2f-4e6a-8b7d-9f0a1b2c3d4e", "title": "Lesson 1: Introduction", "description": "What we cover in this course.", "encoding_status": "ready", "progress": 100, "duration_seconds": 754.2, "size_bytes": 412337152, "chapters": [], "created_at": "2026-10-25T09:30:00Z" }}Get a video GET
Returns one video, including its processing status. Poll this endpoint after an upload or import: `encoding_status` moves from `queued` to `processing` to `ready` (or `failed`), and `progress` goes from 0 to 100.
Set video chapters PUT
Replaces all chapters of a video. Send up to 200 chapters whose `start_seconds` strictly increase. An empty list removes every chapter.