TouricalDevelopers

OpenAPI specification

A machine-readable OpenAPI 3.1 document, generated from the running API.

The full /v1/* surface — every operation, its scope, request and response schemas, error shapes, and the webhook event payload schemas — is published as OpenAPI 3.1:

How it stays honest

The document is generated, not hand-written. Each route handler is registered in a single operations table with its zod request/response schemas; the JSON Schemas in the spec are derived from those same schemas. A contract test in the API repository fails the build when:

  • a public /v1/* route exists that is not in the spec, or the spec lists an operation with no route;
  • a serialized response from any list/detail endpoint no longer validates against its documented schema;
  • a webhook payload example no longer validates against its event schema.

The examples in the event catalog are generated from the same definitions.

Using it

  • Import it into Postman / Insomnia / Bruno for a ready-made collection.
  • Generate a typed client with openapi-typescript, openapi-generator, or oazapfts.
  • Validate inbound webhooks client-side with the schemas under webhooks.* (JSON Schema draft 2020-12).

Deprecated operations carry deprecated: true; see the changelog for the sunset rules.

On this page