Command Reference
Full command reference for the RevKeen CLI — flags, interactive prompts, and sample output
This page documents every command in the RevKeen CLI as implemented in packages/cli/src/.
Command pattern
revkeen <command> [mode flag] [arguments]Running revkeen with no arguments opens an interactive picker.
Global options
These flags are available on every command:
| Flag | Description |
|---|---|
--help, -h | Show help for the command |
--version, -V | Print CLI version |
The CLI does not currently support --json, --verbose, --quiet, or --format flags. All output is human-readable tables powered by cli-table3. For machine-readable data, use the REST API → or an SDK → directly.
Environment variables
| Variable | Default | Description |
|---|---|---|
REVKEEN_API_KEY | — | API key (must start with rk_). If unset, the CLI prompts interactively. |
REVKEEN_API_URL | https://api.revkeen.com | Override the API base URL for staging or internal environments. |
See CLI authentication → for full details.
customers
Inspect, create, and update customers.
revkeen customers [options]Options
| Flag | Description |
|---|---|
--list | List customers (limit 20) |
--get <id> | Get a customer by ID (prints JSON) |
--create | Create a customer interactively |
--update <id> | Update a customer interactively |
Interactive prompts (--create)
| Prompt | Placeholder | Required |
|---|---|---|
| Customer name | John Doe | Yes |
| Customer email | john@example.com | Yes |
| Phone (optional) | +44... | No |
Interactive prompts (--update)
| Prompt | Default | Note |
|---|---|---|
| New name (leave empty to skip) | empty | Skips if blank |
| New email (leave empty to skip) | empty | Skips if blank |
Examples
revkeen customers --list┌──────────────────┬──────────────┬───────────────────────┬────────────┐
│ ID │ Name │ Email │ Created │
├──────────────────┼──────────────┼───────────────────────┼────────────┤
│ cus_01HT3N... │ Jane Smith │ jane@acme.com │ 2026-03-12 │
│ cus_01HT4P... │ Bob Wilson │ bob@example.com │ 2026-03-10 │
└──────────────────┴──────────────┴───────────────────────┴────────────┘revkeen customers --get cus_01HT3N...Prints the full customer JSON from the API.
products
Manage the product catalog.
revkeen products [options]Options
| Flag | Description |
|---|---|
--list | List products (limit 20) |
--get <id> | Get a product by ID (prints JSON) |
--create | Create a product interactively |
Interactive prompts (--create)
| Prompt | Placeholder | Required | Notes |
|---|---|---|---|
| Product ID (slug) | my-product | Yes | URL-safe identifier |
| Product name | — | Yes | Display name |
| Description (optional) | — | No | |
| Product kind | — | Yes | Select: One-time, Subscription, Usage-based |
| Amount (in minor units) | 1000 | Yes | 1000 = 10.00. Must be non-negative. |
Examples
revkeen products --list┌──────────────────┬──────────────────┬─────────────────────────┐
│ ID │ Name │ Description │
├──────────────────┼──────────────────┼─────────────────────────┤
│ prod_monthly │ Monthly Plan │ Standard monthly access │
│ prod_annual │ Annual Plan │ Discounted annual plan │
└──────────────────┴──────────────────┴─────────────────────────┘prices
Manage pricing for products.
revkeen prices [options]Options
| Flag | Description |
|---|---|
--list | List prices (limit 20) |
--get <id> | Get a price by ID (prints JSON) |
--create | Create a price interactively |
Examples
revkeen prices --list
revkeen prices --get prc_01HT...subscriptions
View and cancel subscriptions.
revkeen subscriptions [options]Options
| Flag | Description |
|---|---|
--list | List subscriptions (limit 20) |
--get <id> | Get a subscription by ID (prints JSON) |
--cancel <id> | Cancel a subscription (prompts for confirmation) |
Interactive prompts (--cancel)
| Prompt | Type |
|---|---|
| Cancel subscription {id}? | Confirm (yes/no) |
Examples
revkeen subscriptions --list┌──────────────────┬──────────────┬──────────┬─────────────┐
│ ID │ Customer │ Status │ Period End │
├──────────────────┼──────────────┼──────────┼─────────────┤
│ sub_01HT... │ cus_01HT3N.. │ active │ 2026-05-12 │
│ sub_01HT... │ cus_01HT4P.. │ paused │ 2026-04-30 │
└──────────────────┴──────────────┴──────────┴─────────────┘Status values are color-coded: active (green), paused/pending (yellow), cancelled (red), trialing (blue).
invoices
Full invoice lifecycle — create, finalize, send, and void.
revkeen invoices [options]Options
| Flag | Description |
|---|---|
--list | List invoices (limit 20) |
--get <id> | Get an invoice by ID (prints JSON) |
--create | Create a draft invoice interactively |
--finalize <id> | Finalize a draft invoice (optionally auto-send) |
--send <id> | Send a finalized invoice |
--void <id> | Void an invoice (prompts for confirmation, irreversible) |
Interactive prompts (--create)
| Prompt | Placeholder | Required | Notes |
|---|---|---|---|
| Customer ID | cus_xxx | Yes | |
| Total amount (in minor units) | 1000 | Yes | 1000 = 10.00. Must be non-negative. |
| Currency | — | Yes | Select: GBP, USD, EUR |
Interactive prompts (--finalize)
| Prompt | Default |
|---|---|
| Auto-send the invoice after finalizing? | No |
Interactive prompts (--void)
| Prompt | Type |
|---|---|
| Void invoice {id}? This cannot be undone. | Confirm (yes/no) |
Examples
revkeen invoices --list┌──────────────────┬──────────────┬──────────┬────────────┬──────────┬────────────┐
│ ID │ Customer │ Status │ Amount Due │ Currency │ Due Date │
├──────────────────┼──────────────┼──────────┼────────────┼──────────┼────────────┤
│ inv_01HT... │ cus_01HT3N.. │ paid │ 150.00 │ GBP │ 2026-04-01 │
│ inv_01HT... │ cus_01HT4P.. │ open │ 75.00 │ USD │ 2026-04-15 │
│ inv_01HT... │ cus_01HT5Q.. │ overdue │ 200.00 │ EUR │ 2026-03-20 │
└──────────────────┴──────────────┴──────────┴────────────┴──────────┴────────────┘Status values are color-coded: paid (green), open (blue), draft (gray), overdue (red background), void (red).
# Create, finalize, and send an invoice
revkeen invoices --create # outputs inv_01HT...
revkeen invoices --finalize inv_01HT...
revkeen invoices --send inv_01HT...payments
Manage payment intents — create, capture authorized payments, and cancel.
revkeen payments [options]Options
| Flag | Description |
|---|---|
--list | List payment intents (limit 20) |
--get <id> | Get a payment intent by ID (prints JSON) |
--create | Create a payment intent interactively |
--capture <id> | Capture an authorized payment |
--cancel <id> | Cancel a payment intent |
Examples
revkeen payments --list
revkeen payments --get pi_01HT...
revkeen payments --capture pi_01HT...refunds
Issue full or partial refunds.
revkeen refunds [options]Options
| Flag | Description |
|---|---|
--list | List refunds (limit 20) |
--get <id> | Get a refund by ID (prints JSON) |
--create | Create a refund interactively |
Interactive prompts (--create)
| Prompt | Placeholder | Required | Notes |
|---|---|---|---|
| Payment ID to refund | txn_xxx | Yes | |
| Amount to refund in minor units | 1000 | No | Leave empty for a full refund |
| Reason for refund | — | Yes | Select: No reason, Duplicate charge, Fraudulent, Requested by customer |
Examples
revkeen refunds --list┌──────────────────┬──────────┬──────────┬───────────┬──────────────────────┐
│ ID │ Amount │ Currency │ Status │ Reason │
├──────────────────┼──────────┼──────────┼───────────┼──────────────────────┤
│ ref_01HT... │ 50.00 │ GBP │ succeeded │ Requested by customer│
│ ref_01HT... │ 150.00 │ USD │ pending │ Duplicate charge │
└──────────────────┴──────────┴──────────┴───────────┴──────────────────────┘orders
Full order lifecycle — create, pay, fulfill, and cancel.
revkeen orders [options]Options
| Flag | Description |
|---|---|
--list | List orders (limit 20) |
--get <id> | Get an order by ID (prints JSON) |
--create | Create an order interactively |
--pay <id> | Mark an order as paid |
--fulfill <id> | Mark an order as fulfilled |
--cancel <id> | Cancel an order |
Examples
revkeen orders --list
revkeen orders --pay ord_01HT...
revkeen orders --fulfill ord_01HT...webhooks
Manage webhook endpoints and event subscriptions.
revkeen webhooks [options]Options
| Flag | Description |
|---|---|
--list | List webhook endpoints (limit 20) |
--create | Create a webhook endpoint interactively |
--delete <id> | Delete a webhook endpoint (prompts for confirmation) |
Interactive prompts (--create)
| Prompt | Placeholder | Required | Notes |
|---|---|---|---|
| Webhook URL | https://example.com/webhooks | Yes | Must be a valid URL |
| Select events to listen for | — | Yes | Multi-select from 30+ event types |
Available event categories: invoice.*, payment_intent.*, customer.*, subscription.*, order.*, refund.*, charge.*, checkout.session.completed
Examples
revkeen webhooks --list┌──────────────────┬──────────────────────────────────┬────────┬──────────┐
│ ID │ URL │ Events │ Status │
├──────────────────┼──────────────────────────────────┼────────┼──────────┤
│ we_01HT... │ https://acme.com/webhooks │ 5 │ active │
│ we_01HT... │ https://example.com/hooks/revkeen│ 12 │ active │
└──────────────────┴──────────────────────────────────┴────────┴──────────┘When you create a webhook endpoint, the CLI prints a signing secret. Store it immediately — it will not be shown again.
entitlements
Check what a customer is entitled to.
revkeen entitlements [options]Options
| Flag | Description |
|---|---|
--list <customerId> | List entitlements for a customer |
--check | Check a specific entitlement interactively |
Examples
revkeen entitlements --list cus_01HT3N...integrations
View integration status and trigger syncs.
revkeen integrations [options]Options
| Flag | Description |
|---|---|
--list | List connected integrations |
--get <provider> | Get integration details by provider name |
--sync <provider> | Trigger a manual sync for a provider |
Supported providers: xero, quickbooks, practicehub
Examples
revkeen integrations --list
revkeen integrations --sync xeroautomations
Manage automations, view runs, and handle approval workflows.
revkeen automations [options]Options
| Flag | Description |
|---|---|
--list | List automations |
--get <id> | Get automation details (prints name, status, trigger, risk, objective) |
--run <id> | Queue a manual automation run |
--runs <automationId> | List runs for an automation |
--run-detail <runId> | Get details for a specific run (prints summary, step count, approval count) |
--approvals | List pending and historical approvals |
--approve <approvalId> | Approve an automation approval |
--reject <approvalId> | Reject an automation approval |
--reason <reason> | Reason for rejection (used with --reject) |
Examples
revkeen automations --list┌──────────────────┬───────────────────────┬──────────┬──────────────┬────────┐
│ ID │ Name │ Status │ Trigger │ Risk │
├──────────────────┼───────────────────────┼──────────┼──────────────┼────────┤
│ auto_01HT... │ Dunning follow-up │ active │ invoice.overdue │ medium │
│ auto_01HT... │ Welcome onboarding │ active │ customer.created│ low │
└──────────────────┴───────────────────────┴──────────┴──────────────┴────────┘# Review and approve pending automation approvals
revkeen automations --approvals
revkeen automations --approve apr_01HT...
# Reject with a reason
revkeen automations --reject apr_01HT... --reason "Needs manual review first"analytics
Read-only reporting summaries.
revkeen analytics [options]Options
| Flag | Description |
|---|---|
--mrr | View Monthly Recurring Revenue summary |
--revenue | View revenue time series (prompts for date range) |
--ar-aging | View accounts receivable aging buckets |
--dso | View days sales outstanding |
--ltv | View customer lifetime value |
Interactive prompts (--revenue)
| Prompt | Placeholder |
|---|---|
| Start date (ISO 8601) | 2026-01-01 |
| End date (ISO 8601) | 2026-12-31 |
Examples
revkeen analytics --mrrMonthly Recurring Revenue
─────────────────────────────
MRR: 10,000.00
Previous: 9,500.00
Growth: ↑ 500.00
New MRR: 1,200.00
Churned MRR: 700.00revkeen analytics --dsoDSO values are color-coded: 30 or under (green), 31–60 (yellow), over 60 (red).
revkeen analytics --ltvAverage LTV: 1,250.00
Median LTV: 980.00checkout
Create hosted checkout sessions.
revkeen checkout [options]Options
| Flag | Description |
|---|---|
--create | Create a checkout session interactively |
Examples
revkeen checkout --createterminal
Terminal / POS device management.
revkeen terminal [options]Options
| Flag | Description |
|---|---|
--devices | List terminal devices |
--payments | List terminal payments |
--pay | Create a terminal payment interactively |
Terminal commands are not yet available in the public CLI. Use the dashboard or connector SDK for terminal operations.
Error handling
The CLI surfaces errors as inline messages. Common cases:
| Scenario | Output |
|---|---|
| Missing API key (no env var) | Interactive prompt: "Enter your RevKeen API key:" |
| Invalid API key format | Validation error (key must start with rk_) |
| API error (401, 404, 500) | Prints the error message from the API response |
| No results | "No {resource} found." |
| No flag specified | "Use --list, --get <id>, ..." help text |
The CLI does not currently have specific handling for rate limiting — rate limit errors bubble up as API error messages.
Limitations
- All list commands return a maximum of 20 results with no pagination flags
- No
--jsonoutput mode — use the REST API → or SDKs → for machine-readable data - No filtering flags (e.g.
--status,--customer-id) - No
login/logout/configcommands — authentication is env-var based - No
--no-colorflag — colors are always enabled - No webhook event replay or delivery history viewing