Overview
useUpdateWorkspaceMember returns a callable that edits a direct member of a workspace.
Authorization: capability-gated + rank-bounded, in two tiers by field sensitivity:
- Powerful fields (
capabilities,permissions, and rank — as eitherrankorrelativeRank) requireedit-member-access, plus the rank rule and the no-escalation guard. - Cosmetic fields (
title,metadata) require onlyedit-member-profile. A member editing their owntitleneeds no capability at all.
rank (absolute) or relativeRank (an offset from you), never both. Omitting both means rank unchanged: unlike the invite hook there is no value default here, so editing someone’s capabilities never quietly moves them on the ladder. See choosing a rank.
Usage Example
Parameters
string
required
The workspace UUID.
string
required
The target member’s user id — a path param, not an acting user.
WorkspaceCapability[]
New capability set (powerful —
edit-member-access).string[]
New opaque permission set (powerful —
edit-member-access).number
New absolute rank,
0 – 2147483647 (powerful — edit-member-access + rank rules). Mutually exclusive with relativeRank; omitting both leaves rank unchanged.number
New rank as an offset from you:
1 = one rung below me. Must be 1 – 2147483647. Anchored on your own rank if you hold a member row on this workspace, apex otherwise. Resolved to an absolute number at write time and frozen — a snapshot, not a link to your rank. The resolved value is bounded too, so an offset that overflows once anchored is a 400. No default: omitting both rank fields leaves rank unchanged.string | null
New cosmetic title (
edit-member-profile, or self for your own title).Record<string, any>
New cosmetic metadata (
edit-member-profile).
