# REST API

> Create projects, run renders and collect artifacts from your own service.

# REST API

The same API the web app uses. Use it to wire Decodx into your own systems — generate a walkthrough
when a feature ships, refresh a video when a page changes, batch-produce a series.

## Authentication

Create a **service token** for unattended access. Tokens are workspace-scoped and revocable; treat
one as a credential and keep it server-side.

For a user-facing integration where the person should authorise it themselves, use OAuth instead —
see [MCP server](/docs/automate/mcp-server).

## Rendering is a job

The one thing to design around: a render is not a request that returns a video.

1. Create or update the project.
2. Ask for an estimate.
3. Submit a job.
4. Poll the job, or listen for events.
5. Collect the artifacts when it completes.

Jobs can be cancelled. A job that fails reports why in terms you can act on.

## Webhooks

Rather than polling, register an outbound webhook and Decodx will call you when something happens.
Deliveries are recorded, can be replayed, and are signed with a secret you can rotate.

## Other integrations

Slack delivery routes post finished videos into channels. A YouTube connection publishes directly.
Both are configured in the app rather than through the API.

## Full endpoint reference

See the [API reference](/docs/reference/api), which is generated from the API's own schema.
