OpenAPI Specifications
The SOAT REST API is fully documented using OpenAPI 3.x specifications. They are
the source of truth for the TypeScript SDK, the
soat CLI and the MCP tool surface, and they
are published here for any OpenAPI-compatible tool — Postman, Swagger UI, code
generators, AI agents.
Merged bundle
Every module in one document, with all $refs resolved inside the bundle:
| Document | URL |
|---|---|
| OpenAPI (JSON) | /openapi.json |
| OpenAPI (YAML) | /openapi.yaml |
OpenAPI (YAML, /api path) | /api/openapi.yaml |
| Error-code catalog (JSON) | /errors.json |
The bundle's servers entry is a baseUrl variable: SOAT is self-hosted, so
point it at your own deployment. A running deployment serves the same merged
document at /api/v1/openapi.json (authenticated).
Errors are documented twice over, for machines: the ErrorResponse schema
describes the envelope, and the x-error-codes extension — the same data as
/errors.json — lists every code with its HTTP status and
meaning. See Error Responses for the contract in prose.
Per-module specs
One YAML file per module, served at /openapi/<module>.yaml, for tools that
prefer a narrower surface.