Move Videos between Projects
Endpoint:
POST /v1/videos/change-project
This guide explains how integrations can move up to 1,000 videos per API call into a different project through the public API. The workflow mirrors the dashboard behaviour.
Prerequisites
Authentication: JWT token that satisfies policy (the same token used for other video‑management endpoints).
Project access: Team members are restricted to projects they already control; admins can move any videos within the account.
Video ownership: All video IDs must belong to the authenticated account.
Request
POST /v1/videos/change-project HTTP/1.1
Authorization: Bearer <token>
Content-Type: application/json
{
"projectId": "proj_abc123",
"videoIds": [
"vid_0001",
"vid_0002",
"vid_0003"
]
}Body Fields
projectId
string
✅
Target project ID. Must belong to the authenticated account.
videoIds
array<string>
✅
List of video IDs to move. Duplicates and blank entries are removed automatically. Limited to 1,000 per request.
Behaviour
Validation
Rejects empty payloads and requests exceeding 1,000 IDs.
Managers must already have access to each source project; otherwise the call returns
403.
Response
{
"ok": true
}ok
bool
Indicates whether every batch completed successfully. A false value means one or more videos failed; inspect server logs for details.
Error Codes
400 Bad Request
Invalid JSON, missing projectId, no videoIds, more than 1,000 IDs, or the target project cannot be resolved.
403 Forbidden
Manager attempted to move videos from a project outside their access list.
500 Internal Server Error
Unexpected failure while updating.
Retries are safe: the operation is idempotent.
Best Practices
Chunk large migrations: If you need to move more than 1,000 videos, split the job into multiple requests.
Validate ahead of time: Fetch the destination project first if you want to confirm its id or ensure it exists before calling the endpoint
Last updated