Skip to main content
Skip to navigation

RevenueCat CLI command reference

Every RevenueCat CLI command, grouped the way the CLI groups them

AIAsk AIChatGPTClaude

This page lists every RevenueCat CLI command and what it does. To install the CLI, see Setup. For what the CLI is and when to use it instead of the dashboard, see RevenueCat CLI.

Groups and their order match rc --help. Within a group, commands are ordered by the sequence you'd run them in. The CLI itself is the source of truth for flags and arguments: rc commands prints the full command tree, and rc schema <cmd> prints any command's flags, arguments, and examples.

Some commands are experimental: hidden from rc --help until their feature ships, but runnable, revealed with rc --all, and marked "experimental": true in rc commands output.

Global flags

These flags work on every command:

FlagWhat it does
--jsonMachine-readable output with a stable shape
--no-inputFail rather than prompt, for scripts and CI
--project-id <id>Act on a specific project (precedence: flag → $RC_PROJECT_ID.revenuecat.json in the directory tree → the profile default)
--profile <name>Config profile (precedence: flag → $RC_PROFILErc profiles usedefault)
--api-key <key>Override the profile's API key ($RC_API_KEY)
--yes, -ySkip confirmation prompts
--quiet, -qSuppress non-essential output
--allAlso show experimental (unreleased) commands in help
--no-colorDisable ANSI color (also respects $NO_COLOR)
--format <expr>jq expression applied to --json output

Exit codes

CodeMeaning
0Success
1Error
2Bad usage
4Authentication / authorization
5Not found
6Rate limited

Get started

Authentication and profiles

CommandWhat it does
rc auth loginLog in with browser OAuth or an API key
rc auth signupCreate a RevenueCat account without a browser; see For coding agents
rc auth statusShow auth state and cached account identity
rc auth logoutClear credentials from the active profile
rc profiles listList configured profiles
rc profiles show [name]Show the resolved active or named profile
rc profiles use <name>Switch the active profile
rc profiles delete <name>Remove a profile

rc login and rc whoami are shortcuts for rc auth login and rc auth status.

Projects

CommandWhat it does
rc projects listList the projects your account can reach
rc projects show [id]Show one project
rc projects createCreate a project; --use saves it as the active project
rc projects use [project-id]Switch the profile's default project (interactive picker if no argument)

Setup

Guided setup and store credential flows. The store flows run locally: your Apple or Google sign-in stays between you and the store, and the CLI uploads only the resulting credentials to RevenueCat. <app-id> is the RevenueCat app ID (like app_abc), not a bundle ID or a store app ID.

CommandWhat it does
rc setupAgent-guided setup of your whole RevenueCat project; run it with --json to get the setup prompt for your own agent
rc setup apple [app-id]Sign in to App Store Connect, create the missing In-App Purchase and App Store Connect API keys, and upload them
rc setup google [app-id]Sign in to Google, bootstrap the Play service-account credential, grant package-scoped access, and upload it

The store flows are marked requires_human in rc commands: Apple and Google sign-in need a person in a local interactive terminal, because they involve two-factor authentication. The manual equivalents are documented in App Store Connect API keys, In-App Purchase keys, and Google Play service credentials.

Dashboard access

CommandWhat it does
rc open [section] [id]Open the dashboard deep-linked to the active project
rc browseOpen an interactive project hub in the terminal

Design paywalls

Paywalls

Create and edit Paywalls, including generating and editing them from a prompt.

CommandWhat it does
rc paywalls listList Paywalls
rc paywalls show <id>Show one Paywall
rc paywalls generate --prompt "..."Generate a Paywall with AI; --offering-id attaches it to an Offering
rc paywalls edit <paywall-id> --prompt "..."Edit a Paywall with AI, or continue a session with --session <file>
rc paywalls rewind --session <file>Undo the last editor action
rc paywalls publish [id]Publish the current draft (requires confirmation or --yes)
rc paywalls unpublish [id]Remove the published Paywall (requires confirmation or --yes)
rc paywalls attach <paywall-id> <offering-id>Attach or move a Paywall to an Offering (one Paywall per Offering)
rc paywalls detach <paywall-id>Make a Paywall standalone; unpublish a published Paywall first
rc paywalls delete <id>Delete a Paywall; attached or published Paywalls refuse without --force

Media assets and fonts

Assets for use in Paywalls.

CommandWhat it does
rc media-assets listList images in the project's Media Gallery
rc media-assets upload <file>Upload an image (jpg/png/webp/avif/heic/heif, up to 2 MiB) to the Media Gallery
rc fonts listList fonts uploaded to the project
rc fonts upload <file>Upload a font (ttf/otf, up to 5 MiB) for use in Paywalls

Manage your catalog

Products

Products are the purchasable items in your catalog; see Products overview. The store subcommands manage your store catalog as a reviewable plan: describe the desired state, review the computed diff, then apply it. The server decides which stores and fields it supports — App Store Connect and Google Play are the most complete. Store-state plans may not be available on every account yet.

CommandWhat it does
rc products listList Products
rc products show <id>Show one Product
rc products createCreate a Product
rc products update <id>Update a Product
rc products archive <id>Archive a Product (kept on file, hidden from new Offerings)
rc products restore <id>Restore an archived Product
rc products delete <id>Delete a Product
rc products push <id>Push a Product to the store
rc products prices [product-id]List Test Store and Web Billing prices
rc products prices set [product-id]Create or update Test Store prices idempotently (--price USD=9.99)
rc products store sync [app-id]Interactive store sync: gather desired state, review the diff, confirm, apply
rc products store plan [app-id]Persist a desired-state plan and its diff on the backend (--file <path|->)
rc products store listList persisted store plans
rc products store show <plan-id>Inspect a persisted plan from any process
rc products store apply <plan-id>Apply a reviewed plan (requires confirmation or --yes)
rc products store discard <plan-id>Discard a plan without applying
rc products store screenshot <product-id>Upload an App Review screenshot to App Store Connect for a Product

Entitlements

Entitlements gate what a Customer has access to; see Entitlements.

CommandWhat it does
rc entitlements listList Entitlements
rc entitlements show <id>Show one Entitlement
rc entitlements createCreate an Entitlement
rc entitlements update <id>Update an Entitlement
rc entitlements attach <id> <product-id> [...]Attach one or more Products
rc entitlements detach <id> <product-id> [...]Detach one or more Products
rc entitlements products <id>List the Entitlement's attached Products
rc entitlements archive <id>Archive an Entitlement
rc entitlements restore <id>Restore an archived Entitlement
rc entitlements delete <id>Delete an Entitlement

Offerings and packages

Offerings are the sets of Packages your app presents; see Offerings overview.

CommandWhat it does
rc offerings listList Offerings
rc offerings show <id>Show one Offering
rc offerings verify [id]Inspect the full Offering graph: Packages, Products, prices, Entitlements, Paywall state, and an issues array
rc offerings preview [app-id]Show the v1 SDK response an app receives, using the app's public SDK key
rc offerings createCreate an Offering
rc offerings update <id>Update an Offering
rc offerings set-current <id>Make an Offering the SDK's current Offering (requires confirmation or --yes)
rc offerings archive <id>Archive an Offering
rc offerings restore <id>Restore an archived Offering
rc offerings delete <id>Delete an Offering
rc offerings packages <offering-id>List an Offering's Packages
rc packages listList Packages across all Offerings
rc packages show <package-id>Show one Package
rc packages create <offering-id>Create a Package in an Offering
rc packages update <package-id>Update a Package
rc packages attach <package-id> <product-id> [...]Attach one or more Products
rc packages detach <package-id> <product-id> [...]Detach one or more Products
rc packages products <package-id>List a Package's attached Products and eligibility criteria
rc packages delete <package-id>Delete a Package

Manage customers & revenue

Customers

Look up and act on Customers. rc customers show embeds active Entitlements in one response.

CommandWhat it does
rc customers listList Customers
rc customers show [id]Show one Customer, including active Entitlements
rc customers aliases <id>List a Customer's aliases
rc customers attributes <id>List a Customer's attributes
rc customers set-attribute <id> <key> <value>Set a single Customer attribute
rc customers grant <customer-id> [entitlement-id]Grant a promotional Entitlement (--duration daily|weekly|monthly|yearly|lifetime|...)
rc customers revoke <id> <entitlement>Revoke a granted Entitlement
rc customers transfer <from> --to <id>Transfer purchases between Customers
rc customers override-offering <id> --offering <id>Override the Offering a Customer sees
rc customers clear-override <id>Clear a Customer's Offering override
rc customers restore-google <id> --token <t>Restore a Google purchase by token
rc customers simulate-purchaseCreate a real headless Test Store transaction (--app-id, --product, --app-user-id)
rc customers balances <id>Show a Customer's In-App Currency balances

Subscriptions, purchases, and invoices

CommandWhat it does
rc subscriptions show <id>Show one subscription
rc subscriptions transactions <id>List a subscription's transactions
rc subscriptions entitlements <id>List the Entitlements a subscription unlocks
rc subscriptions management-url <id>Show the subscription's management URL
rc subscriptions extend <id> --by <duration>Extend a subscription's billing period
rc subscriptions cancel <id>Cancel a subscription (Web Billing only)
rc subscriptions refund <id>Refund a subscription (Web Billing only)
rc purchases show <id>Show one purchase
rc purchases entitlements <id>List the Entitlements a purchase unlocks
rc purchases refund <id>Refund a purchase (Web Billing only)
rc invoices show <id>Show one invoice
rc invoices for <customer-id>List a Customer's invoices

Charts and metrics

Project analytics in the terminal; the same data as Charts in the dashboard.

CommandWhat it does
rc metricsShow project-wide overview KPIs
rc charts listPrint the available chart names
rc charts show <name>Show a chart: interactive in a terminal, raw data with --json (--filter key=value)
rc charts options <name>Show the filters a chart accepts

Connect apps & integrations

Apps

CommandWhat it does
rc apps listList the project's apps
rc apps show <id>Show one app
rc apps createCreate an app
rc apps update <id>Update an app
rc apps delete <id>Delete an app
rc apps keys <app-id>Show the app's public SDK keys
rc apps storekit-config <app-id>Show the app's StoreKit configuration; optionally writes a .storekit file
rc apps apple check [app-id]Validate Apple login, two-factor authentication, team selection, and key access (read-only)

Webhooks

Manage the project's webhooks.

CommandWhat it does
rc webhooks listList webhooks
rc webhooks show <id>Show one webhook
rc webhooks createCreate a webhook
rc webhooks update <id>Update a webhook
rc webhooks delete <id>Delete a webhook

Automate with AI

Skills

Install the AI Toolkit skills for your coding agent. See RevenueCat CLI for coding agents.

CommandWhat it does
rc skills installInstall the core skills globally; --project for repository-local, --all for the full catalog
rc skills promptsShow copy-ready starter prompts

Rico

Talk to Rico, RevenueCat's AI assistant, from the terminal.

CommandWhat it does
rc rico [message]Open a streaming chat with tool approvals; --plain for a line loop
rc rico --continueContinue the most recent conversation
rc rico -rPick a past conversation to resume
rc rico --print "..." --jsonHeadless: one answer and exit, for scripts and agents
rc rico conversations listList past conversations (show <id>, delete <id>)
rc rico feedback <run-id> <good|bad>Rate a Rico response

Advanced

The discovery commands are what agents use to learn the CLI's surface at runtime; see RevenueCat CLI for coding agents.

CommandWhat it does
rc commandsPrint the full command tree with capabilities (--json for agents)
rc schema <cmd>Print a command's flags, arguments, and examples
rc api <method> <path>Call any RevenueCat API v2 endpoint with the CLI's credentials (--body <json|@file|@->)
rc auditList recent audit log events (--limit, --cursor)
rc completion <shell>Generate shell completions (bash, zsh, fish, powershell)
rc versionPrint the CLI version
Was this page helpful?