| Method | Path | Summary | Auth |
|---|---|---|---|
| GET | /v1/tenant/member-invitations | List the caller's tenant member invitations (pending ones past expiry read expired) | Session |
| POST | /v1/tenant/member-invitations | Email a one-time invitation link (72 hours) to become a read-only sub-account | Session |
| POST | /v1/tenant/member-invitations/{invitation_id}/revoke | Withdraw a pending invitation | Session |
| GET | /v1/tenant/members | List the members of the caller's tenant scope | Session |
| POST | /v1/tenant/members | Add a sub-account to the caller's tenant scope (tenant_viewer role; grant more with /v1/custom-rbac) | Session |
| DELETE | /v1/tenant/members/{user_id} | Delete a sub-account of the caller's tenant scope | Session |
| PUT | /v1/tenant/members/{user_id}/password-change | Require (or withdraw) a password change at the member's next sign-in | Session |
| POST | /v1/tenant/members/{user_id}/password-reset | Give a sub-account a generated password, returned once (revokes its sessions) | Session |
| POST | /v1/tenant/members/{user_id}/resume | Resume a suspended member | Session |
| POST | /v1/tenant/members/{user_id}/suspend | Suspend a member (revokes its sessions; its sites stop serving, see account_suspension) | Session |
Contract file:api/openapi/v1/control.yaml