absolute api
Your API surface at a glance — and a real OpenAPI spec generated from the types you already wrote.
#Usage
AbsoluteJS wires @elysiajs/openapi into the dev runtime, so a Scalar UI is live at /openapi with zero setup. absolute api reads that generated spec and lists the app's real routes (dev-machinery excluded), method-colored, with a hint of each route's params and body. --open launches the Scalar UI in your browser; --json prints the spec.
# Show the API surface from a running dev server
absolute api
# Open the OpenAPI UI (Scalar, served by @elysiajs/openapi at /openapi)
absolute api --open
# Print the OpenAPI spec the plugin generates from your typed routes
absolute api --json > openapi.json#OpenAPI
Because your params, query, body, and response are Elysia t.Object(...) schemas — already JSON Schema — @elysiajs/openapi turns them into accurate, importable API docs with zero annotation: the types you wrote to validate requests become your docs. Toggle and customize it with openapi in absolute.config.ts (on by default in dev, opt-in for production) — set the path, swap Scalar for Swagger, or override the title and version.
$ absolute apiGET / GET /dashboard POST /api/login body: email, password DELETE /api/account/:id params: id 4 routes · my-app · `absolute api --open` for the UI