# REST Resource: partners.products

- [Resource: Product](https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#Product)
  - [JSON representation](https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#Product.SCHEMA_REPRESENTATION)
- [PriceConfig](https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#PriceConfig)
  - [JSON representation](https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#PriceConfig.SCHEMA_REPRESENTATION)
- [ProductType](https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#ProductType)
- [BundleDetails](https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#BundleDetails)
  - [JSON representation](https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#BundleDetails.SCHEMA_REPRESENTATION)
- [BundleElement](https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#BundleElement)
  - [JSON representation](https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#BundleElement.SCHEMA_REPRESENTATION)
- [EntitlementMode](https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#EntitlementMode)
- [Methods](https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#METHODS_SUMMARY)

## Resource: Product

A Product resource that defines a subscription service that can be resold.

| JSON representation |
|---|
| ``` { "name": string, "titles": [ { object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/LocalizedText`) } ], "subscriptionBillingCycleDuration": { object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/Duration`) }, "regionCodes": [ string ], "priceConfigs": [ { object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#PriceConfig`) } ], "productType": enum (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#ProductType`), "bundleDetails": { object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#BundleDetails`) }, "finiteBillingCycleDetails": { object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/FiniteBillingCycleDetails`) } } ``` |

| Fields ||
|---|---|
| `name` | `string` Identifier. Response only. Resource name of the product. It will have the format of "partners/{partner_id}/products/{productId}" |
| `titles[]` | ``object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/LocalizedText`)`` Output only. Localized human readable name of the product. |
| `subscriptionBillingCycleDuration` | ``object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/Duration`)`` Output only. Specifies the length of the billing cycle of the subscription. |
| `regionCodes[]` | `string` Output only. 2-letter ISO region code where the product is available in. Ex. "US" Please refer to: <https://en.wikipedia.org/wiki/ISO_3166-1> |
| `priceConfigs[]` | ``object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#PriceConfig`)`` Output only. Price configs for the product in the available regions. |
| `productType` | ``enum (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#ProductType`)`` Output only. Specifies the type of the product. |
| `bundleDetails` | ``object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#BundleDetails`)`` Output only. Specifies the details for a bundle product. |
| `finiteBillingCycleDetails` | ``object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/FiniteBillingCycleDetails`)`` Optional. Details for a subscription line item with finite billing cycles. If unset, the line item will be charged indefinitely. |

## PriceConfig

Configs the prices in an available region.

| JSON representation |
|---|
| ``` { "regionCode": string, "amount": { object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/Amount`) } } ``` |

| Fields ||
|---|---|
| `regionCode` | `string` Output only. 2-letter ISO region code where the product is available in. Ex. "US". |
| `amount` | ``object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/Amount`)`` Output only. The price in the region. |

## ProductType

The type of product.

| Enums ||
|---|---|
| `PRODUCT_TYPE_UNSPECIFIED` | Unspecified. It's reserved as an unexpected value, should not be used. |
| `PRODUCT_TYPE_SUBSCRIPTION` | The product is a subscription. |
| `PRODUCT_TYPE_BUNDLE_SUBSCRIPTION` | The product is a bundled subscription plan, which includes multiple subscription elements. |

## BundleDetails

Details for a bundle product.

| JSON representation |
|---|
| ``` { "bundleElements": [ { object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#BundleElement`) } ], "entitlementMode": enum (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#EntitlementMode`) } ``` |

| Fields ||
|---|---|
| `bundleElements[]` | ``object (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#BundleElement`)`` The individual products that are included in the bundle. |
| `entitlementMode` | ``enum (`https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products#EntitlementMode`)`` The entitlement mode of the bundle product. |

## BundleElement

The individual product that is included in the bundle.

| JSON representation |
|---|
| ``` { "product": string } ``` |

| Fields ||
|---|---|
| `product` | `string` Required. Output only. Product resource name that identifies the bundle element. The format is 'partners/{partner_id}/products/{productId}'. |

## EntitlementMode

The entitlement mode of a bundle product.

| Enums ||
|---|---|
| `ENTITLEMENT_MODE_UNSPECIFIED` | Unspecified. It's reserved as an unexpected value, should not be used. |
| `ENTITLEMENT_MODE_FULL` | All the bundle elements must be fully activated in a single request. |
| `ENTITLEMENT_MODE_INCREMENTAL` | The bundle elements could be incrementally activated. |

| ## Methods ||
|---|---|
| ### `https://developers.google.com/payments/reseller/subscription/reference/rest/v1/partners.products/list` | Currently, it doesn't support **YouTube** products. |