GitHub

Domain-Specific Languages (DSLs)

Writing YAML by hand is no fun, and maybe you don't want a GUI, so use a Domain Specific Language to write OpenAPI in your language of choice.

8 Domain-Specific Languages (DSLs)

NameOpenAPI VersionsLinks
BOATS BOATS allows for larger teams to contribute to multi-file OpenAPI definitions by writing Nunjucks tpl syntax in YAML with a few important helpers to ensure stricter consistency, eg operationId: <$ uniqueOpId() $>. v3, v2
CUE CUE is an open source language, with a rich set of APIs and tooling, for defining, generating, and validating all kinds of data configuration, APIs, database schemas, code, etc. CUE currently supports generating OpenAPI through its API.v3
Goa Goa provides a holistic approach for developing remote APIs and microservices in Go. implementers don't have to worry about the documentation getting out of sync as Goa takes care of generating OpenAPI specifications for HTTP based services and gRPC protocol buffer files for gRPC based servicesv3, v2
kotlin-openapi3-dsl kotlin-openapi3-dsl is a DSL written in Kotlin to write OpenAPI descriptions in plain Kotlin.v3
Oxlip API Language Oxlip is a high-level functional programming language for designing OpenAPI definitions. It defines algebraic abstractions over REST concepts to alleviate the pain of managing OpenAPI in JSON or YAML by hand and at scale. v3
rswag Rswag extends rspec-rails request specs with a Swagger-based DSL for describing and testing API operations.v3
Spot A concise, developer-friendly way to describe your API contract.v3, v2
Supermodel Model your data using JSON Schema, refer and remix the models freely, convert to various formats including OAS v2/v3.v3, v2
***