GET/api/v1/collections
List the org's collections
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); updated_at moves when the name, description or constraints change, not when items do. A deleted collection leaves the list. For an OAuth token, the collections filed in a project its person can open.
Scopes: collections:read
Parameters
project_idquery · string (uuid)Only collections filed in this project (GET /api/v1/projects). Not its sub-projects.
parent_idquery · string (uuid)Only the collections nested directly in this one.
root_onlyquery · "true" | "false"true: only collections not nested in another. Default false.qquery · stringCase-insensitive substring of the collection's name. Characters are matched literally.
updated_afterquery · string (date-time)Only collections changed strictly after this instant (ISO 8601 with offset), compared to the millisecond — poll with the newest
updated_atyou have seen (that collection 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.limitquery · integerPage size, default 50. Values above 100 are treated as 100.
cursorquery · stringnext_cursor from the previous page, with the other parameters unchanged.
Response 200CollectionList
dataarray of Collectionrequiredidstring (uuid)requirednamestringrequireddescriptionstring or nullrequiredprojectProjectRef or nullrequiredThe project the collection is filed in — its permission parent: who may open the project may open the collection. Null only for an OAuth token whose person owns the collection but cannot open its project.
idstring (uuid)requirednamestringrequired
parent_idstring (uuid) or nullrequiredThe collection this one is nested in (GET /collections/{id}/children lists a parent's children), or null for a top-level collection.
status"draft" | "published"requireddraftuntil published to consumers. Publishing and archiving are done in the app.allowed_type_idsarray of string (uuid) or nullrequiredWhen set, only assets of these asset types (GET /api/v1/asset-types) may be added. Null or empty: any type.
allowed_category_idsarray of string (uuid) or nullrequiredWhen set, only assets assigned at least one of these org categories may be added. Null or empty: any.
item_countintegerrequiredHow many items the collection holds (GET /collections/{id}/items lists them).
created_atstring (date-time)requiredupdated_atstring (date-time)requiredWhen its name, description or constraints last changed. Adding, removing or reordering items does not move it (the ETag moves instead).
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,project_id,parent_id,root_only,updated_after,sortorcursor. - 429 rate-limited — the key's request budget is spent; wait Retry-After seconds.
- 500 internal.