Warm Pools
Warm pools — pre-warmed, identity-free, single-shot pods claimed per lane.
postConfigure Pool
Creates or replaces the warm pool for `lane`, warming pods from `environment_id`, which must be in `namespace`. `min_idle` must not exceed `max` when `max` is set. Returns Unimplemented when warm pools are disabled (no Redis configured). **Access:** operator or admin role in the namespace (via Xeonr team role or a namespace API key), or a platform admin.
postDelete Pool
Deletes a lane's pool configuration and drains its warm pods. Returns Unimplemented when warm pools are disabled (no Redis configured). **Access:** operator or admin role in the pool's namespace, or a platform admin.
postGet Pool State
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.
postList Pools
Lists configured pools (intent, not live state) in `namespace`. An empty `namespace` lists every pool 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.
postPublish Demand Signal
Records a leading-indicator demand boost for a lane, raising its warm target ahead of load. `weight` 0 counts as 1. Returns Unimplemented when warm pools are disabled (no Redis configured). **Access:** operator or admin role in the pool's namespace, or a platform admin.
Update Namespace POST
Updates a namespace's display name and default limits. Platform admins additionally set quotas, internal targets and image pull secrets (full replace — quotas are written as sent, 0 meaning unlimited) and may adopt or transfer ownership via `owner_team`. For everyone else those fields must be empty/zero or equal to the stored values, otherwise PermissionDenied. Re-reconciles the runner namespace afterwards. **Access:** admin role in the namespace (the owning team's admins, or an ADMIN-role namespace API key), or a platform admin. Other callers get NotFound.
Configure Pool POST
Creates or replaces the warm pool for `lane`, warming pods from `environment_id`, which must be in `namespace`. `min_idle` must not exceed `max` when `max` is set. Returns Unimplemented when warm pools are disabled (no Redis configured). **Access:** operator or admin role in the namespace (via Xeonr team role or a namespace API key), or a platform admin.