List ACL entries on a collection
GET /collections/{id}/acls
Returns every ACL row attached to this collection. ACLs are additive grants on top of the collection’s visibility + collection_grant rows.
Requires WRITE access to the collection — owner,
collections.admin or system.admin — not merely read access
(#933). Who else was granted what, by whom, and until when is
management information about the collection rather than part of
its content, so the grant disjunct that the row-visibility
predicate carries is deliberately dropped here (#661).
A public collection is no exception, and that is the #933
change. visibility: public says the collection’s CONTENTS are
public; it says nothing about who the owner individually shared
it with. Admitting every authenticated caller to the grant list
disclosed each grantee’s principal and permission level to
anyone with an account and no connection to the collection.
This is now the same rule listPostAcls applies (#876). The
two surfaces no longer diverge.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Responses
Section titled “ Responses ”ACL entries
object
BIGINT user.ref for principal_type=user; UUID for role/team. Stored as text so the polymorphic column fits all three.
Time-boxed grant. NULL = permanent. The handler-side check ignores rows whose expires_at < NOW().
Authentication 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 completed