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

# Setup

## Install

```bash
uv tool install deepctl      # uv
# or inside a virtual environment:
pip install deepctl          # pip
pipx install deepctl         # pipx
```

## Authentication

`jazzhq-cli` authenticates with an API key, sent as the `X-API-KEY` header on every
request. You can generate and manage your API key from within the Partner OS platform.

Set it, along with the API host, as environment variables:

```bash
export JAZZHQ_API_KEY="your-api-key"
export JAZZHQ_API_BASE_URL="https://api.jazzhq.ai"
```

Or override either one per-command with flags, which take precedence over the
environment variables:

```bash
jazzhq-cli list-partners \ 
  --api-key "your-api-key" \
  --base-url "https://api.jazzhq.ai"
```

If neither the environment variable nor the flag is set, the command exits with a
configuration error (exit code 2) before making any request.

## Exit codes

| Code | Meaning                                                               |
| ---- | --------------------------------------------------------------------- |
| `0`  | Success                                                               |
| `1`  | API error (e.g. duplicate entry, validation failure) or network error |
| `2`  | Usage or configuration error (missing arg, missing API key/base URL)  |

All commands print the raw JSON API response body to stdout on success. Errors print a
message to stderr, including any field-level validation errors returned by the API.