GET/api/v1/delivery-requirements
List the org's delivery requirements
Standing demands: content in a project's subtree must meet a pinned spec profile, for a client, delivered to a target. Poll with updated_after (exclusive, millisecond). For an OAuth token, its person needs the read-delivery permission (no platform-admin bypass); a key reads the whole org. 404 when the org does not have delivery, and for an OAuth token whose person may not read it.
Scopes: delivery:read
Parameters
project_idquery · string (uuid)Only the requirements bound to this project (not its ancestors' or descendants').
statusquery · "active" | "fulfilled" | "cancelled"Only requirements with this status.
updated_afterquery · string (date-time)Only requirements changed strictly after this instant (ISO 8601 with offset), compared to the millisecond.
sortquery · "-updated_at" | "updated_at" | "created_at"Sort key; a leading
-is descending. Default-updated_at. 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 200DeliveryRequirementList
dataarray of DeliveryRequirementrequiredIn the requested sort (default
-updated_at), ties broken by id.idstring (uuid)requiredprojectobjectrequiredThe project the requirement covers, with every sub-project under it.
idstring (uuid)requirednamestringrequired
clientstring or nullrequiredWho the content is owed to; null for an internal demand (a house standard).
targetobject or nullrequiredThe delivery target the obligation is delivered to (GET /api/v1/delivery-targets); null for an internal demand or when the target is gone.
idstring (uuid)requirednamestringrequired
spec_profileSpecProfileRef or nullrequiredThe spec revision the content must meet, pinned when the requirement was made.
idstring (uuid)requirednamestringrequiredrevisionintegerrequiredThe spec's revision: a published spec changes only by a new revision, which supersedes this one.
status"active" | "fulfilled" | "cancelled"requiredactive— in force (readiness and the spec gate apply it);fulfilled;cancelled.created_atstring (date-time)requiredupdated_atstring (date-time)required
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 filter,
sort,limitorcursor(errors[].pathnames it). - 429 rate-limited — the key's request budget is spent; wait Retry-After seconds.
- 500 internal.