Base URL
Authentication
All requests require a bearer token in theAuthorization header:
Endpoints
Import
| Method | Path | Description |
|---|---|---|
POST | /jobs/import/project_media | Import media and create a project |
Agent
| Method | Path | Description |
|---|---|---|
POST | /jobs/agent | Run an AI-powered edit on a project |
Jobs
| Method | Path | Description |
|---|---|---|
GET | /jobs | List recent jobs |
GET | /jobs/{job_id} | Get job status |
DELETE | /jobs/{job_id} | Cancel a running job |
Status
| Method | Path | Description |
|---|---|---|
GET | /status | Check API status (work in progress) |
Partner APIs
These endpoints require contacting Descript for access.| Method | Path | Description |
|---|---|---|
POST | /edit_in_descript/schema | Create an import URL for partner integrations |
GET | /published_projects/{slug} | Get published project metadata |
Request format
Send request bodies as JSON with theContent-Type: application/json header.
Async operations
All import and agent operations are asynchronous. They return immediately with ajob_id. Poll the job status endpoint or use a callback_url for webhook notifications. See Working with Jobs.
Rate limits
The API enforces rate limits. Exceeding them returns429 Too Many Requests with a Retry-After header. See Error Codes.