GET /projects/{projectId}/tasks
Get all tasks for a project
Base URL: https://www.taskade.com/api/v1
Authentication
Send a personal access token or an OAuth 2.0 access token as a bearer token. Create a personal access token at taskade.com/settings/api.
Authorization: Bearer tskdp_your_token_here
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
limit |
query | number |
No | — |
after |
query | string |
No | Parameter for cursor-based pagination. Specify task ID to get tasks after it. Do not specify both before and after. |
before |
query | string |
No | Parameter for cursor-based pagination. Specify task ID to get tasks before it. Do not specify both before and after. |
projectId |
path | string |
Yes | — |
Example request
curl -X GET "https://www.taskade.com/api/v1/projects/<projectId>/tasks" \
-H "Authorization: Bearer $TASKADE_TOKEN"
Responses
200 — Tasks
| Field | Type | Required | Description |
|---|---|---|---|
ok |
boolean |
Yes | — |
items |
Task[] |
Yes | — |
hasMore |
boolean |
Yes | Whether more tasks exist after this page. Pass nextCursor as after to fetch them. |
nextCursor |
string |
Yes | Task ID to pass as the after cursor to fetch the next page, or null if this is the last page. |
4XX — Error description
| Field | Type | Required | Description |
|---|---|---|---|
ok |
boolean |
Yes | — |
message |
string |
Yes | — |
code |
string |
Yes | — |
statusMessage |
string |
Yes | — |
Errors
Errors return an ok: false envelope. Rate limiting returns 429 with x-rate-limit-limit, x-rate-limit-remaining and x-rate-limit-reset headers — x-rate-limit-reset is the number of seconds until the window reopens. Retry-After is not sent, so schedule retries from x-rate-limit-reset; retrying sooner will fail again.
{ "ok": false, "message": "Unauthorized", "code": "UNAUTHORIZED" }
Rate limits for this version: enforced per endpoint; ceilings are not published and can change without notice. A 429 response carries x-rate-limit-limit, x-rate-limit-remaining, and x-rate-limit-reset (seconds until the window reopens) — back off from those headers rather than hardcoding numbers. Bundle import/export runs under tighter limits than regular reads and writes, so schedule bulk transfers accordingly. See Rate limits.