# Method: monetization.subscriptions.basePlans.offers.patch

- [HTTP request](https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.subscriptions.basePlans.offers/patch#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.subscriptions.basePlans.offers/patch#body.PATH_PARAMETERS)
- [Query parameters](https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.subscriptions.basePlans.offers/patch#body.QUERY_PARAMETERS)
- [Request body](https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.subscriptions.basePlans.offers/patch#body.request_body)
- [Response body](https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.subscriptions.basePlans.offers/patch#body.response_body)
- [Authorization scopes](https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.subscriptions.basePlans.offers/patch#body.aspect)
- [Try it!](https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.subscriptions.basePlans.offers/patch#try-it)

Updates an existing subscription offer.

### HTTP request

`PATCH https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{subscriptionOffer.packageName}/subscriptions/{subscriptionOffer.productId}/basePlans/{subscriptionOffer.basePlanId}/offers/{subscriptionOffer.offerId}`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `subscriptionOffer.packageName` | `string` Required. Immutable. The package name of the app the parent subscription belongs to. |
| `subscriptionOffer.productId` | `string` Required. Immutable. The ID of the parent subscription this offer belongs to. |
| `subscriptionOffer.basePlanId` | `string` Required. Immutable. The ID of the base plan to which this offer is an extension. |
| `subscriptionOffer.offerId` | `string` Required. Immutable. Unique ID of this subscription offer. Must be unique within the base plan. |

### Query parameters

| Parameters ||
|---|---|
| `updateMask` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#field-mask` format)`` Required. The list of fields to be updated. This is a comma-separated list of fully qualified names of fields. Example: `"user.displayName,photo"`. |
| `regionsVersion` | ``object (`https://developers.google.com/android-publisher/api-ref/rest/v3/RegionsVersion`)`` Required. The version of the available regions being used for the subscriptionOffer. |
| `allowMissing` | `boolean` Optional. If set to true, and the subscription offer with the given packageName, productId, basePlanId and offerId doesn't exist, an offer will be created. If a new offer is created, updateMask is ignored. |
| `latencyTolerance` | ``enum (`https://developers.google.com/android-publisher/api-ref/rest/v3/ProductUpdateLatencyTolerance`)`` Optional. The latency tolerance for the propagation of this product update. Defaults to latency-sensitive. |

### Request body

The request body contains an instance of `https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.subscriptions.basePlans.offers#SubscriptionOffer`.

### Response body

If successful, the response body contains an instance of `https://developers.google.com/android-publisher/api-ref/rest/v3/monetization.subscriptions.basePlans.offers#SubscriptionOffer`.

### Authorization scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/androidpublisher`