REST (OpenAPI)
The control plane Engineering API contract is hand-maintained in the repo as docs/api/openapi.yaml. The docs build copies this file into the site; a running control plane serves it at GET /api/v1/openapi.yaml.
File
- openapi.yaml (on this site)
- Live server:
http://127.0.0.1:8080/api/v1/openapi.yaml
Interactive browser
Open the API explorer — Scalar; loads openapi.yaml from the same origin.
Locally: npm run docs:dev then /api-explorer.html.
Common rules
| Topic | Behavior |
|---|---|
| Auth | Bearer session or API token (vion_at_*) |
| Error envelope | code, message, correlationId, details |
| Correlation | Response header x-correlation-id |
| Concurrency | expectedVersion on resource writes; conflict 409 |
| Setup | x-vion-setup-token (setup mode) |
OpenAPI has no tags (~63 paths / ~79 operations). For runtime live endpoints see Runtime HTTP.