Build on Tasked
A REST API for projects, tasks, clients, assets, review comments and webhooks. Every response carries a request id and the API version; errors share one envelope.
Authentication
Every request carries an organization API key as a bearer token: Authorization: Bearer tsk_live_... A key is minted for one organization with only the scopes it needs, and can be revoked at any time.
Create and revoke keys under Organization settings, on the Integrations tab, under API keys. The API is included in the Business plan.
Open organization settingsScopes
A key carries a subset of these scopes; a request for an endpoint outside them is refused with 403.
- projects:read
- projects:write
- tasks:read
- tasks:write
- clients:read
- clients:write
- assets:read
- assets:write
- reviews:read
- webhooks:manage
Endpoints
| Method | Path | What it does | Scope |
|---|---|---|---|
| GET | /api/v1/me | The organization and scopes behind this key | projects:read |
| GET | /api/v1/openapi.json | This OpenAPI 3.1 document | No key needed |
| GET | /api/v1/projects | List projects | projects:read |
| POST | /api/v1/projects | Create a project | projects:write |
| GET | /api/v1/projects/{id} | Get a project | projects:read |
| GET | /api/v1/tasks | List tasks | tasks:read |
| POST | /api/v1/tasks | Create a task | tasks:write |
| GET | /api/v1/tasks/{id} | Get a task | tasks:read |
| PATCH | /api/v1/tasks/{id} | Update a task | tasks:write |
| POST | /api/v1/tasks/{id}/move | Move a task to a stage | tasks:write |
| GET | /api/v1/clients | List clients | clients:read |
| POST | /api/v1/clients | Create a client | clients:write |
| GET | /api/v1/clients/{id} | Get a client | clients:read |
| GET | /api/v1/assets | List assets | assets:read |
| GET | /api/v1/assets/{id} | Get an asset | assets:read |
| POST | /api/v1/assets/uploads | Initiate a direct upload | assets:write |
| GET | /api/v1/review-comments | List review comments on an asset | reviews:read |
| GET | /api/v1/webhooks | List webhooks | webhooks:manage |
| POST | /api/v1/webhooks | Create a webhook | webhooks:manage |
| GET | /api/v1/webhooks/{id} | Get a webhook | webhooks:manage |
| PATCH | /api/v1/webhooks/{id} | Update a webhook | webhooks:manage |
| DELETE | /api/v1/webhooks/{id} | Delete a webhook | webhooks:manage |
| GET | /api/v1/webhooks/{id}/deliveries | Delivery log of a webhook | webhooks:manage |
| POST | /api/v1/webhooks/{id}/deliveries/{deliveryId}/replay | Replay a delivery | webhooks:manage |
OpenAPI document
The same routes, request bodies and responses as machine-readable OpenAPI 3.1, generated from the validators the API runs, so it cannot drift from them.
Download openapi.jsonErrors and limits
An error answers with { error, errorCode, requestId, apiVersion }. A key may send 600 requests per minute; beyond that the answer is 429. Send X-API-Version to pin a version; a deprecated one is flagged in the Deprecation header.
Start without a card
Fourteen days, everything switched on. Open a workspace, tell the AI how you work, invite a client to approve.
A question? Write to us
We answer from the site itself when we can, and a person follows up if needed. No mailing list.