Overview
useFetchWorkspaceAuthority returns a callable that resolves the signed-in user’s standing on a workspace: { reasons, capabilities, permissions, rank }. Use it to drive UI (show/hide buttons) — a permission check is a one-line .includes() on the result. Sublay never consumes your opaque permissions.
Not visibility-gated.
GET /workspaces/:id/authority/me requires a signed-in user and nothing more. It returns 404 only when the workspace does not exist — a signed-in user with no relation to an existing workspace gets 200 with reasons: [] and empty capabilities / permissions, which is exactly the answer a UI gate wants. The trade-off is that the route confirms a workspace exists to any signed-in caller.Its sibling, useFetchWorkspaceMemberStanding, is visibility-gated and 404s on a workspace the caller cannot see, so it never leaks existence. Do not assume the two behave alike.Usage Example
Parameters
string
required
The workspace UUID.
Returns
WorkspaceAuthority:
WorkspaceAuthorityReasonDetail:
view is implied by every other capability. Any user with standing resolves with view in capabilities, including a member whose stored capabilities array is empty. A user with no relation at all resolves to reasons: [] and an empty capability set — so capabilities.includes("view") is a reliable “does this user have any standing here” check.capabilities / permissions / rank are never fenced here.

