Accepts the proven address's recent PENDING invites for the user (see
decideMembership), keeping a live row's status. customerIds limits it
to those customers' invites; a sign-in passes none and takes them all.
An operator's removal: the row is soft-deleted. No rank rule applies, but
the last ACTIVE holder of the top role cannot be removed (LAST_OWNER).
removed is false when the row was already removed (a concurrent removal, or
a retry); the removal is published either way.
With a caller's tx nothing is published: the caller publishes after its commit.
OptionalcustomerIds?: string[]Optionalemails?: string[]Matched case-insensitively.
OptionalincludeDeleted?: booleanOptionalpage?: numberDefaults to 1
OptionalpageSize?: numberDefaults to 100
Optionalstatuses?: ("ACTIVE" | "DELETED" | "DISABLED")[]OptionaluserIds?: string[]OptionalworkspaceIds?: string[]Dashboard users across every customer, newest first with membership-less users last, each with their live memberships: whoever has joined or been synced, with or without one now.
Optionalids?: string[]Optionalpage?: numberDefaults to 1
OptionalpageSize?: numberDefaults to 50
Optionalquery?: stringCase-insensitive substring of the email, the full name or the id.
Optionalstandings?: ("ACTIVE" | "DISABLED" | "NONE")[]An operator's role change, enable or disable. A role must be in the customer's
current set; only confirmed CFX staff hold its internal role. No rank rule
applies, but the last ACTIVE holder of the top role cannot be moved off it
or disabled (LAST_OWNER). changed is false when nothing differed; the requested move is published either way.
Nothing is recorded in the workspace's own feed, as for an operator's role
change: the caller keeps the admin activity log.
With a caller's tx nothing is published: the caller publishes after its commit.
Customer dashboard memberships across every customer, for callers with no dashboard user: CFX operators, and a sign-in accepting its invites.