Appearance
API Reference
This page renders docs/generated/openapi.json. That file is generated by npm run openapi:generate from the running application and its Zod schemas, verified byte for byte by npm run openapi:check, and never edited by hand — so this page always reflects what the service actually exposes, not a snapshot of it. The same file is served as /openapi.json.
Today that is genuinely small: business routes are served under /api/v1/..., but none are documented here yet, because none exist as running endpoints. The two health probes below stay unversioned and unprefixed on purpose — Railway's healthcheck depends on that exact path, and they are deliberately outside the data envelope.
Liveness probe
GET
/health/live
Reports whether the process itself is running, without checking the database. Documented exception to the { data } envelope and to Problem Details (section 3): this route keeps the raw health-check contract and is filtered through ProtocolExceptionFilter instead of the global error filter.
Responses
The Health Check is successful
application/json
JSON "details": { "additionalProperties": { "responseTime": 0, "status": "string", "additionalProperties": "string" } }, "error": { "additionalProperties": { "responseTime": 0, "status": "string", "additionalProperties": "string" } }, "info": { "additionalProperties": { "responseTime": 0, "status": "string", "additionalProperties": "string" } }, "status": "ok"
{
}
Readiness probe
GET
/health/ready
Reports whether the process can serve traffic, including a database reachability check. Documented exception to the { data } envelope and to Problem Details (section 3): this route keeps the raw health-check contract and is filtered through ProtocolExceptionFilter instead of the global error filter.
Responses
The Health Check is successful
application/json
JSON "details": { "additionalProperties": { "responseTime": 0, "status": "string", "additionalProperties": "string" } }, "error": { "additionalProperties": { "responseTime": 0, "status": "string", "additionalProperties": "string" } }, "info": { "additionalProperties": { "responseTime": 0, "status": "string", "additionalProperties": "string" } }, "status": "ok"
{
}