Xeonr Developer Docs
API SpecificationWarm Pools

Get Pool State

POST
/containers.api.v1.PoolService/GetPoolState

Returns live warm-pool telemetry: cumulative counters, per-lane idle/busy/target gauges and the pod-create latency EWMA. With namespace set, lanes are limited to that namespace's pools; empty returns every lane and requires a platform admin. Returns Unimplemented when warm pools are disabled (no Redis configured).

Access: any role in the namespace (viewer, operator or admin — via Xeonr team membership or a namespace API key), or a platform admin.

Authorization

BearerAuth
AuthorizationBearer <token>

A namespace-scoped API key (cpk_…) for machines, or a Xeonr Auth OIDC token for humans. The key's namespace and role are pinned server-side.

In: header

Header Parameters

Connect-Protocol-Version?number

Define the version of the Connect protocol

Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/json

namespace?string

optional filter; admin may omit for all

Lengthlength <= 64
[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://containers.xeonr.io/containers.api.v1.PoolService/GetPoolState" \  -H "Connect-Protocol-Version: 1" \  -H "Connect-Timeout-Ms: 1000" \  -H "Content-Type: application/json" \  -d '{}'
{
  "enabled": true,
  "podsCreated": "string",
  "podsDeleted": "string",
  "createErrors": "string",
  "claimsTotal": "string",
  "spillsTotal": "string",
  "attachErrors": "string",
  "lanes": [
    {
      "lane": "string",
      "idle": 0,
      "busy": 0,
      "target": 0
    }
  ],
  "createLatencyEwmaSec": 0.1
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}