Members & Invitations
Membership management. These are owner operations over a user session (JWT); room API tokens cannot manage members.
List members
Section titled “List members”GET /api/rooms/:roomId/membersAuthorization: Bearer <jwt>[ { "userId": "auth0|123456", "email": "owner@example.com", "role": "owner", "addedAt": 1700000000000 }, { "userId": "auth0|789012", "email": "editor@example.com", "role": "editor", "addedBy": "auth0|123456" }]Readable by any room member.
Invite a member
Section titled “Invite a member”POST /api/rooms/:roomId/invite — ownerContent-Type: application/json{ "email": "newuser@example.com", "role": "editor" }Valid roles: editor, viewer. If the user already exists they’re added immediately; otherwise a
pending invitation is created and auto-accepted the next time they sign in.
Remove a member
Section titled “Remove a member”DELETE /api/rooms/:roomId/members/:userId — ownerRemoves the member and drops the room from their list. The owner cannot be removed.
Pending invitations
Section titled “Pending invitations”GET /api/rooms/:roomId/pending-invitationsDELETE /api/rooms/:roomId/pending-invitations/:emailGET /api/users/pending-invitations # invitations addressed to the current userPOST /api/rooms/:roomId/accept-invitationUse these to list and rescind a room’s outstanding invitations, and for an invitee to see and accept invitations addressed to them.

