Axotly v0.1.6 is out! Check out the latest release on GitHub.

Axotly CLI Reference

Axotly provides a fast and expressive command-line interface for testing APIs. It supports single HTTP requests (curl-style) and batch execution from files.

axotly [OPTIONS] [URL]

Usage Modes

Axotly works in two mutually exclusive modes:

1. Single Request Mode (curl-style)

Run a single HTTP request by providing a URL (positional argument).

axotly https://api.example.com/users

2. File Mode (.ax)

Execute one or more requests defined in a .ax file.

axotly --file tests.ax

You cannot use --file and URL at the same time.


Arguments & Options

-f, --file <FILE>

Run requests from a .ax file.

axotly --file api.ax
  • Enables batch execution
  • Required for options like --renderer, --concurrently, and --show-response

-r, --renderer <KIND>

Select how results are rendered.

axotly --file api.ax --renderer human
  • Default: human
  • Requires: --file

Available renderers depend on your build, but typically include:

  • human – readable, developer-friendly output
  • json – machine-readable output (CI / tooling)

-c, --concurrently <N>

Number of concurrent requests to run.

axotly --file api.ax --concurrently 8
  • Default: number of available CPU cores
  • Min: 1
  • Max: 200
  • Requires: --file

Use this to speed up large test suites.


--show-response

Print full HTTP responses for each request.

axotly --file api.ax --show-response
  • Requires: --file
  • Useful for debugging or inspecting payloads

URL

Positional argument for single-request mode.

axotly https://httpbin.org/get
  • Default: http://httpbin.org/get
  • Conflicts with --file

This behaves similarly to curl, but with Axotly’s ergonomics.


-X, --method <METHOD>

HTTP method to use.

axotly https://api.example.com/users --method POST
  • Default: GET
  • Supported values: GET, POST, PUT, DELETE, PATCH

-b, --body <BODY>

Raw request body.

axotly https://api.example.com/users \
  --method POST \
  --body "name=Axotly"
  • Sent as-is
  • Mutually compatible with --method

-j, --json <JSON>

Send a JSON request body.

axotly https://api.example.com/users \
  --method POST \
  --json '{"name": "Axotly"}'
  • Automatically sets JSON semantics
  • Ideal for API testing without extra headers

Examples

Simple GET request

axotly https://httpbin.org/get

POST with JSON body

axotly https://httpbin.org/post \
  --method POST \
  --json '{"hello": "world"}'

Run a .ax file with concurrency

axotly --file api.ax --concurrently 4

Debug responses in file mode

axotly --file api.ax --show-response

Notes

  • --file and URL cannot be used together
  • Batch-only flags are intentionally restricted to keep single-request usage simple
  • Axotly defaults are optimized for developer happiness ⚡