Transferring organization ownership
Transfer ownership of a Cloud Control organization to another member. Owner-only, MFA-gated on the target, non-destructive to the previous owner's role, and audited.
Ownership is the highest authority in an organization — it carries billing and transfer powers on top of Org Admin. Transferring it is deliberately guarded.
Who can transfer, and to whom
- Only the current owner (or a platform admin) can initiate a transfer.
- The target must be an existing member of the same organization.
- The target must have MFA enrolled — ownership is the maximum blast radius, so the bar is enrollment, not intent.
Perform the transfer
Call `POST /api/org/transfer-ownership` with { toUserId }. On success the owner badge moves to the target; if the target's role was lower, it is raised to Org Admin (ownership never downgrades). The previous owner keeps their role — they simply lose the owner badge and its billing/transfer capability. The action is audited as org.ownership_transferred.
Ownership transfer cannot be performed with an API token — tokens never carry owner powers. A transfer that targets a non-MFA member is rejected with a 400 that says exactly why: the new owner must enable MFA first.
Failure cases
| Situation | Result |
|---|---|
| Caller is not the owner | 403 |
| Target is not in your organization | 404 |
| Target already owns the organization | 400 |
| Target has not enrolled MFA | 400 (explains the requirement) |