Skip to main content
An organization is the top-level tenant. Memberships connect global user identities to organizations, and each active session selects one organization and role.

Organization fields

string
required
Display name, 2–100 characters through the API validator.
string
required
Unique lowercase identifier containing letters, numbers, and hyphens.
free | pro | proplus
required
Current entitlement tier.
string
Organization logo used by supported console, widget, and QR surfaces.
boolean
required
Whether the tenant is active.
Billing state includes subscription status, trial state, cancel-at-period-end, and a billing email. White-label behavior is controlled separately and may be entitlement-gated.

Switching organizations

1

List memberships

After authentication, the console loads the organizations the user belongs to.
2

Select an organization

Calling /organizations/:orgId/switch verifies membership and issues fresh tokens with the selected organization and role context.
3

Resolve every protected request

Gateway middleware loads the active organization before role, usage, or entitlement checks.
An organization ID supplied in a URL or request body is not sufficient authorization. Protected services must compare it with the organization resolved from the authenticated membership.

Deletion

Only an owner can delete an organization. Deletion affects child assets and is not an ordinary settings change. Export required data, confirm backups, revoke public widget/channel entry points, and communicate the retention outcome before proceeding.
Last modified on July 17, 2026