REST API
GET/projects/{projectId}/tasksAPI v1

Project tasks get

3 min readProjects

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.

Http
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

Bash
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.

Json
{ "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.