The BuildingSwell app calls this Users. The API calls it
organization-member. This page uses the API name so it matches the requests you
write.appUser object.
Search columns: appUser.name, appUser.email
Requires admin access, or the
User.Read and User.Update permissions.Fields
Every property the API returns for a user.Invite a user
POST /organization-member replaces the standard create. You send an email
address, not a user id:
name as well to set the display name on a brand-new account.
If no account exists for that email, one is created. Either way an invitation goes
out and appUser.status stays pending until the person accepts.
Resend it if the first one was missed:
Update a membership
PATCH /organization-member/{id} accepts name, roleId, roleType, and
workerId. Pass workerId: null to unlink the person record.
name updates the display name on the linked user account, so one request is
enough to correct a member’s name:
appUser.name, since that is where it lives.
Deactivate instead of deleting
Deactivating takes away access but keeps the membership and its history, and it reverses cleanly:204 with no body. Reach for these rather than
DELETE /organization-member/{id}.
Two status fields
status is the membership: whether the person can use your organization.
appUser.status is the account: whether they have accepted their invite and
verified their email. A pending account with an active membership is someone
who was invited and has not signed in yet.
What you can write
Everything else in the table above is set by BuildingSwell.name and workerId are not membership columns: name is written to the linked
user account and read back as appUser.name, and workerId links the
person record. Neither appears on the membership itself.
email is set once, on the invite, and cannot be changed afterwards.