GET /v1/admin/admin-access-policy
Read the platform administration access allowlist
- operationId
getAdminAccessPolicy- 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
The contract has no separate permission annotation; see the description below and the 403 response.
Description (from the contract)
Requires system_configuration.read on the platform scope. current_ip is the client address the control plane resolved for this request.
Responses
getAdminAccessPolicy Responses| Status | Description |
|---|
200 | Current policy (revision 0 and disabled when never saved). Fields:revision: integer(int64) enabled: boolean allowlist: array<string> updated_at: string(date-time) current_ip: string |
|---|
401 | Authentication failed or the session is invalid. |
|---|
403 | The authenticated principal is not allowed to perform the action. |
|---|
What to do on failure
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.
↑ Back to list
PUT /v1/admin/admin-access-policy
Save the platform administration access allowlist
- operationId
updateAdminAccessPolicy- 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
The contract has no separate permission annotation; see the description below and the 403 response.
Description (from the contract)
Requires system_configuration.manage on the platform scope. When enabled, platform-scope sign-in, refresh and every platform-scope session request must come from an allowed address or CIDR prefix; loopback is always allowed; tenant sessions and API keys are not affected. A policy that would not allow the saving request's own address is refused (422 admin_access_self_lockout). Recovery when locked out: run `control-api admin-access-allowlist disable` as root on the control host. Requests refused by the policy get 403 admin_access_denied.
Request body
application/json · Required:Yes
updateAdminAccessPolicy Request body| Name | Type | Required | Description |
|---|
expected_revision | integer(int64) | Yes | — |
|---|
enabled | boolean | Yes | — |
|---|
allowlist | array<string> | Yes | — |
|---|
Responses
updateAdminAccessPolicy Responses| Status | Description |
|---|
200 | Saved. Fields:revision: integer(int64) enabled: boolean allowlist: array<string> updated_at: string(date-time) current_ip: string |
|---|
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. |
|---|
409 | The requested state conflicts with an existing resource or idempotency fact. |
|---|
422 | admin_access_self_lockout. |
|---|
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.409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.
↑ Back to list