Multi-Tenancy (Organizations)

How It Works

Invitation Flow

1. Owner enters an email in /org/settings > Invitations
2. Backend creates an invitation record and sends an email with a link
3. Invitee clicks the link → /invite?token=xxx
4. Not logged in → redirect to login/signup → back to invite page
5. Verify email matches → join organization
6. Create member credit limit record
7. Invitation status updated to accepted

Invitation links expire after 7 days. Existing members cannot be invited again.

Member Management

Owners can manage members at /org/settings?tab=members:

Member Credit Limits

FieldDescription
credit_limitCredit cap, -1 = unlimited
used_creditsCredits used

User Deletion Cleanup

Deleting a user automatically:

  1. Deletes all invitations sent by the user
  2. Deletes the user’s credit limit records
  3. Removes membership from all organizations
  4. Deletes all organizations owned by the user (including their members and invitations)

Frontend Pages

PageDescriptionPermission
/org/settingsOrg settings (Settings tab)All members can view, Owner can edit
/org/settings?tab=membersMember managementOwner only
/org/settings?tab=invitationsInvitation managementOwner only
/invite?token=xxxAccept invitationRequires login