Command-Line Interface

For convenience Connexion provides a command-line interface (CLI). This interface aims to be a starting point in developing or testing OpenAPI specifications with Connexion.

Running an OpenAPI specification

The subcommand run of Connexion’s CLI makes it easy to run OpenAPI specifications directly even before any operation handler function gets implemented. This allows you to verify and inspect how your API will work with Connexion.

To run your specification, execute in your shell:

$ connexion run your_api.yaml --stub

This command will tell Connexion to run the your_api.yaml specification file attaching a stub operation (--stub) to the unavailable operations/functions of your API, which will return a 501 Not Implemented response.

The basic usage of this command is:

$ connexion run [OPTIONS] SPEC_FILE [BASE_MODULE_PATH]

Where:

  • SPEC_FILE: Your OpenAPI specification file in YAML format. Can also be given as a URL, which will be automatically downloaded.

  • BASE_MODULE_PATH (optional): filesystem path where the API endpoints handlers are going to be imported from. In short, where your Python code is saved.

There are more options available for the run command, for a full list run:

$ connexion run --help

Running a mock server

You can run a simple server which returns example responses on every request.

The example responses can be defined in the examples response property of the OpenAPI specification. If no examples are specified, and you have installed connexion with the mock extra (pip install connexion[mock]), an example is generated based on the provided schema.

Your API specification file is not required to have any operationId.

$ connexion run your_api.yaml --mock=all

$ connexion run https://raw.githubusercontent.com/spec-first/connexion/main/examples/helloworld_async/spec/openapi.yaml --mock=all