All apps/OpenAPI CLI

OpenAPI CLI

openapi

A set of packages and tools for working with OpenAPI Specification documents.

Runs as openapi|macOS, Linux|github.com

Command form

ai-draft · 4 tasks · 14 fields

Validate, lint or bundle an OpenAPI specification. Overlays, Arazzo workflows, sanitize, optimize, join and the other spec commands are left out.

Opens the form; the finished command lands at your prompt, unrun
otty gui openapi

openapi spec validate

Validate a specification
Validate a specificationExample values, fixed in this page — nothing here reaches a terminal
Basic
Specification*
file
Verbose
-v
TasksEach one presets the form for one job
Validate
specverbose
ParametersOnly these flags are editable in the form
Verbose
boolean
-v
Specification
path · positional 0

openapi spec lint

Lint a specification
Lint a specificationExample values, fixed in this page — nothing here reaches a terminal
Basic
Specification*
file
Output format
2 choicesenum
Lint configuration
file
Disabled rules
string
TasksEach one presets the form for one job
Lint
specformatconfigdisable
Preview fixes
specfixdry_run
ParametersOnly these flags are editable in the form
Output format
enum
--format-ftextjson
Lint configuration
path
--config-c
Ruleset
Default is all.
string
--ruleset-r
Disabled rules
string · repeatable
--disable-d
Per-rule summary
boolean
--summary
Apply fixes in place
Writes the non-interactive fixes back to the specification file.
boolean
--fix
Dry run
Only meaningful together with --fix.
boolean
--dry-run
Specification
path · positional 0

openapi spec bundle

Bundle external references
Bundle external referencesExample values, fixed in this page — nothing here reaches a terminal
Basic
Specification*
file
Output file*
file
Naming strategy
2 choicesenum
TasksEach one presets the form for one job
Bundle to a file
specoutputnaming
ParametersOnly these flags are editable in the form
Rewrite the input file in place
boolean
-w
Naming strategy
enum
--namingfilepathcounter
Specification
path · positional 0
Output file
Omit to print to stdout.
path · positional 1
SourcesEvery flag above is checked against these
readme
# Validate a specification file openapi spec validate ./spec.yaml # Validate with verbose output openapi spec validate -v ./spec.yaml
manual2026-10

github.com

readme
openapi spec lint ./spec.yaml openapi spec lint -f json ./spec.yaml openapi spec lint -c ./lint.yaml ./spec.yaml openapi spec lint -d rule-id-1 -d rule-id-2 ./spec.yaml openapi spec lint --fix ./spec.yaml openapi spec lint --fix-interactive --dry-run ./spec.yaml | `--format` | `-f` | Output format: `text` (default) or `json` | | `--config`…
manual2026-10

github.com

readme
# Bundle to specific file with filepath naming (default) openapi spec bundle ./spec.yaml ./bundled-spec.yaml # Bundle in-place with counter naming openapi spec bundle -w --naming counter ./spec.yaml # Bundle with filepath naming (explicit) openapi spec bundle --naming filepath ./spec.yaml ./bundled.yaml - `filepath` (default): Uses file path-based naming lik…
manual2026-10

github.com

Before it fills your prompt, Otty checks the installed openapi against its version. A form that does not match your version is not offered.