Extole CLI

The Extole CLI is a command-line tool for developers and technical operators working with the Extole API. It runs from the terminal, integrates into scripts and automation pipelines, and includes a built-in MCP server so Claude Desktop and Claude Code can call any CLI command as a tool.

For complete per-command documentation, flags, and examples, see the GitHub README.

Install

Binary (no Node required) -- Mac and Linux:

curl -fsSL https://raw.githubusercontent.com/extole/extole-cli/master/install.sh | sh

Installs to /usr/local/bin/extole when writable; otherwise to ~/.local/bin/extole. Open a new terminal after installing. Override with EXTOLE_INSTALL=/your/path.

Binary -- Windows:

Download extole-windows-x64.exe from the latest release, rename to extole.exe, and place it on your PATH.

Homebrew (Mac):

brew install extole/tap/extole

npm (requires Node 22.12+):

npm install -g @extole/cli

Verify: extole --version

Getting a token

Log in to my.extole.com, navigate to Settings -- API Access, and create or copy an API token. The token needs CLIENT_ADMIN scope for most read operations and CLIENT_SUPERUSER for write operations and advanced diagnostics.

Authenticate

extole auth login --token TOKEN

For scripts and CI, prefer environment variables:

export EXTOLE_TOKEN=your-token-here
export EXTOLE_ACCOUNT=acme

Commands

DomainCommandsWhat they do
Authextole auth *, extole ping, extole whoamiManage credentials, switch between accounts, verify token validity and expiry
Events & Peopleextole events fireFire events -- sandbox by default (safe), --live for production. Trace campaign routing with --trace
extole events listenTail live inbound events in real time with filters by type, person, or source
extole events report <event_id>Look up a past event by ID
extole person get/steps/relationships/statsLook up a person's profile, step history, referral graph, and network stats
extole person rewardsRewards for a specific person
extole person reportFull profile events report for a person
Rewardsextole rewardsLook up rewards by person, get full details, history, fulfillments, sends, redeems, and cancels
extole rewards state-summaryAccount-wide reward counts by state, bucketed over time
extole rewards find-couponReverse-lookup: given a coupon code, find who received it and its current state
Reward Suppliersextole reward-suppliersList configured suppliers (Tango, PayPal, manual coupon batches, etc.) with face values
extole reward-suppliers getFull supplier detail, including limits, expiry, and tags
extole reward-suppliers couponsFor manual-coupon suppliers: count, inventory preview, and depletion warnings
extole reward-suppliers createCreate a new reward supplier (MANUAL_COUPON, CUSTOM_REWARD, etc.) (write)
extole reward-suppliers upload-couponsUpload coupon codes to a MANUAL_COUPON supplier (write)
Componentsextole componentsList, inspect, and traverse campaign components and their type hierarchy
extole components create/set/deploy/deleteCreate integration components, patch settings, deploy bundles, and delete components (write)
Webhooksextole webhooksList, inspect, create, attach, and delete webhooks
extole webhooks dispatches/dispatch-results/listenInspect dispatch history, HTTP response outcomes, and tail live results in real time
extole webhooks traceTemporarily wire a URL to a campaign event and tail dispatch results
Campaigns & Programsextole programsList programs by state and type
extole campaigns quality-rules/reward-rules/maxmindInspect quality rules, reward rules, and MaxMind fraud-scoring settings per campaign
Audiencesextole audiences list/get/membersList audiences, view size, and page through members
extole audiences historyView recent add/remove/replace/sync runs; tail with --listen
Reportsextole reports recommended/types/describeDiscover available reports and inspect their parameters before running
extole reports run/status/downloadRun a report, check completion, and stream results to stdout
Notificationsextole notificationsView recent platform alerts (webhook failures, integration errors); tail with --listen
Healthextole healthEmail domain deliverability checks (SPF, DMARC, DKIM, MX) and program domain resolution
extole health provision-dkimProvision DKIM keys for an email domain (write)
Share Linksextole share-links listList share links for a person
extole share-links lookupReverse-lookup: given a share code or URL, find the owning person and program
Zonesextole zonesList embed zone names, get the core.js script tag, and retrieve embed snippets
extole zones callPOST to a zone to test FRONTEND_CONTROLLER pipelines without a browser
APIextole api <path>Authenticated access to any Extole endpoint -- GET by default, supports --method, --body
extole api search <keyword>Search published Extole API endpoints by keyword across path, summary, and description
Feedbackextole feedbackSubmit feedback or bug reports directly from the CLI

Run extole --help or extole <command> --help for full options on any command.

Output conventions

  • Human-readable by default; add --json on any command for machine-readable output
  • --compact strips nulls and empty fields
  • --verbose logs each HTTP request to stderr
  • Data goes to stdout, status to stderr -- fully pipeable

AI integration

The CLI includes a built-in MCP server that connects Claude Desktop and Claude Code without manual config file editing:

extole serve setup   # auto-configure Claude Desktop and Claude Code
extole serve remove  # remove the registration

The CLI also exposes an AI assistant with deep knowledge of the Extole API:

extole chat "why would a purchase event not trigger a reward?"
extole chat "what endpoint filters person steps by cause event id?"

Source

github.com/extole/extole-cli