--- name: rc-internal-cli description: >- Work with the rc-internal CLI for RevenueCat's internal dashboard API at app.revenuecat.com/internal/v1. Use session cookie authentication via `rc-internal login`. Covers projects, offerings, entitlements, products, apps, charts, experiments, subscriber lists, collaborators, API keys, audit logs, stores status, and utilities. Use when user mentions rc-internal, internal dashboard, session auth, or RevenueCat dashboard commands. --- # rc-internal CLI A CLI for RevenueCat's **Internal Dashboard API** at `https://app.revenuecat.com/internal/v1`. ## Authentication ```bash rc-internal login # Enter your RevenueCat email and password ``` Session token auto-refreshes when expired. Store credentials in `~/.rc-internal/` (config package). ## Projects ```bash rc-internal internal projects list # List all accessible projects rc-internal internal projects use -i # Set default project rc-internal internal projects create -n "My App" # Create a new project rc-internal internal projects create -n "My App" --platforms apple_native google_play rc-internal internal projects create -n "My App" --category "finance" rc-internal internal projects get -i # Get project details ``` ## Entitlements ```bash rc-internal internal entitlements list # List all entitlements rc-internal internal entitlements create -i pro -n "Pro Tier" # Create entitlement rc-internal internal entitlements attach-products -e --product-ids , rc-internal internal entitlements detach-products -e --product-ids rc-internal internal entitlements archive -e # Archive entitlement rc-internal internal entitlements delete -e # Delete entitlement ``` ## Offerings ```bash rc-internal internal offerings list # List all offerings rc-internal internal offerings list --platform IOS # Filter by platform rc-internal internal offerings get -o # Get offering details rc-internal internal offerings create -i weekly -n "Weekly" # Create offering rc-internal internal offerings update -o -n "New Name" rc-internal internal offerings update -o --metadata '{"tier":"pro"}' rc-internal internal offerings update -o --packages '[{"identifier":"my.weekly","display_name":"Weekly","products":[{"product_id":"prodXXXX"}]}]' rc-internal internal offerings duplicate -o -i new-id -n "New Name" rc-internal internal offerings duplicate -o -i new-id -n "New Name" --packages-only rc-internal internal offerings set-current -o # Set as current/default rc-internal internal offerings archive -o # Archive offering rc-internal internal offerings delete -o # Delete offering ``` ### Offering Metadata Schema The `--metadata` flag supports rich JSON for paywall configuration: ```json { "title": "Unlock Pro", "subtitle": "Get access to all premium features", "features": ["Feature 1", "Feature 2", "Feature 3"], "colorScheme": { "dark": { "primary": "#...", "background": "#..." }, "light": { "primary": "#...", "background": "#..." } }, "packages": [ { "rcIdentifier": "weekly", "type": "weekly", "title": "Weekly", "subtitle": "Try Pro this week", "shouldBeGivenProminance": false }, { "rcIdentifier": "annual", "type": "annual", "title": "Yearly", "subtitle": "Best value", "shouldBeGivenProminance": true }, { "rcIdentifier": "lifetime", "type": "lifetime", "title": "Lifetime", "subtitle": "One-time unlock" } ], "primarySelectedPackageIndex": 1, "headerImageURL": "https://...", "privacyPolicyURL": "https://...", "termsAndConditionsURL": "https://...", "reviews": [{ "review": "Great app!", "reviewer": "User", "stars": 5 }] } ``` ## Products ```bash rc-internal internal products list # List all products (default 100) rc-internal internal products list --limit 2500 # List with higher limit rc-internal internal products create --app-id --product-type subscription --identifier my.weekly --name "Weekly Subscription" rc-internal internal products create --app-id --product-type non_consumable_product --identifier my.tip --name "Tip Jar" rc-internal internal products update --product-id -n "New Name" ``` ### Product Types - `subscription` — Recurring subscription - `non_consumable_product` — One-time purchase (permanent) - `consumable_product` — One-time purchase (consumable) - `non_renewing_subscription` — Non-renewing subscription ## Apps ```bash rc-internal internal apps list # List all apps rc-internal internal apps subscription-groups -i # List subscription groups rc-internal internal apps app-store-products create -i --subscription-group-id --identifier my.weekly --name "Weekly" --duration ONE_WEEK ``` ## Charts ```bash rc-internal internal charts overview # Project overview analytics rc-internal internal charts overview --sandbox # Include sandbox data rc-internal internal charts overview-all # Overview across all projects rc-internal internal charts revenue --start-date 2024-01-01 --end-date 2024-12-31 rc-internal internal charts revenue --resolution 0 --sandbox rc-internal internal charts transactions --start-date 2024-01-01 rc-internal internal charts trials --start-date 2024-01-01 ``` ### Chart Resolution - `0` — Daily - `1` — Weekly - `2` — Monthly ## Experiments ```bash rc-internal internal experiments list rc-internal internal experiments types rc-internal internal experiments create -n "Price Test" -a -b rc-internal internal experiments create -n "Price Test" -a -b --enrollment 50 rc-internal internal experiments create -n "Price Test" -a -b --primary-metric "Realized LTV per customer" rc-internal internal experiments get -e rc-internal internal experiments pause -e rc-internal internal experiments resume -e rc-internal internal experiments stop -e ``` ### Experiment Types Run `rc-internal internal experiments types` to see available types. Common types: - `paywall_design` — Paywall design test - `subscription_duration` — Subscription duration test - `subscription_offering` — Subscription offering test ## Subscriber Lists ```bash rc-internal internal lists list # List subscriber lists rc-internal internal lists list --limit 50 rc-internal internal lists get -l # Get list details rc-internal internal lists manifest # Get manifest of all lists ``` ## Other Commands ```bash rc-internal internal collaborators list # List project collaborators rc-internal internal apikeys list # List API keys rc-internal internal audit list # List audit logs rc-internal internal stores-status # Get store connection status rc-internal internal stores-status stores # Alias rc-internal internal stores-status product-stores # Alias rc-internal internal utilities countries # List supported countries ``` ## Global Flags ```bash -p, --project-id string RevenueCat project ID (required for most commands) ``` ## Quick Setup ```bash rc-internal login rc-internal internal projects list rc-internal internal projects use -i ```