Skip to content

gplay otp-offers

Manage one-time product purchase option offers.

gplay otp-offers <subcommand> [flags]

Manage offers within one-time product purchase options.

Offers provide promotional pricing or special terms for purchase options. Each offer is scoped to a specific purchase option within a one-time product.

List all offers for a purchase option.

gplay otp-offers list --package <name> --product-id <id> --purchase-option-id <id>
Flag Description Default
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--page-size Page size 100
--paginate Fetch all pages false
--pretty Pretty-print JSON output false
--product-id One-time product ID ``
--purchase-option-id Purchase option ID ``

Activate an OTP offer.

gplay otp-offers activate --package <name> --product-id <id> --purchase-option-id <id> --offer-id <id>
Flag Description Default
--offer-id Offer ID ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id One-time product ID ``
--purchase-option-id Purchase option ID ``

Deactivate an OTP offer.

gplay otp-offers deactivate --package <name> --product-id <id> --purchase-option-id <id> --offer-id <id>
Flag Description Default
--offer-id Offer ID ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id One-time product ID ``
--purchase-option-id Purchase option ID ``

Cancel an OTP offer.

gplay otp-offers cancel --package <name> --product-id <id> --purchase-option-id <id> --offer-id <id>
Flag Description Default
--offer-id Offer ID ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id One-time product ID ``
--purchase-option-id Purchase option ID ``

Get multiple OTP offers.

gplay otp-offers batch-get --package <name> --product-id <id> --purchase-option-id <id> --json <json>

Get multiple OTP offers in a single request.

JSON format: { “requests”: [ { “packageName”: “com.example.app”, “productId”: “premium_item”, “purchaseOptionId”: “default”, “offerId”: “launch_discount” }, { “packageName”: “com.example.app”, “productId”: “premium_item”, “purchaseOptionId”: “default”, “offerId”: “holiday_sale” } ] }

Up to 100 requests per batch. All requests must retrieve different offers.

Flag Description Default
--json BatchGetOneTimeProductOffersRequest JSON (or @file) ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id One-time product ID ``
--purchase-option-id Purchase option ID ``

Batch update multiple OTP offers.

gplay otp-offers batch-update --package <name> --product-id <id> --purchase-option-id <id> --json <json>

Batch update multiple OTP offers in a single request.

JSON format: { “requests”: [ { “oneTimeProductOffer”: { “packageName”: “com.example.app”, “productId”: “premium_item”, “purchaseOptionId”: “default”, “offerId”: “launch_discount” }, “regionsVersion”: { “version”: “2024001” }, “updateMask”: “oneTimeProductOffer.offerTags” } ] }

Up to 100 requests per batch. All requests must update different offers. Use updateMask to specify which fields to update.

Flag Description Default
--json BatchUpdateOneTimeProductOffersRequest JSON (or @file) ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id One-time product ID ``
--purchase-option-id Purchase option ID ``

Batch activate/deactivate/cancel multiple OTP offers.

gplay otp-offers batch-update-states --package <name> --product-id <id> --purchase-option-id <id> --json <json>

Batch update states for multiple OTP offers.

JSON format: { “requests”: [ { “activateOneTimeProductOfferRequest”: { “packageName”: “com.example.app”, “productId”: “premium_item”, “purchaseOptionId”: “default”, “offerId”: “launch_discount” } }, { “deactivateOneTimeProductOfferRequest”: { “packageName”: “com.example.app”, “productId”: “premium_item”, “purchaseOptionId”: “default”, “offerId”: “old_promo” } }, { “cancelOneTimeProductOfferRequest”: { “packageName”: “com.example.app”, “productId”: “premium_item”, “purchaseOptionId”: “default”, “offerId”: “preorder_deal” } } ] }

Each request must contain exactly one of:

  • activateOneTimeProductOfferRequest
  • deactivateOneTimeProductOfferRequest (for discounted offers)
  • cancelOneTimeProductOfferRequest (for pre-order offers)
Flag Description Default
--json BatchUpdateOneTimeProductOfferStatesRequest JSON (or @file) ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id One-time product ID ``
--purchase-option-id Purchase option ID ``

Batch delete OTP offers.

gplay otp-offers batch-delete --package <name> --product-id <id> --purchase-option-id <id> --json <json> --confirm

Batch delete multiple OTP offers in a single request.

JSON format: { “requests”: [ { “packageName”: “com.example.app”, “productId”: “premium_item”, “purchaseOptionId”: “default”, “offerId”: “launch_discount” }, { “packageName”: “com.example.app”, “productId”: “premium_item”, “purchaseOptionId”: “default”, “offerId”: “old_promo” } ] }

Up to 100 requests per batch. All requests must correspond to different offers. Requires –confirm.

Flag Description Default
--confirm Confirm deletion false
--json BatchDeleteOneTimeProductOffersRequest JSON (or @file) ``
--output Output format: json (default), table, markdown json
--package Package name (applicationId) ``
--pretty Pretty-print JSON output false
--product-id One-time product ID ``
--purchase-option-id Purchase option ID ``