OpenAPI / Swagger

PDF Server generates a Swagger 2.0 specification describing the render, schema, and examples endpoints for the templates that are actually loaded — so the spec reflects your specific deployment.

Live spec

curl http://localhost:9999/spec/swagger.json

The server also serves interactive viewers from its static assets (Swagger UI, Redoc, and Scalar), pointed at the live spec. Open the server root and navigate to them.

What the spec contains

For each loaded template the spec includes:

  • POST /templates/<name>/render — with the template’s JSON Schema as the body parameter when a schema.json is present;
  • GET /templates/<name>/schema.json — when a schema exists;
  • GET /templates/<name>/examples-data and one GET /templates/<name>/examples/<example> per example — when examples exist;
  • POST /templates/<name>/preview/render-plan — for composite templates;
  • the /_status route.

On this documentation site

The site build can dump the spec from a server running against the example templates and render it here with a viewer. Because the spec is deployment-specific, the version shown corresponds to the example template set. See Build & CI for the generation step.

Swagger 2.0 is accepted by Scalar, Swagger UI, and Redoc directly. If a tool requires OpenAPI 3, convert with swagger2openapi in your pipeline.