CLI
Manage your store, products, licenses, and more from the terminal
Installation
bun add -g @revnu/cli
# or
npm install -g @revnu/cliAuthentication
Authenticate with a browser-based device code flow:
revnu auth login # Opens browser to authenticate
revnu auth logout # Clear stored credentials
revnu auth status # Check authentication stateCommands
All commands are prefixed with revnu. Every command supports --json for machine-readable output.
Store
View and update your store's name, description, currency, and branding.
revnu store get # View store details
revnu store update # Update store settingsSettings
nameStore display namedescriptionStore descriptioncurrencyDefault currency for new products (USD, GBP, EUR)Branding
- Logo & Favicon — upload custom or use AI-generated SVG assets
- Colors — primary and accent colors (or auto-extract from logo)
- Font & Style — choose a brand font and style preset (modern, playful, elegant, bold, minimal, vintage)
- Checkout Appearance — custom checkout styling (Grow+ plan)
Note: store currency cannot be changed once products have been created.
Products
Create and manage products with flexible pricing, delivery methods, and license configuration.
revnu products list # List all products
revnu products get <id> # Get product details
revnu products create # Create a new product
revnu products update <id> # Update a product
revnu products delete <id> # Delete a productPricing
one-timeSingle payment. Customer pays once and gets permanent access.monthlyRecurring subscription billed every month.Price is set in cents (e.g., 2999 = $29.99). Currency is inherited from your store and cannot be changed after Stripe sync.
Delivery Features
license_keySoftware license keys with per-device activation limits.web_appWeb app access via the RevnuAuth SDK.discordDiscord role assignment on purchase.Status
Products start as draft and become active once synced to Stripe. Use isActive to show or hide a product from your storefront.
Licenses
Manage license keys issued to buyers. Keys are auto-generated on purchase in the format XXXX-XXXX-XXXX-XXXX.
revnu licenses list # List license keys
revnu licenses get <id> # Get license key details
revnu licenses revoke <id> # Revoke a license key
revnu licenses reactivate <id> # Reactivate a revoked keyStatus
activeLicense is valid and can be activated on devices.revokedLicense has been revoked. All device activations are deactivated.expiredSubscription lapsed or license period ended.Device Activation
Each license tracks maxDevices (set on the product, null = unlimited) and activationCount. Devices are identified by fingerprint (MAC, CPU ID, or FingerprintJS). Activating the same device twice is idempotent.
Validation
No API key required — the license key itself is the credential. Validation checks subscription status (active, cancelled, past_due) and returns the productId so your app can verify it matches the expected product.
Analytics
View key business metrics, revenue trends, and recent purchase activity.
revnu analytics kpis # View KPIs (revenue, MRR, churn, etc.)
revnu analytics revenue # Revenue timeseries data
revnu analytics purchases # Recent purchasesKPI Metrics
MRRMonthly Recurring Revenue — sum of active subscriptionsARRAnnual Recurring Revenue — MRR multiplied by 12Active MembersUnique buyers with active purchasesTotal MembersAll unique buyers across your storeTotal SalesSum of all purchase amountsRevenue
Returns timeseries revenue data for charting trends over time.
Purchases
Lists recent purchases with buyer info, amount, status, and product details.
Purchases
View purchase records including buyer info, payment details, and subscription status.
revnu purchases list # List all purchases
revnu purchases get <id> # Get purchase detailsStatus
activeSubscription is current or one-time purchase is fulfilledcancelledBuyer cancelled their subscriptionpast_duePayment failed — Stripe is retryingpausedSubscription is temporarily pausedawaiting_joinPending Discord role assignmentDetails
Each purchase includes the amount charged, currency, buyer email or Discord ID, Stripe customer info, and refund status. For subscriptions, cancelAtPeriodEnd indicates a scheduled cancellation at the end of the billing period.
Coupons
Create discount codes for your products. Coupons support percentage or fixed-amount discounts, flexible duration, and product-level scoping.
revnu coupons list # List coupons
revnu coupons create # Create a coupon
revnu coupons update <id> # Update a coupon
revnu coupons pause <id> # Pause an active coupon
revnu coupons activate <id> # Activate a paused coupon
revnu coupons delete <id> # Delete a couponDiscount Type
percentPercentage off the price. Value of 20 = 20% off.fixedFixed amount off in cents. Value of 500 = $5.00 off.Duration
Controls how the discount applies to subscription products:
onceFirst payment only.repeatingSet number of months (configure durationInMonths).foreverEvery payment.Scope
allApplies to any product in your store.specificApplies only to selected products.Advanced Options
- Max Redemptions — limit total uses
- First Purchase Only — only valid for first purchase
- Minimum Amount — minimum cart value required
- Expires At — expiration date
Note: coupon code, discount type, and discount value cannot be changed after creation.
Affiliates
Set up a referral program so others can promote your products for commission.
revnu affiliates list # List affiliates
revnu affiliates create # Invite a new affiliate
revnu affiliates update <id> # Update an affiliate
revnu affiliates delete <id> # Remove an affiliate
revnu affiliates settings # View/update affiliate program settingsHow It Works
- 1. Affiliate shares their unique referral link
- 2. Buyer clicks — a tracking cookie is set for the configured duration
- 3. Buyer purchases — affiliate earns their commission
- 4. Process payouts through Stripe when earnings meet the minimum
Program Settings
defaultCommissionTypepercentage or fixeddefaultCommissionValueCommission rate or amountdefaultDiscountTypeBuyer discount typedefaultDiscountValueBuyer discount amountcookieExpirationDaysReferral tracking durationminimumPayoutCentsMinimum earnings before payoutA/B Tests
Split-test your landing page variants to find what converts best.
revnu abtests list # List all A/B tests
revnu abtests create # Create a new A/B test
revnu abtests results <id> # View test results
revnu abtests start <id> # Start a test
revnu abtests pause <id> # Pause a running test
revnu abtests stop <id> # Stop a test
revnu abtests delete <id> # Delete a testStatus
draftTest is being configured — variants and weights are editablerunningTest is live and traffic is being splitpausedTest is temporarily stoppedcompletedTest is finished — winner is selectedVariants
Each test requires at least 2 variants. Each variant points to a landing page deployment and has a traffic weight (0–100). Weights must sum to exactly 100.
Configuration
- Duration — 1 to 90 days, auto-completes when reached
- Goal Event — defaults to
checkout_completed
Note: variants and weights can only be edited while the test is in draft status.
JSON Output
Add --json to any command for machine-readable output:
revnu products list --json
revnu analytics kpis --jsonAgent Skill
Add the Revnu skill to your AI agent so it can manage your store on your behalf. Compatible with any agent that supports skills.sh.
npx skills add revnu-app/skillThe skill enables natural-language commands like "list my products", "what's my revenue?", or "create a discount code".
API Key & MCP Setup
Generate an API key in your dashboard under CLI to connect AI tools like Claude, Cursor, or Codex. See the MCP Server docs for setup instructions.