Skip to content

gplay baseplans

Manage subscription base plans.

gplay baseplans <subcommand> [flags]

Manage base plans within subscription products.

Base plans define the pricing tiers for a subscription, including:

  • Billing period (monthly, yearly, etc.)
  • Grace period
  • Renewal behavior
  • Regional pricing

Note: Base plans are created as part of the subscription. Use these commands to activate, deactivate, or delete existing base plans.

Activate a base plan.

gplay baseplans activate --package <name> --product-id <id> --base-plan-id <plan>
Flag Description Default
--base-plan-id Base plan ID ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id Subscription product ID ``

Deactivate a base plan (stops new subscriptions).

gplay baseplans deactivate --package <name> --product-id <id> --base-plan-id <plan>
Flag Description Default
--base-plan-id Base plan ID ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id Subscription product ID ``

Delete a base plan (only if never had subscribers).

gplay baseplans delete --package <name> --product-id <id> --base-plan-id <plan> --confirm
Flag Description Default
--base-plan-id Base plan ID ``
--confirm Confirm deletion false
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id Subscription product ID ``

Migrate subscriber prices to current base plan prices.

gplay baseplans migrate-prices --package <name> --product-id <id> --base-plan-id <plan> --json <json>

Migrate prices for existing subscribers.

JSON format: { “regionalPriceMigrations”: [ { “regionCode”: “US”, “oldestAllowedPriceVersionTime”: “2024-01-01T00:00:00Z”, “priceIncreaseType”: “PRICE_INCREASE_TYPE_OPT_IN” } ], “regionsVersion”: { “version”: “2024001” } }

priceIncreaseType values:

  • PRICE_INCREASE_TYPE_OPT_IN: User must accept
  • PRICE_INCREASE_TYPE_OPT_OUT: Auto-applied unless user cancels
Flag Description Default
--base-plan-id Base plan ID ``
--json Migration request JSON (or @file) ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id Subscription product ID ``

Batch activate/deactivate multiple base plans.

gplay baseplans batch-update-states --package <name> --product-id <id> --json <json>

Batch update states for multiple base plans.

JSON format: { “requests”: [ { “activateBasePlanRequest”: { “basePlanId”: “monthly” } }, { “deactivateBasePlanRequest”: { “basePlanId”: “yearly” } } ] }

Flag Description Default
--json Batch update states request JSON (or @file) ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id Subscription product ID ``

Batch migrate prices for multiple base plans.

gplay baseplans batch-migrate-prices --package <name> --product-id <id> --json <json>

Migrate prices for multiple base plans in a single request.

JSON format: { “requests”: [ { “basePlanId”: “monthly”, “regionalPriceMigrations”: [ { “regionCode”: “US”, “oldestAllowedPriceVersionTime”: “2024-01-01T00:00:00Z”, “priceIncreaseType”: “PRICE_INCREASE_TYPE_OPT_IN” } ], “regionsVersion”: { “version”: “2024001” } }, { “basePlanId”: “yearly”, “regionalPriceMigrations”: [ { “regionCode”: “DE”, “oldestAllowedPriceVersionTime”: “2024-06-01T00:00:00Z”, “priceIncreaseType”: “PRICE_INCREASE_TYPE_OPT_OUT” } ], “regionsVersion”: { “version”: “2024001” } } ] }

Up to 100 requests per batch. Each request targets a different base plan.

priceIncreaseType values:

  • PRICE_INCREASE_TYPE_OPT_IN: User must accept
  • PRICE_INCREASE_TYPE_OPT_OUT: Auto-applied unless user cancels
Flag Description Default
--json Batch migrate prices request JSON (or @file) ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id Subscription product ID ``