GET/api/v1/projects
List the org's projects
Ordered by name unless sort says otherwise. To poll for changes, pass updated_after with the newest updated_at you have seen and sort=-updated_at (or updated_at). A deleted project leaves the list.
Scopes: projects:read
Parameters
limitquery · integerPage size, default 50. Values above 100 are treated as 100.
cursorquery · stringnext_cursor from the previous page, with the other parameters unchanged.
parent_idquery · string (uuid)Only the direct children of this project.
updated_afterquery · string (date-time)Only projects changed strictly after this instant (ISO 8601 with offset), compared to the millisecond — poll with the newest
updated_atyou have seen (that project does not come back), sorted-updated_atorupdated_at.sortquery · "name" | "-name" | "updated_at" | "-updated_at"Sort key; a leading
-is descending. Defaultname. Ties break on id.
Response 200ProjectList
dataarray of Projectrequiredidstring (uuid)requirednamestringrequireddescriptionstring or nullrequiredparent_idstring (uuid) or nullrequiredvisibilitystringrequiredopen | closed | private
project_typeobject or nullrequiredThe project's type (the org's project types: production, season, campaign…), or null if untyped.
idstring (uuid)requirednamestringrequired
created_atstring (date-time)requiredupdated_atstring (date-time)requiredWhen its name, description or type last changed.
next_cursorstring or nullrequiredPass as
cursorto get the next page; null means this is the last page.
Other responses
- 401 unauthenticated — no key, or an unknown, revoked or expired one.
- 403 insufficient-scope — the key lacks a required scope.
- 404 not-found.
- 422 validation — a bad
limit,parent_id,updated_after,sortorcursor. - 429 rate-limited — the key's request budget is spent; wait Retry-After seconds.
- 500 internal.