Command line tools for OpenAPI-enabled APIs.
- Read and convert local and remote JSON/YAML OpenAPI definition files
- Run Swagger UI locally
- Bundle static Swagger UI sites
- Run Swagger Editor locally
- Convert Swagger 2.0 to OpenAPI 3.0.x
- Run Mock APIs
- Use as CLI client to call API operations
$ npm install -g openapicmd
$ openapi COMMAND
running command...
$ openapi (-v|--version|version)
openapicmd/0.1.9 darwin-x64 node-v10.12.0
$ openapi --help [COMMAND]
USAGE
$ openapi COMMAND
...
openapi help [COMMAND]
openapi info [DEFINITION]
openapi init
openapi load DEFINITION
openapi mock [DEFINITION]
openapi read [DEFINITION]
openapi swagger-editor [DEFINITION]
openapi swagger-ui [DEFINITION]
openapi swagger2openapi [DEFINITION]
openapi unload
Display help for openapi
commands.
USAGE
$ openapi help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
Print information about definition file.
USAGE
$ openapi info [DEFINITION]
ARGUMENTS
DEFINITION input definition file
OPTIONS
-h, --help show CLI help
--[no-]operations list operations in document
--[no-]schemas list schemas in document
EXAMPLES
$ openapi info https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml
$ openapi info ./openapi.yml
See code: src/commands/info.ts
Initialise an OpenAPI definition file.
USAGE
$ openapi init
OPTIONS
-S, --server=http://localhost:9000 add servers to definition
-T, --title=title [default: My API] The title for the API
-d, --description=description Description for the API
-f, --format=(json|yaml|yml) [default: yaml] output format
-h, --help show CLI help
-v, --version=version [default: 0.0.1] Version of the API
--json format as json (short for -f json)
--license=mit|apache2 The license for the API
--terms=terms A URL to the Terms of Service for the API.
--yaml format as yaml (short for -f yaml)
EXAMPLE
$ openapi init --title 'My API' > openapi.yml
See code: src/commands/init.ts
Load an OpenAPI definition file (writes to .openapiconfig
).
USAGE
$ openapi load DEFINITION
ARGUMENTS
DEFINITION input definition file
OPTIONS
-V, --validate validate against openapi schema
-h, --help show CLI help
EXAMPLES
$ openapi load ./openapi.yml
$ openapi load https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml
See code: src/commands/load.ts
Start a local mock API server.
USAGE
$ openapi mock [DEFINITION]
ARGUMENTS
DEFINITION input definition file
OPTIONS
-U, --swagger-ui=docs Swagger UI endpoint
-h, --help show CLI help
-p, --port=9000 [default: 9000] port
--[no-]logger [default: true] log requests
EXAMPLES
$ openapi mock ./openapi.yml
$ openapi mock https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml
See code: src/commands/mock.ts
Read, parse and convert OpenAPI definitions.
USAGE
$ openapi read [DEFINITION]
ARGUMENTS
DEFINITION input definition file
OPTIONS
-B, --bundle resolve remote $ref pointers
-D, --dereference resolve $ref pointers
-S, --server=http://localhost:9000 add servers to definition
-V, --validate validate against openapi schema
-f, --format=(json|yaml|yml) [default: yaml] output format
-h, --help show CLI help
--json format as json (short for -f json)
--yaml format as yaml (short for -f yaml)
EXAMPLES
$ openapi read https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml
$ openapi read ./openapi.yml -f json > openapi.json
See code: src/commands/read.ts
Serve a local Swagger UI instance.
USAGE
$ openapi swagger-editor [DEFINITION]
ARGUMENTS
DEFINITION input definition file
OPTIONS
-h, --help show CLI help
-p, --port=9000 [default: 9000] port
--[no-]logger [default: true] log requests
EXAMPLES
$ openapi swagger-editor
$ openapi swagger-editor ./openapi.yml
$ openapi swagger-editor ./openapi.yml --bundle static
See code: src/commands/swagger-editor.ts
Serve or bundle a Swagger UI instance.
USAGE
$ openapi swagger-ui [DEFINITION]
ARGUMENTS
DEFINITION input definition file
OPTIONS
-B, --bundle=outDir bundle a static site to directory
-S, --server=http://localhost:9000 add servers to definition
-h, --help show CLI help
-p, --port=9000 [default: 9000] port
--[no-]deeplinks [default: true] allow deep linking
--expand=full|list|none [default: list] default expansion setting for the operations and tags
--[no-]filter [default: true] enable filtering by tag
--[no-]logger [default: true] log requests
--[no-]operationids [default: true] display operationIds
--proxy set up a proxy for the api to avoid CORS issues
--[no-]requestduration [default: true] display request durations in "try it now"
--[no-]withcredentials [default: true] send cookies in "try it now"
EXAMPLES
$ openapi swagger-ui
$ openapi swagger-ui ./openapi.yml
See code: src/commands/swagger-ui.ts
Convert Swagger 2.0
definitions to OpenAPI 3.0.x
format.
USAGE
$ openapi swagger2openapi [DEFINITION]
ARGUMENTS
DEFINITION input definition file
OPTIONS
-B, --bundle resolve remote $ref pointers
-D, --dereference resolve $ref pointers
-S, --server=http://localhost:9000 add servers to definition
-V, --validate validate against openapi schema
-f, --format=(json|yaml|yml) [default: yaml] output format
-h, --help show CLI help
--json format as json (short for -f json)
--yaml format as yaml (short for -f yaml)
EXAMPLE
$ openapi swagger2openapi --yaml ./swagger.json > openapi.yml
See code: src/commands/swagger2openapi.ts
Unload an OpenAPI definition file (writes to .openapiconfig
)
USAGE
$ openapi unload
OPTIONS
-h, --help show CLI help
EXAMPLE
$ openapi unload
See code: src/commands/unload.ts
OpenAPI Backend is Free and Open Source Software. Issues and pull requests are more than welcome!