Projects API
The Projects API is where work begins. A project represents one source video that VDClip turns into short clips, captions, or both. You create a project, poll it until processing finishes, then read the clips it produced. These endpoints let you list, create, fetch, and delete projects, list a project’s clips, and manage a public read-only share link.
Conventions
Requests use the base URL https://api.vdclip.com with the Authorization: Bearer vdck_... header. The API is server-to-server only and has no CORS.
Successful responses return resource data directly. Errors return an errors array. List endpoints page with a cursor plus limit and return results newest-first; follow the returned cursor. Reading and listing require the vdclip:projects:read scope; creating, deleting, and managing share links require vdclip:projects:write. A missing scope returns MISSING_SCOPE.
Every project is addressed by its project_id, an opaque external ULID returned when you create the project. Treat it as a string: never parse, increment, or derive it. A request for an unknown or deleted id returns NOT_FOUND.
Endpoints
Get project status and detail
GET /v1/projects/{project_id}
List the clips a project produced
GET /v1/projects/{project_id}/clips
Get the project share link
GET /v1/projects/{project_id}/share
Create a project share link
POST /v1/projects/{project_id}/share
Regenerate the project share link
POST /v1/projects/{project_id}/share/regenerate
Delete the project share link
DELETE /v1/projects/{project_id}/share