Organizations are hierarchy nodes used for delegated access, merchant grouping, and settings inheritance. A merchant can belong to one organization node, and settings policies attached to an organization constrain every descendant scope below it.
External API keys can access organizations within the authenticated merchant's organization subtree.
Organizations and their memberships are shared across test and live mode. Creating, updating, or deleting organizations, changing memberships, and transferring ownership require live mode. The accounts.organizations.write scope is available only on live keys.
For signup requests containing the exact starter-scope bundle used by older CLI versions, Flint issues a sandbox key without organization write access and returns a BOOTSTRAP_SCOPES_REDUCED warning in meta.warnings. Other explicit requests for this scope on test keys are rejected. Existing test keys with this scope are rejected; replace them with test keys that omit it, or use a live key for organization changes.
Root organization creation is reserved for Flint-managed setup; public callers create child organizations by providing a parent_organization_id. Each organization carries direct user memberships with owner, admin, operator, or viewer roles and supports ownership transfer. Deletion is rejected while the organization still has active descendant organizations or is linked to an active merchant; after deletion the organization's status is deleted.
Organization-scoped settings policies are managed through the settings API with scope=organization.
