Skip to main content
Version: 2021-07-28
Version: v3

Projects API

Project Management public API under /projects/* for location-scoped OAuth apps, Private Integration Tokens (PIT), and APP channel callers.

Use it to manage the hierarchy (spaces → folders → lists), tasks and list membership, comments, space statuses, and recurring tasks.

Version: send Version: v3 on every request. Spec info.version is v3.

Auth channels: OAUTH and APP. OAuth/PIT use the location on the token. APP callers must pass query locationId (required for APP); IAM verifies the user may access that location. Do not send locationId in path, body, or headers.

Tenant isolation: location is bound on the request from the token (OAuth/PIT) or APP query locationId. Resource ids must belong to that location.

Creates return 200 with the created resource. Deletes remove the resource from subsequent reads.

Rate limits: a 429 means back off and retry.

Scopes: projects/workspace.*, projects/tasks.*, projects/tasks.recurring.*, projects/tasks.comments.*.

Spec consumers / SDK generators: prefer the OpenAPI JSON or markdown export over the interactive docs page — the raw spec includes error reason discriminators (e.g. graph_scope_invalid: too_many_ids | non_list_type | duplicate_graph_scope) and per-status response descriptions that the UI dropdown omits.

Pagination (three styles, on purpose): children (folders and lists) use limit + an opaque base64 cursor. Task list and search use limit + opaque base64url searchAfter (pass the response searchAfter back verbatim). Comments and users use skip + limit (skip must be a multiple of limit). Caps: 100 on children and tasks, 50 on users. total is returned by task search and comments, not by children. Get All Spaces and Get Lists For A Task are not paged.

Ids: responses use id only (not _id).

Authentication​

Use the Access Token generated with user type as Sub-Account (OR) Private Integration Token of Sub-Account.

Security Scheme Type:

http

HTTP Authorization Scheme:

bearer

Bearer format:

JWT