Service
What this install is: whether it is up, which backends it can score against, and which optimizers it can run.
Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /health | Liveness. Unauthenticated. |
| GET | /backends | List all registered backends. |
| GET | /backends/{backend_id}/health | Whether a launch against this backend would be admitted. |
| GET | /optimizers | The optimizers this install can run. |
| GET | /optimizers/{name}/knobs | Every knob the manifest’s nodes take, each with its type, options, bounds and declared value. |
| GET | /optimizer-pipeline | One optimizer manifest: its topology plus the per-node config surface, read-only. |
| GET | /machine-status | Machine occupancy: how many campaigns may run here and how many do. |
GET /health
curl http://127.0.0.1:8001/api/v1/healthNeeds no session. status is healthy. The fields:
- status
- service
- timestamp
- version
Backends
/backends answers an array. Each entry:
- id
- name
- backend_type
- base_url
- created_at
/backends/{backend_id}/health answers the fields
below. status is live, unreachable
or error, and detail is the refusal a launch
would get when it is not live.
- backend_id
- base_url
- status
- checked_at
- detail
A backend is registered with the register-backend command.
Backend integration ↗
Optimizers
/optimizers answers default and
optimizers, the list a campaign’s
optimization.optimizer accepts.
Response headers
Every /api/v1 response is sent with
cache-control: no-store,
X-Content-Type-Options: nosniff,
X-Frame-Options: DENY and a
default-src 'none' content security policy, plus HSTS on
https.