GET /v1/admin/tenant-scopes
List tenant scope targets for platform administration
- operationId
listTenantScopes- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
All of:identity.users.manage
Description (from the contract)
Returns a small read-only tenant directory for platform identities. Requires identity.users.manage (or platform.admin) in a platform scope. Billing and other tenant data are intentionally excluded; suspended and closed tenants remain visible with their status.
Parameters
listTenantScopes Parameters| Name | In | Type | Required | Description |
|---|
page | query | integer | No | — |
|---|
limit | query | integer | No | — |
|---|
search | query | string | No | Case-insensitive substring matched against tenant name, stable short tenant ID, tenant UUID, and scope UUID. |
|---|
parent | query | string | No | Reseller filter: "none" = platform customers only; a reseller scope UUID (canonical lower case) = its customers; omitted = all. |
|---|
Responses
listTenantScopes Responses| Status | Description |
|---|
200 | Stable tenant scope page ordered newest first. Fields:items: array<TenantScope> page: integer limit: integer total: integer(int64) |
|---|
400 | The request body or parameters are invalid. |
|---|
401 | Authentication failed or the session is invalid. |
|---|
403 | The authenticated principal is not allowed to perform the action. |
|---|
500 | The request could not be completed because of an internal failure. |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.500 Outcome unknown: read back by ID or list first, then decide whether to retry with the original Idempotency-Key.
↑ Back to list
PUT /v1/admin/tenant-scopes/{scope_id}/parent
Put a tenant under a reseller, or back to the platform
- operationId
setTenantParent- Auth
- Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
- Required permissions
All of:identity.users.manage
Description (from the contract)
parent_scope_id null makes the tenant a platform customer again. The parent must be an active reseller, not the tenant itself; a reseller cannot have a parent (one level); a reseller at its customer_limit refuses new customers. Existing subscriptions are kept until they expire. Requires identity.users.manage in the platform scope.
Parameters
setTenantParent Parameters| Name | In | Type | Required | Description |
|---|
scope_id | path | string(uuid) | Yes | — |
|---|
Request body
application/json · Required:Yes
setTenantParent Request body| Name | Type | Required | Description |
|---|
parent_scope_id | string(uuid) | null(uuid) | Yes | — |
|---|
Responses
setTenantParent Responses| Status | Description |
|---|
200 | The tenant's reseller. Fields:tenant_scope_id: string(uuid) parent_scope_id: string(uuid) | null(uuid) |
|---|
400 | The request body or parameters are invalid. |
|---|
401 | Authentication failed or the session is invalid. |
|---|
403 | The authenticated principal is not allowed to perform the action. |
|---|
404 | The requested resource was not found. |
|---|
422 | The request is well formed but breaks a business rule (error.code names it). |
|---|
500 | The request could not be completed because of an internal failure. |
|---|
What to do on failure
400 Fix the parameters or body per the field list; do not retry unchanged.401 Check the credential format and whether it expired or was rotated.403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404 The resource does not exist or belongs to another tenant.500 Outcome unknown: read back by ID or list first, then decide whether to retry with the original Idempotency-Key.
↑ Back to list