Skip to main content
After a video is uploaded you can still change it: rename it at any time, or delete it when you no longer host that lesson. Both calls use the same project API key (Authorization: Bearer sk_...) as the rest of the API, or a dashboard session. The video keeps its vid_... id when you rename it. You can also do both from your dashboard’s video list. This page shows the API.

Rename a video

PATCH /v1/projects/{projectId}/videos/{videoId} Rename when you want a different label on a video: fix a typo, put the lessons in your own order, or reuse a template. The title is only a label. Renaming does not touch the file, the encoding, the watched minutes or playback. Body:
Answer (200): the full Video, with the new title.
Notes:
  • A missing, empty, whitespace-only, too-long or non-string title is 400 invalid_request. Nothing changes.
  • An unknown id, another project’s video, or a deleted video is the same 404 not_found.
  • Renaming bumps updatedAt.

Delete a video

DELETE /v1/projects/{projectId}/videos/{videoId} Delete when you no longer host a video, or to free stored hours on your plan (stored hours fall shortly after the delete, not at once). Deleting a video is a soft delete on our side, and it is permanent for you: the only way to bring the video back is to upload it again, which creates a new vid_... id. Update any links or records you kept.
Answer: 204, with no body. What happens: Notes:
  • Deleting a video does not reset watched minutes. It lowers your stored hours shortly after the delete, not instantly: we remove the original at once, and clean up the HLS renditions and the thumbnail in the background.
  • Deleting a video does not delete the moderation review frames we keep. They stay on our side for human review and appeals.
  • Deleted videos are hidden from GET /v1/projects/{projectId}/videos and from the single-video GET immediately, and PATCH on them answers 404.
  • Retrying a DELETE is safe: the first call is 204, the next is 404.

Code examples

The rename, delete, retry-delete and error paths are covered by our test suite (api/src/videos.test.ts).

Node.js (18+)

Python 3 (pip install requests)

PHP / Laravel

Errors

Errors use application/problem+json. Use the code field in your code, not the text.

Tested in TEST

Checked against https://test-api.segmnt.cloud on 14 Oct 2026, after the rename/delete route was on TEST:
  • PATCH and DELETE .../videos/{videoId} with no key answer 401 unauthorized.
  • PUT on the same URL answers 405 method_not_allowed.
  • The full path with a project key is proved by our API tests (api/src/videos.test.ts): 200 for a rename (and the trimmed title on 200 characters), 400 invalid_request for a missing, empty, too-long or non-string title, 204 for a delete, 404 for the next GET, the second DELETE and an unknown or other-project video, and the deleted video is hidden from the list.
  • The Node.js and Python examples above were run end to end against a local copy of the two routes (the same code; only the base URL changed).
We re-run these checks after every change to the route.

Where to go next