- [Resource: InAppProduct](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts.md.txt#InAppProduct)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts.md.txt#InAppProduct.SCHEMA_REPRESENTATION)
- [Status](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts.md.txt#Status)
- [PurchaseType](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts.md.txt#PurchaseType)
- [InAppProductListing](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts.md.txt#InAppProductListing)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts.md.txt#InAppProductListing.SCHEMA_REPRESENTATION)
- [ManagedProductTaxAndComplianceSettings](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts.md.txt#ManagedProductTaxAndComplianceSettings)
  - [JSON representation](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts.md.txt#ManagedProductTaxAndComplianceSettings.SCHEMA_REPRESENTATION)
- [Methods](https://developers.google.com/android-publisher/api-ref/rest/v3/inappproducts.md.txt#METHODS_SUMMARY)

## Resource: InAppProduct

An in-app product. The resource for InappproductsService.

| JSON representation |
|---|
| ``` { "packageName": string, "sku": string, "status": enum (`Status`), "purchaseType": enum (`PurchaseType`), "defaultPrice": { object (`Price`) }, "prices": { string: { object (`Price`) }, ... }, "listings": { string: { object (`InAppProductListing`) }, ... }, "defaultLanguage": string, "subscriptionPeriod": string, "trialPeriod": string, "gracePeriod": string, // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "subscriptionTaxesAndComplianceSettings": { object (`SubscriptionTaxAndComplianceSettings`) }, "managedProductTaxesAndComplianceSettings": { object (`ManagedProductTaxAndComplianceSettings`) } // End of mutually exclusive fields. } ``` |

| Fields ||
|---|---|
| `packageName` | `string` Package name of the parent app. |
| `sku` | `string` Stock-keeping-unit (SKU) of the product, unique within an app. |
| `status` | ``enum (`Status`)`` The status of the product, e.g. whether it's active. |
| `purchaseType` | ``enum (`PurchaseType`)`` The type of the product, e.g. a recurring subscription. |
| `defaultPrice` | ``object (`Price`)`` Default price. Cannot be zero, as in-app products are never free. Always in the developer's Checkout merchant currency. |
| `prices` | ``map (key: string, value: object (`Price`))`` Prices per buyer region. None of these can be zero, as in-app products are never free. Map key is region code, as defined by ISO 3166-1 alpha-2. An object containing a list of `"key": value` pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. |
| `listings` | ``map (key: string, value: object (`InAppProductListing`))`` inappproducts.list of localized title and description data. Map key is the language of the localized data, as defined by BCP-47, e.g. "en-US". An object containing a list of `"key": value` pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. |
| `defaultLanguage` | `string` Default language of the localized data, as defined by BCP-47. e.g. "en-US". |
| `subscriptionPeriod (deprecated)` | `string` > [!WARNING] > This item is deprecated! Deprecated: Subscriptions are no longer supported in the InAppProducts API. Use the Subscriptions API instead. |
| `trialPeriod (deprecated)` | `string` > [!WARNING] > This item is deprecated! Deprecated: Subscriptions are no longer supported in the InAppProducts API. Use the Subscriptions API instead. |
| `gracePeriod (deprecated)` | `string` > [!WARNING] > This item is deprecated! Deprecated: Subscriptions are no longer supported in the InAppProducts API. Use the Subscriptions API instead. |
| The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: ||
| `subscriptionTaxesAndComplianceSettings (deprecated)` | ``object (`SubscriptionTaxAndComplianceSettings`)`` > [!WARNING] > This item is deprecated! Deprecated: Subscriptions are no longer supported in the InAppProducts API. Use the Subscriptions API instead. |
| `managedProductTaxesAndComplianceSettings` | ``object (`ManagedProductTaxAndComplianceSettings`)`` Details about taxes and legal compliance. Only applicable to managed products. |
| End of mutually exclusive fields. ||

## Status

The status of an in-app product.

| Enums ||
|---|---|
| `statusUnspecified` | Unspecified status. |
| `active` | The product is published and active in the store. |
| `inactive` | The product is not published and therefore inactive in the store. |

## PurchaseType

The type of the product.

| Enums ||
|---|---|
| `purchaseTypeUnspecified` | Unspecified purchase type. |
| `managedUser` | The default product type - one time purchase. |
| `subscription` | Deprecated: Subscriptions are no longer supported in the InAppProducts API. Use the Subscriptions API instead. > [!WARNING] > This item is deprecated! |

## InAppProductListing

Store listing of a single in-app product.

| JSON representation |
|---|
| ``` { "title": string, "description": string, "benefits": [ string ] } ``` |

| Fields ||
|---|---|
| `title` | `string` Title for the store listing. |
| `description` | `string` Description for the store listing. |
| `benefits[] (deprecated)` | `string` > [!WARNING] > This item is deprecated! Deprecated: Subscriptions are no longer supported in the InAppProducts API. Use the Subscriptions API instead. |

## ManagedProductTaxAndComplianceSettings

Details about taxation and legal compliance for managed products.

| JSON representation |
|---|
| ``` { "eeaWithdrawalRightType": enum (`WithdrawalRightType`), "taxRateInfoByRegionCode": { string: { object (`RegionalTaxRateInfo`) }, ... }, "isTokenizedDigitalAsset": boolean, "regionalProductAgeRatingInfos": [ { object (`RegionalProductAgeRatingInfo`) } ], "productTaxCategoryCode": string } ``` |

| Fields ||
|---|---|
| `eeaWithdrawalRightType` | ``enum (`WithdrawalRightType`)`` Digital content or service classification for products distributed to users in the European Economic Area (EEA). The withdrawal regime under EEA consumer laws depends on this classification. Refer to the [Help Center article](https://support.google.com/googleplay/android-developer/answer/10463498) for more information. |
| `taxRateInfoByRegionCode` | ``map (key: string, value: object (`RegionalTaxRateInfo`))`` A mapping from region code to tax rate details. The keys are region codes as defined by Unicode's "CLDR". An object containing a list of `"key": value` pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. |
| `isTokenizedDigitalAsset` | `boolean` Whether this in-app product is declared as a product representing a tokenized digital asset. |
| `regionalProductAgeRatingInfos[]` | ``object (`RegionalProductAgeRatingInfo`)`` Regional age rating information. Currently this field is only supported for region code `US`. |
| `productTaxCategoryCode` | `string` Product tax category code to assign to the in-app product. Product tax category determines the transaction tax rates applied to the product. Refer to the [Help Center article](https://support.google.com/googleplay/android-developer/answer/16408159) for more information. |

| ## Methods ||
|---|---|
| ### `batchDelete` | Deletes in-app products (managed products or subscriptions). |
| ### `batchGet` | Reads multiple in-app products, which can be managed products or subscriptions. |
| ### `batchUpdate` | Updates or inserts one or more in-app products (managed products or subscriptions). |
| ### `delete` | Deletes an in-app product (a managed product or a subscription). |
| ### `get` | Gets an in-app product, which can be a managed product or a subscription. |
| ### `insert` | Creates an in-app product (a managed product or a subscription). |
| ### `list` | Lists all in-app products - both managed products and subscriptions. |
| ### `patch` | Patches an in-app product (a managed product or a subscription). |
| ### `update` | Updates an in-app product (a managed product or a subscription). |

## Error codes

The operations of this resource, return the following HTTP error codes:

| Error code | Reason | Description | Resolution |
|---|---|---|---|