mix ash_oaskit.generate (AshOasKit v0.2.0)

View Source

Generate OpenAPI specification files from Ash domains.

Tip

If you already define a spec module with use AshOaskit, prefer oaskit's exporter — it uses the exact spec your app serves:

mix openapi.dump MyAppWeb.ApiSpec

This task remains useful for YAML output and one-off generation without a spec module.

Usage

mix ash_oaskit.generate --domains MyApp.Blog,MyApp.Accounts

Options

  • --domains - Comma-separated list of Ash domains (required)
  • --version - OpenAPI version: "3.0" or "3.1" (default: "3.1")
  • --output - Output file path (default: "openapi.json")
  • --format - Output format: "json" or "yaml" (default: "json")
  • --title - API title
  • --api-version - API version string
  • --pretty - Pretty-print the output (default: true)

Examples

# Generate OpenAPI 3.1 spec
mix ash_oaskit.generate --domains MyApp.Blog --output openapi-3.1.json

# Generate OpenAPI 3.0 spec
mix ash_oaskit.generate --domains MyApp.Blog --version 3.0 --output openapi-3.0.json

# Generate both versions
mix ash_oaskit.generate --domains MyApp.Blog --version 3.1 --output openapi-3.1.json
mix ash_oaskit.generate --domains MyApp.Blog --version 3.0 --output openapi-3.0.json