Metadata-Version: 2.4
Name: jazzhq-cli
Version: 0.1.0
Summary: Command-line tool for managing customer and partner data via the JazzHQ API
Author-email: vijayaraj <vijay@jazzhq.ai>
License-Expression: MIT
Project-URL: Homepage, https://jazzhq.ai
Keywords: jazzhq,saas22,partners,cli,api
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31
Dynamic: license-file

# jazzhq-cli

Command-line tool for managing customer and partner data via the [JazzHQ](https://jazzhq.ai) API.

## Install

```bash
pip install jazzhq-cli
```

This puts a `jazzhq-cli` command on your PATH.

## Configure

`jazzhq-cli` authenticates with a vendor API key, sent as the `X-API-KEY` header on
every request. Set it, along with the API host, as environment variables:

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

Or override either one per-command with `--api-key` / `--base-url`, which take
precedence over the environment variables:

```bash
jazzhq-cli list-partners --api-key "your-vendor-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 before making any request.

## Commands

Every command prints the raw JSON API response body to stdout on success. Errors go
to stderr, including any field-level validation errors returned by the API.

All commands accept `--api-key` and `--base-url` as described above.

### `invite-partner`

Invite a new partner.

| Flag | Required | Description |
| ---- | -------- | ----------- |
| `--company-name` | yes | Partner's company name |
| `--contact-name` | yes | Primary contact's full name |
| `--contact-email-address` | yes | Primary contact's email address |
| `--contact-phone` | no | Primary contact's phone number |
| `--type` | no | One of `RESELLER`, `DISTRIBUTOR` |

```bash
jazzhq-cli invite-partner \
  --company-name "Acme Inc" \
  --contact-name "Jane Doe" \
  --contact-email-address "jane@acme.com" \
  --type RESELLER
```

The table above covers the commonly used fields. Run `jazzhq-cli invite-partner --help`
for the full set of accepted options.

### `reinvite-partner`

Resend an invite email to an existing partner.

| Argument / Flag | Required | Description |
| --------------- | -------- | ----------- |
| `partner_id` (positional) | yes | The partner's ID |
| `--email-address` | yes | Email address to resend the invite to |

```bash
jazzhq-cli reinvite-partner 1001 --email-address "jane@acme.com"
```

### `list-partners`

List partners connected to your vendor account.

| Flag | Required | Default | Description |
| ---- | -------- | ------- | ----------- |
| `--page` | no | `0` | Page number |
| `--per-page` | no | `20` | Results per page |
| `--sort-by` | no | `id` | Field to sort by |

```bash
jazzhq-cli list-partners --page 0 --per-page 20
```

## 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) |

## License

MIT
