Skip to content
Generated spec

The output is a complete OpenAPI 3.1 document covering:

  • Paths - all routes with HTTP methods, parameters, request bodies, and responses
  • Schemas - type definitions extracted from your TypeScript types and validation schemas
  • Parameters - path, query, and header parameters with types and constraints
  • Request Bodies - payload schemas for POST, PUT, and PATCH endpoints
  • Responses - response schemas with status codes and content types
  • Validation Rules - VRefine constraints appear as JSON Schema keywords

Path Variations for Optional Parameters ​

OpenAPI requires all path parameters to be mandatory, so routes with optional parameters produce multiple paths.

For a route at users/[id]/posts/{postId}/index.ts, the spec contains:

  • /users/{id}/posts/{postId} - full path with optional parameter present
  • /users/{id}/posts - path without optional parameter

Both reference the same handlers and schemas.

Live Updates ​

The spec is recomputed automatically whenever you modify route definitions, types, or validation schemas. This happens in the background alongside validation and fetch derivation - no manual rebuild step required.

Serve the spec with any standard tooling: Swagger UI, Redoc, or Stoplight Elements.

Released under the MIT License.