jazzhq-cli
Command-line tool for managing customer and partner data using the JazzHQ APIs.
Install
uv tool install jazzhq-cli
# or
pipx install jazzhq-cli
# or, inside a virtual environment
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:
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:
jazzhq-cli partner list --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.
partner invite
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 REFERRAL_PARTNER, AFFILIATE_PARTNER, RESELLER, DISTRIBUTOR |
--user |
no | A person to invite inside the partner company, as comma-separated key=value pairs. Repeatable. |
--users-json |
no | A JSON array of user objects, instead of --user |
jazzhq-cli partner invite \
--company-name "Acme Inc" \
--contact-name "Jane Doe" \
--contact-email-address "jane@acme.com" \
--type RESELLER
To invite several people at once, repeat --user. Valid keys are firstName,
lastName, emailAddress, phoneNumber, and jobTitle; firstName and
emailAddress are required on each.
jazzhq-cli partner invite \
--company-name "Acme Inc" \
--contact-name "Jane Doe" \
--contact-email-address "jane@acme.com" \
--user "firstName=Jane,lastName=Doe,emailAddress=jane@acme.com,jobTitle=VP Sales" \
--user "firstName=Raj,emailAddress=raj@acme.com"
Omit --user entirely and a single user is created from the contact fields, exactly as
before.
The table above covers the commonly used fields. Run jazzhq-cli partner invite --help
for the full set of accepted options.
partner reinvite
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 |
jazzhq-cli partner reinvite 1001 --email-address "jane@acme.com"
partner list
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 |
jazzhq-cli partner list --page 0 --per-page 20
partner add-users
Invite more people into a partner company already connected to your vendor account.
| Argument / Flag | Required | Description |
|---|---|---|
partner_id (positional) |
yes | The partner's ID |
--user |
yes* | A person to invite, as comma-separated key=value pairs. Repeatable. |
--users-json |
yes* | A JSON array of user objects, instead of --user |
* Provide one of --user or --users-json, not both.
jazzhq-cli partner add-users 1001 \
--user "firstName=Raj,emailAddress=raj@acme.com,jobTitle=Account Executive" \
--user "firstName=Mia,emailAddress=mia@acme.com"
This is all-or-nothing. If any email address already belongs to a user, or the same
address appears twice in one request, nothing is created and the command exits 1 with a
DUPLICATE_ENTRY error naming the address.
Use --users-json when a value contains a comma, since --user splits on it:
jazzhq-cli partner add-users 1001 \
--users-json '[{"firstName":"Ann","emailAddress":"ann@acme.com","jobTitle":"VP, Sales"}]'
partner list-users
List the people inside a partner company.
| Argument / Flag | Required | Default | Description |
|---|---|---|---|
partner_id (positional) |
yes | The partner's ID | |
--page |
no | 0 |
Page number |
--per-page |
no | 20 |
Results per page |
--sort-by |
no | id |
One of id, firstName, lastName, emailAddress, jobTitle, createdAt |
jazzhq-cli partner list-users 1001 --per-page 50
Each user includes lastActiveAt, which is null until they first sign in to the
partner portal — useful for telling an outstanding invite from an active user.
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
Release files for jazzhq-cli 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jazzhq_cli-0.2.0.tar.gz | 13.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jazzhq_cli-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.4 kB
Release files / jazzhq_cli-0.2.0.tar.gz
| Download URL | jazzhq_cli-0.2.0.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bcd212eee539bec128c3d7d17a14998593661f470fab7feb0a9965c2f44d78b3
|
|
BLAKE2b-256 checksum How to use checksums |
e33af6d51765563001fa13ca28f84cae24ef34f054adb1851a2c072bd02cbb91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|
Release files / jazzhq_cli-0.2.0-py3-none-any.whl
| Download URL | jazzhq_cli-0.2.0-py3-none-any.whl |
|---|---|
| Size | 10.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b5d35957db10e3a4b93823a0a08f949d3885372e7950ed07d6ef18b9aca239d
|
|
BLAKE2b-256 checksum How to use checksums |
c7bfdf5edfcd5397ed17a5c7b86c0fc563aab18a3712545e4ddd8cf817b2e096
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|