> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://ixopay.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://ixopay.ferndocs.com/_mcp/server.

# IXOPAY CLI

Command-line interface for the IXOPAY Payment Platform API.

## Installation

### Shell (macOS / Linux)

```bash
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/fern-demo/ixopay-cli/releases/latest/download/fern-cli-sdk-installer.sh | sh
```

### PowerShell (Windows)

```powershell
powershell -ExecutionPolicy ByPass -c "irm https://github.com/fern-demo/ixopay-cli/releases/latest/download/fern-cli-sdk-installer.ps1 | iex"
```

### Build from source

If you prefer to build from source, install the [Rust toolchain](https://rustup.rs/) and run:

```bash
cargo build --release
./target/release/ixopay --help
```

## Authentication

Set the following environment variable(s) before using the CLI:

```bash
export IXOPAY_USERNAME="<your credential>"
export IXOPAY_PASSWORD="<your credential>"
```

A `.env` file in the working directory is also supported — the CLI auto-loads it on startup.

## Quick start

List available commands:

```bash
ixopay --help
```

Call an API endpoint:

```bash
ixopay <resource> <method>
```

Run `ixopay <resource> --help` to see available methods for a resource.

## Usage

Every API resource appears as a subcommand (e.g. `ixopay <resource> <method>`). Run `ixopay <resource> --help` to see available methods.

Provide request parameters as flags or as JSON:

```bash
ixopay <resource> <method> --json '{"key": "value"}'
```

## Documentation

See the [full command reference](https://github.com/fern-demo/ixopay-cli/blob/main/reference.md) for every resource and method.

## Advanced

### Common flags

These flags are available on every operation:

| Flag                                | Description                                                                      |
| ----------------------------------- | -------------------------------------------------------------------------------- |
| `--dry-run`                         | Validate the request locally and print the HTTP request without sending it       |
| `--json <JSON\|->`                  | Supply a request body as JSON (or `-` to read stdin)                             |
| `--params <JSON>`                   | Merge extra parameters as JSON (overrides individual flags)                      |
| `--format <json\|table\|yaml\|csv>` | Output format (default `json`)                                                   |
| `--output <PATH>`                   | Write binary responses to a file                                                 |
| `--base-url <URL>`                  | Override the API base URL                                                        |
| `--no-extract`                      | Print the full response body instead of the `x-fern-sdk-return-value` extraction |
| `--no-retry`                        | Disable retries declared by `x-fern-retries`, including network errors           |
| `-q, --quiet`                       | Suppress stdout output on success (errors still go to stderr)                    |

Operations the spec describes how to page (via `x-fern-pagination` or a root `page_token` parameter) also accept:

| Flag                | Description                                                |
| ------------------- | ---------------------------------------------------------- |
| `--page-all`        | Auto-paginate and stream results as NDJSON                 |
| `--page-limit <N>`  | Max pages to fetch when auto-paginating (default `10`)     |
| `--page-delay <MS>` | Delay between page fetches in milliseconds (default `100`) |
| `--no-pager`        | Disable the pager even on interactive terminals            |

Operations the spec marks as streaming (via `x-fern-streaming`) also accept:

| Flag          | Description                                                                |
| ------------- | -------------------------------------------------------------------------- |
| `--no-stream` | Buffer the streaming response and print it as a single value once complete |

### Environment variables

| Variable              | Description                                                  |
| --------------------- | ------------------------------------------------------------ |
| `IXOPAY_USERNAME`     | Basic auth username (see [Authentication](#authentication))  |
| `IXOPAY_PASSWORD`     | Basic auth password (see [Authentication](#authentication))  |
| `IXOPAY_BASE_URL`     | Override the API base URL                                    |
| `IXOPAY_CA_BUNDLE`    | Path to PEM file with extra trust roots (or `SSL_CERT_FILE`) |
| `IXOPAY_INSECURE=1`   | Skip TLS verification (debugging only)                       |
| `IXOPAY_PROXY`        | HTTP(S) proxy URL                                            |
| `IXOPAY_TIMEOUT_SECS` | Total request timeout in seconds                             |

Standard environment variables (`HTTPS_PROXY` / `HTTP_PROXY` / `NO_PROXY` / `SSL_CERT_FILE`) are also honored.

### Output formats

Use the global `--format` flag to control output. Supported values: `json`, `table`, `yaml`, `csv`, `jsonl`, `raw`, `http`.

Without `--format`, output (including errors) is `table` when stdout is a terminal and `json` when it is piped or redirected — so scripts and agents get JSON by default. Pass `--human` to keep the interactive rendering when piping to a pager, and `--format json` to pin JSON in a terminal.

```bash
# Pipe JSON output through jq
ixopay <resource> <method> --format json | jq

# Keep the human rendering even when piped
ixopay <resource> <method> --human | less

# Machine-readable catalog of every operation (same as --schema)
ixopay --help --format json | jq '.operations | length'
```

### Shell completion

Generate shell completion scripts:

```bash
ixopay completion <bash|zsh|fish|powershell>
```

## Attribution

Built on [fern-cli-sdk](https://github.com/fern-api/fern), Copyright Fern, licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).