Partial update of a collection
PATCH /collections/{id}
Only fields present in the body are touched. Pass
expires_at: null to remove the TTL; omit the field to keep
the current value.
Optimistic concurrency: pass the collection’s
last-known updated_at as if_unchanged_since; 409 if
the row has been edited since.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Request Body required
Section titled “Request Body required ”Partial update; only present fields are touched. Pass
expires_at: null to clear the TTL.
object
Optimistic-concurrency guard. When set, the
server returns 409 EditConflict if the collection’s
updated_at has advanced past this value. Omit to
opt out of the check (legacy behaviour).
Responses
Section titled “ Responses ”Updated
A user-owned collection of assets, per ADR 0009. UUID-keyed,
federation-prepared (origin_server_id), with three
orthogonal axes: visibility, membership, and lifecycle.
object
manual only for 1.11.A. query and hybrid ship in
1.11.B once the search DSL (ADR 0010) lands.
TTL. Null = permanent.
Free-form admin-set hint (“for_review”, “for_proofing”, …).
Replaces RS’s single-purpose archived flag.
Federation home server. Null = local. Populated when collections sync in from a peer in a later phase.
Soft-delete timestamp. Non-null only on rows surfaced by
the admin include_deleted=true listing (the trash view);
null on live rows.
Optional reason captured at soft-delete time.
Malformed request
object
Human-readable error summary
Example
the request could not be completedAuthentication required, missing, or invalid
object
Human-readable error summary
Example
the request could not be completedExample
{ "error": "authentication required: sign in and retry with a valid session or API token"}Authenticated but missing required capabilities
object
Human-readable error summary
Example
the request could not be completedResource not found
object
Human-readable error summary
Example
the request could not be completedEdited by someone else after if_unchanged_since.
Returned with HTTP 409 when an optimistic-concurrency check
fails. Carries the row’s current updated_at so the
client can decide whether to reload + retry or surface a
diff UI.
object
Human-readable summary (e.g. “asset was edited by someone else”).
The current updated_at on the row (server-authoritative).