Static responses
Return fixed JSON for endpoints that don't need a database: health checks, config, version info, anything static.
The inline key
Put your literal JSON under an inline: key. Akuma returns it verbatim with the endpoint's status code. No database, no schema.
- path: /status
method: GET
response:
inline:
status: ok
version: "1.0.0"
status: 200 curl http://localhost:3000/status
# => {"status": "ok", "version": "1.0.0"} Any JSON shape
The value under inline: can be an object, an array, or a scalar. Whatever you put is what you get back.
- path: /config
method: GET
response:
inline:
environment: development
features:
- authentication
- analytics
maintenance: false
status: 200 Explicit by design
Every response declares itself as either static (inline:) or database-backed (schema:). It is never inferred. A literal body is never mistaken for a schema, and vice versa. A bare mapping without one of these keys is rejected with a clear error.
For database-backed responses, see Data models and Endpoints.
Common mistakes
Forgetting the inline: wrapper
A static body must live under inline:. Writing it bare (the old style) fails to parse:
Error: Failed to parse config file: ... unknown field `status`, expected one of `type`, `schema`, `inline` Declaring both schema: and inline:
A response is one or the other, never both:
Error: Failed to parse config file: ... a response must have either `schema:` or `inline:`, not both