Skip to content

What happens when…

The consequences of leaving, erasure, deletion, transfers and role changes in an organization, plus the limits and the errors to expect.

What happens when…

EventAccessDocuments and data
A member leaves or is removedEnds at the next request. They leave their teamsDocuments they created stay with the organization. The last manager can’t leave: 409 last_org_manager
A member is erasedMemberships, team memberships and bound invitations are removedDocuments stay, owner cleared (or erased, with in_org: apply). An organization left without a manager becomes orphaned
The last manager is erasedThe organization has nobody to manage itorphaned: a realm administrator assigns an owner (backd orgs assign-owner). The startup log and the erase report name it
An organization is deletedEnds at once for everybody; the slug is freeEach collection’s on_org_delete applies in a resumable job: delete removes the documents and queues their files, keep leaves them readable only by administrators
A document is transferredThe new organization’s members see it, the old one’s don’t, at onceOnly realm administrators transfer (_transfer); its _meta.org is the only change
require_mfa is turned onSessions without a second factor stop counting as members there; its routes answer 403 org_requires_mfaNothing changes. The manager’s own session needs a second factor, or they would lock themselves out
A role is removed from a teamMembers lose it at the next request, unless they hold it directly or through another teamThe members list shows what remains. A team can’t lose its last managing role if that leaves nobody who can manage
A role is no longer declared in realm.yamlThe stored grants stay, and grant nothing; startup logs themDeclare the role again to restore it, or give another one
A member’s roles changeAt the next request: there is no cacheNothing
An invitation is revoked or its link reissuedThe old token is invalid at oncePeople who already accepted keep their membership

See also teams or direct roles for why the same role should be given one way.

Limits

LimitDefaultSetting
Organizations a user may create (deleted ones count)5max_created_per_user
Organizations a user may belong to100 (the most)max_memberships_per_user
Teams per organization100max_teams_per_org
Teams per member20max_teams_per_member
Pending invitations per organization500max_pending_invitations
Claims of an organization1 KiBnot configurable
Lifetime of an open invitation link30 days at mostexpires_in
Sluglowercase letters, digits and -, 63 characters

Realm administrators and functions are not bound by max_created_per_user.

Errors

Status and codeWhenWhat to do
400 org_requiredcreate in a collection with organization: required without ?org=send the organization (inOrg(id) in the client)
400 org_not_allowed?org= on a collection with organization: noneremove it
400 immutable_fieldPUT or PATCH changes _meta.orgdon’t; transfers are for administrators
400 invalid_invitationunknown, expired, revoked or used tokenask for a new invitation
403 not_org_membernot a member, or the organization doesn’t exist (the same answer)check the id; join first
403 org_requires_mfathe organization requires a second factor and the session has nonestart the enrollment
403 org_role_requires_mfathe action needs a role that requires a second factor; details names itstart the enrollment, or sign in again with a second factor
403 invitation_not_for_youthe invitation is bound to another user or addresssign in with the invited account
403 forbiddenthe caller’s roles don’t allow the changeask a manager with the role
409 last_org_managerthe change leaves nobody who can managegive manage: org to someone else first
409 slug_takenthe slug belongs to a live organizationchoose another
409 org_limit_reachedthe user created the most organizations they maydelete one or raise the cap
409 team_limit_reached, 409 team_name_takenteam caps and duplicate names
409 invitations_limittoo many pending invitationsrevoke old ones
409 org_not_activethe organization is deletedadministrators can reactivate it

In the JavaScript client the second factor, non-member and last-manager cases are OrgRequiresMFAError, NotOrgMemberError and LastOrgManagerError.

Edit this page · Last updated 15 Oct 2026