GET /v1/admin/maintenance-upgrade-status
Read authoritative maintenance upgrade status
Description (from the contract)
Requires a platform identity with control.upgrades.read. Repeated node_id parameters additionally require nodes.read. Membership and permissions are checked against current database state. Duplicate IDs, noncanonical UUIDs, more than 100 IDs and unknown query parameters are rejected. Nodes are sorted by ID and missing or foreign-scope nodes return 404. The main version comes from the running Control API build, never rollout history or configured version. Candidate metadata is verified against installation-bound signatures, current entitlement and release policy; it does not authorize execution. No grants, plans, reservations or audit records are written by this request.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
node_id | query | array<string(uuid)> | No | Optional inventory batch; requires nodes.read. |
Responses
| Status | Description |
|---|---|
200 | Fresh read-only status; unavailable dependencies are explicit states. Fields: |
400 | Invalid query or node IDs. |
401 | Authentication required. |
403 | Platform scope or current permissions denied. |
404 | A requested node is not visible in this scope. |
503 | Required local runtime is unavailable. |
What to do on failure
400Fix the parameters or body per the field list; do not retry unchanged.401Check the credential format and whether it expired or was rotated.403Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.404The resource does not exist or belongs to another tenant.503A dependency is unavailable: retry later with the original Idempotency-Key.