Skip to Content
API ReferenceProjectsOverview

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.

i
project_id is an opaque external id

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

📂

List projects

GET /v1/projects

ViewPage through your projects, newest-first, with cursor and limit

Create a clipping/captions project

POST /v1/projects

ViewStart a new project from a source video
🔎

Get project status and detail

GET /v1/projects/{project_id}

ViewPoll a single project for its current status and detail
🎬

List the clips a project produced

GET /v1/projects/{project_id}/clips

ViewRead the clips generated once processing completes
🗑️

Delete a project

DELETE /v1/projects/{project_id}

ViewRemove a project you no longer need
🔗

Get the project share link

GET /v1/projects/{project_id}/share

ViewRead the current public read-only share link, if any

Create a project share link

POST /v1/projects/{project_id}/share

ViewMint a public read-only URL for the project
🔄

Regenerate the project share link

POST /v1/projects/{project_id}/share/regenerate

ViewRotate the URL and invalidate the previous one
🚫

Delete the project share link

DELETE /v1/projects/{project_id}/share

ViewRevoke public access by removing the share link
Last updated on