RevKeenDocs
CLI

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:

FlagDescription
--help, -hShow help for the command
--version, -VPrint 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

VariableDefaultDescription
REVKEEN_API_KEYAPI key (must start with rk_). If unset, the CLI prompts interactively.
REVKEEN_API_URLhttps://api.revkeen.comOverride 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

FlagDescription
--listList customers (limit 20)
--get <id>Get a customer by ID (prints JSON)
--createCreate a customer interactively
--update <id>Update a customer interactively

Interactive prompts (--create)

PromptPlaceholderRequired
Customer nameJohn DoeYes
Customer emailjohn@example.comYes
Phone (optional)+44...No

Interactive prompts (--update)

PromptDefaultNote
New name (leave empty to skip)emptySkips if blank
New email (leave empty to skip)emptySkips 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

FlagDescription
--listList products (limit 20)
--get <id>Get a product by ID (prints JSON)
--createCreate a product interactively

Interactive prompts (--create)

PromptPlaceholderRequiredNotes
Product ID (slug)my-productYesURL-safe identifier
Product nameYesDisplay name
Description (optional)No
Product kindYesSelect: One-time, Subscription, Usage-based
Amount (in minor units)1000Yes1000 = 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

FlagDescription
--listList prices (limit 20)
--get <id>Get a price by ID (prints JSON)
--createCreate a price interactively

Examples

revkeen prices --list
revkeen prices --get prc_01HT...

subscriptions

View and cancel subscriptions.

revkeen subscriptions [options]

Options

FlagDescription
--listList subscriptions (limit 20)
--get <id>Get a subscription by ID (prints JSON)
--cancel <id>Cancel a subscription (prompts for confirmation)

Interactive prompts (--cancel)

PromptType
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

FlagDescription
--listList invoices (limit 20)
--get <id>Get an invoice by ID (prints JSON)
--createCreate 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)

PromptPlaceholderRequiredNotes
Customer IDcus_xxxYes
Total amount (in minor units)1000Yes1000 = 10.00. Must be non-negative.
CurrencyYesSelect: GBP, USD, EUR

Interactive prompts (--finalize)

PromptDefault
Auto-send the invoice after finalizing?No

Interactive prompts (--void)

PromptType
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

FlagDescription
--listList payment intents (limit 20)
--get <id>Get a payment intent by ID (prints JSON)
--createCreate 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

FlagDescription
--listList refunds (limit 20)
--get <id>Get a refund by ID (prints JSON)
--createCreate a refund interactively

Interactive prompts (--create)

PromptPlaceholderRequiredNotes
Payment ID to refundtxn_xxxYes
Amount to refund in minor units1000NoLeave empty for a full refund
Reason for refundYesSelect: 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

FlagDescription
--listList orders (limit 20)
--get <id>Get an order by ID (prints JSON)
--createCreate 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

FlagDescription
--listList webhook endpoints (limit 20)
--createCreate a webhook endpoint interactively
--delete <id>Delete a webhook endpoint (prompts for confirmation)

Interactive prompts (--create)

PromptPlaceholderRequiredNotes
Webhook URLhttps://example.com/webhooksYesMust be a valid URL
Select events to listen forYesMulti-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

FlagDescription
--list <customerId>List entitlements for a customer
--checkCheck a specific entitlement interactively

Examples

revkeen entitlements --list cus_01HT3N...

integrations

View integration status and trigger syncs.

revkeen integrations [options]

Options

FlagDescription
--listList 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 xero

automations

Manage automations, view runs, and handle approval workflows.

revkeen automations [options]

Options

FlagDescription
--listList 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)
--approvalsList 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

FlagDescription
--mrrView Monthly Recurring Revenue summary
--revenueView revenue time series (prompts for date range)
--ar-agingView accounts receivable aging buckets
--dsoView days sales outstanding
--ltvView customer lifetime value

Interactive prompts (--revenue)

PromptPlaceholder
Start date (ISO 8601)2026-01-01
End date (ISO 8601)2026-12-31

Examples

revkeen analytics --mrr
Monthly Recurring Revenue
─────────────────────────────
MRR:          10,000.00
Previous:     9,500.00
Growth:       ↑ 500.00
New MRR:      1,200.00
Churned MRR:  700.00
revkeen analytics --dso

DSO values are color-coded: 30 or under (green), 31–60 (yellow), over 60 (red).

revkeen analytics --ltv
Average LTV:  1,250.00
Median LTV:   980.00

checkout

Create hosted checkout sessions.

revkeen checkout [options]

Options

FlagDescription
--createCreate a checkout session interactively

Examples

revkeen checkout --create

terminal

Terminal / POS device management.

revkeen terminal [options]

Options

FlagDescription
--devicesList terminal devices
--paymentsList terminal payments
--payCreate 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:

ScenarioOutput
Missing API key (no env var)Interactive prompt: "Enter your RevKeen API key:"
Invalid API key formatValidation 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 --json output mode — use the REST API → or SDKs → for machine-readable data
  • No filtering flags (e.g. --status, --customer-id)
  • No login / logout / config commands — authentication is env-var based
  • No --no-color flag — colors are always enabled
  • No webhook event replay or delivery history viewing

See also