| 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
rc-internal login
Session token auto-refreshes when expired. Store credentials in ~/.rc-internal/ (config package).
Projects
rc-internal internal projects list
rc-internal internal projects use -i <project_id>
rc-internal internal projects create -n "My App"
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 <project_id>
Entitlements
rc-internal internal entitlements list
rc-internal internal entitlements create -i pro -n "Pro Tier"
rc-internal internal entitlements attach-products -e <entitlement_id> --product-ids <id1>,<id2>
rc-internal internal entitlements detach-products -e <entitlement_id> --product-ids <id1>
rc-internal internal entitlements archive -e <entitlement_id>
rc-internal internal entitlements delete -e <entitlement_id>
Offerings
rc-internal internal offerings list
rc-internal internal offerings list --platform IOS
rc-internal internal offerings get -o <offering_id>
rc-internal internal offerings create -i weekly -n "Weekly"
rc-internal internal offerings update -o <offering_id> -n "New Name"
rc-internal internal offerings update -o <offering_id> --metadata '{"tier":"pro"}'
rc-internal internal offerings update -o <offering_id> --packages '[{"identifier":"my.weekly","display_name":"Weekly","products":[{"product_id":"prodXXXX"}]}]'
rc-internal internal offerings duplicate -o <offering_id> -i new-id -n "New Name"
rc-internal internal offerings duplicate -o <offering_id> -i new-id -n "New Name" --packages-only
rc-internal internal offerings set-current -o <offering_id>
rc-internal internal offerings archive -o <offering_id>
rc-internal internal offerings delete -o <offering_id>
Offering Metadata Schema
The --metadata flag supports rich JSON for paywall configuration:
{
"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
rc-internal internal products list
rc-internal internal products list --limit 2500
rc-internal internal products create --app-id <id> --product-type subscription --identifier my.weekly --name "Weekly Subscription"
rc-internal internal products create --app-id <id> --product-type non_consumable_product --identifier my.tip --name "Tip Jar"
rc-internal internal products update --product-id <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
rc-internal internal apps list
rc-internal internal apps subscription-groups -i <app_id>
rc-internal internal apps app-store-products create -i <app_id> --subscription-group-id <group_id> --identifier my.weekly --name "Weekly" --duration ONE_WEEK
Charts
rc-internal internal charts overview
rc-internal internal charts overview --sandbox
rc-internal internal charts overview-all
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
rc-internal internal experiments list
rc-internal internal experiments types
rc-internal internal experiments create -n "Price Test" -a <offering_a_id> -b <offering_b_id>
rc-internal internal experiments create -n "Price Test" -a <offering_a_id> -b <offering_b_id> --enrollment 50
rc-internal internal experiments create -n "Price Test" -a <offering_a_id> -b <offering_b_id> --primary-metric "Realized LTV per customer"
rc-internal internal experiments get -e <experiment_id>
rc-internal internal experiments pause -e <experiment_id>
rc-internal internal experiments resume -e <experiment_id>
rc-internal internal experiments stop -e <experiment_id>
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
rc-internal internal lists list
rc-internal internal lists list --limit 50
rc-internal internal lists get -l <list_id>
rc-internal internal lists manifest
Other Commands
rc-internal internal collaborators list
rc-internal internal apikeys list
rc-internal internal audit list
rc-internal internal stores-status
rc-internal internal stores-status stores
rc-internal internal stores-status product-stores
rc-internal internal utilities countries
Global Flags
-p, --project-id string RevenueCat project ID (required for most commands)
Quick Setup
rc-internal login
rc-internal internal projects list
rc-internal internal projects use -i <project_id>