Method: monetization.onetimeproducts.purchaseOptions.batchDelete
Stay organized with collections
Save and categorize content based on your preferences.
Deletes purchase options across one or multiple one-time products.
By default this operation will fail if there are any existing offers under the deleted purchase options. Use the force parameter to override the default behavior.
HTTP request
POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/oneTimeProducts/{productId}/purchaseOptions:batchDelete
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters |
packageName |
string
Required. The parent app (package name) of the purchase options to delete.
|
productId |
string
Required. The product ID of the parent one-time product, if all purchase options to delete belong to the same one-time product. If this batch delete spans multiple one-time products, set this field to "-".
|
Request body
The request body contains data with the following structure:
Fields |
requests[] |
object (DeletePurchaseOptionRequest )
Required. A list of delete requests of up to 100 elements. All requests must delete purchase options from different one-time products.
|
Response body
If successful, the response body is an empty JSON object.
Authorization scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/androidpublisher
DeletePurchaseOptionRequest
Request message for deleting a purchase option.
JSON representation |
{
"packageName": string,
"productId": string,
"purchaseOptionId": string,
"latencyTolerance": enum (ProductUpdateLatencyTolerance ),
"force": boolean
} |
Fields |
packageName |
string
Required. The parent app (package name) of the purchase option to delete.
|
productId |
string
Required. The parent one-time product (ID) of the purchase option to delete.
|
purchaseOptionId |
string
Required. The purchase option ID of the purchase option to delete.
|
latencyTolerance |
enum (ProductUpdateLatencyTolerance )
Optional. The latency tolerance for the propagation of this product update. Defaults to latency-sensitive.
|
force |
boolean
Optional. This field has no effect for purchase options with no offers under them. For purchase options with associated offers: * If force is set to false (default), an error will be returned. * If force is set to true, any associated offers under the purchase option will be deleted.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-07-16 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-16 UTC."],[],[],null,["# Method: monetization.onetimeproducts.purchaseOptions.batchDelete\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization scopes](#body.aspect)\n- [DeletePurchaseOptionRequest](#DeletePurchaseOptionRequest)\n - [JSON representation](#DeletePurchaseOptionRequest.SCHEMA_REPRESENTATION)\n- [Try it!](#try-it)\n\nDeletes purchase options across one or multiple one-time products.\n\nBy default this operation will fail if there are any existing offers under the deleted purchase options. Use the force parameter to override the default behavior.\n\n### HTTP request\n\n`POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/oneTimeProducts/{productId}/purchaseOptions:batchDelete`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `packageName` | `string` Required. The parent app (package name) of the purchase options to delete. |\n| `productId` | `string` Required. The product ID of the parent one-time product, if all purchase options to delete belong to the same one-time product. If this batch delete spans multiple one-time products, set this field to \"-\". |\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"requests\": [ { object (/android-publisher/api-ref/rest/v3/monetization.onetimeproducts.purchaseOptions/batchDelete#DeletePurchaseOptionRequest) } ] } ``` |\n\n| Fields ||\n|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `requests[]` | `object (`[DeletePurchaseOptionRequest](/android-publisher/api-ref/rest/v3/monetization.onetimeproducts.purchaseOptions/batchDelete#DeletePurchaseOptionRequest)`)` Required. A list of delete requests of up to 100 elements. All requests must delete purchase options from different one-time products. |\n\n### Response body\n\nIf successful, the response body is an empty JSON object.\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/androidpublisher`\n\nDeletePurchaseOptionRequest\n---------------------------\n\nRequest message for deleting a purchase option.\n\n| JSON representation |\n|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"packageName\": string, \"productId\": string, \"purchaseOptionId\": string, \"latencyTolerance\": enum (/android-publisher/api-ref/rest/v3/ProductUpdateLatencyTolerance), \"force\": boolean } ``` |\n\n| Fields ||\n|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `packageName` | `string` Required. The parent app (package name) of the purchase option to delete. |\n| `productId` | `string` Required. The parent one-time product (ID) of the purchase option to delete. |\n| `purchaseOptionId` | `string` Required. The purchase option ID of the purchase option to delete. |\n| `latencyTolerance` | `enum (`[ProductUpdateLatencyTolerance](/android-publisher/api-ref/rest/v3/ProductUpdateLatencyTolerance)`)` Optional. The latency tolerance for the propagation of this product update. Defaults to latency-sensitive. |\n| `force` | `boolean` Optional. This field has no effect for purchase options with no offers under them. For purchase options with associated offers: \\* If `force` is set to false (default), an error will be returned. \\* If `force` is set to true, any associated offers under the purchase option will be deleted. |"]]