REST API Docs
Auto-generated Swagger-like documentation for every route. Try endpoints, see code examples, export OpenAPI.
Swagger-Like Explorer
Interactive documentation generated from your route definitions. Browse, expand, and explore every endpoint.
"Try It" Execution
Execute API calls directly from the docs. Fill in parameters, send the request, and see the response in real time.
Code Examples
Auto-generated code snippets for cURL, JavaScript fetch, and Flutter http — ready to copy.
Guards & Validation
See which guards protect each route and what validation decorators are required on the request body.
How It Works
FLIN reads your route definitions and auto-generates interactive API documentation. No annotations, no config files.
route POST /api/users { guards { auth: required, csrf: required } validate { email: text @required @email name: text @required @minLength(2) role: text @default("user") @one_of("user", "admin") } user = User { email: body.email, name: body.name, role: body.role } save user response.created(user) }
POST /api/users [auth] [csrf] ──────────────────────────────────────────────────────── Request Body: email text required, email name text required, minLength(2) role text default("user"), one_of("user", "admin") Response: 201 Created { id, email, name, role, created_at, updated_at } Code Examples: ▸ cURL ▸ JavaScript ▸ Flutter
Capabilities
- Auto-extracted guard requirements (auth, csrf, custom guards)
- Validation decorators displayed per field:
@required,@email,@minLength,@one_of, etc. - Response schema inferred from
response.ok(),response.created(), and other helpers - Method-specific coloring: green for GET, blue for POST, amber for PUT, red for DELETE
- "Try It" panel for live endpoint execution with parameter inputs
- Code snippets auto-generated for cURL, JavaScript, and Flutter
Why This Matters
Swagger / OpenAPI
- Requires annotations or decorators in your code
- Separate YAML/JSON config file to maintain
- Docs can drift from actual implementation
- Third-party tool setup (Swagger UI, Redoc)
FLIN REST API Docs
- Generated from route definitions — zero annotations
- No config files to maintain
- Always in sync — docs come from the same source as runtime
- Built into every FLIN app at
/_flin/rest-api
One Source of Truth
Because FLIN generates the docs from the same route definitions your server executes, the documentation can never go stale. Change a validation rule, and the docs update on the next request.