# Price variants

> For the complete machine-readable documentation index, see [llms.txt](https://apidocs.chargebee.com/llms.txt).


Price variant resource offers businesses the flexibility to manage pricing for multiple variations of an [item](/docs/api/items) (plan, addon, or charge) in the Product Catalog. It enables the creation of diverse pricing structures based on variables such as geography, partners, versions, and more.

**See also:** For a more detailed understanding of Price Variants, including how to enable, configure, and manage them, as well as their impact on other features, follow these resources:

-   [Price Variant Overview](https://www.chargebee.com/docs/2.0/variant-pricing-overview.html)
-   [Enabling Price Variant](https://www.chargebee.com/docs/2.0/variant-pricing-enable.html)
-   [Configuring Price Variant](https://www.chargebee.com/docs/2.0/variant-pricing-config.html)
-   [Impacted Features by Price Variant](https://www.chargebee.com/docs/2.0/variant-pricing-impacted-features.html)

## Sample Price variant

```json
{
  "updated_at": 1709200385,
  "name": "Germany Berlin",
  "created_at": 1709200385,
  "attributes": [
    {
      "name": "country",
      "value": "germany"
    },
    {..}
  ],
  "id": "germany-berlin",
  "external_name": "Germany",
  "resource_version": 1709200385728,
  "status": "active",
  "object": "price_variant"
}
```

## Price variants attributes

## Input Parameters

- `id` (required, string, max chars=100)
  The unique and immutable identifier of the price variant.

- `name` (required, string, max chars=100)
  A unique name of the price variant.

- `external_name` (optional, string, max chars=100)
  A unique display name for the price variant.

- `variant_group` (optional, string, max chars=100)
  The `variant_group` organizes similar `[price_variants](/docs/api/price_variants)` to optimize strategies such as bundling, geo-based pricing experiments, and campaign-specific pricing like `cb-atomic-pricing-` for effective grouping. The `variant_group` provides greater flexibility and precision in your pricing models.

- `description` (optional, string, max chars=500)
  Description of the price variant.

- `status` (optional, enumerated string)
  Status of a price variant.
  Possible enum values:
    - `active`
      Active price variant. This price variant can be attached to [item prices](/docs/api/item_prices) .
    - `archived`
      Archived price variant. This price variant is no longer `active` and cannot be attached to new [item prices](/docs/api/item_prices). Existing item prices that already have this price variant attached will continue to remain as is.
    - `deleted`
      Deleted price variant. The `id` and `name` of the deleted price variant can be reused.

- `created_at` (required, timestamp(UTC) in seconds)
  Timestamp indicating when this price variant is created.

- `resource_version` (optional, long)
  The version number of this resource. For every change made to the resource, `resource_version` is updated with a new timestamp in milliseconds.

- `updated_at` (optional, timestamp(UTC) in seconds)
  Timestamp indicating when this price variant was last updated.

- `archived_at` (optional, timestamp(UTC) in seconds)
  Timestamp indicating when this price variant was archived.

- `business_entity_id` (optional, string, max chars=50)
  The unique ID of the [business entity](/docs/api/business_entities) of this `price_variant`. This is applicable only when multiple business entities have been created for the site. The value of this attribute indicates that the resource is specific to the given business entity.

- `deleted` (required, boolean)
  Indicates whether the price variant has been deleted or not.

- `attributes` (optional, list of attribute)
  The list of price variant attribute values. Attributes can be used to store additional information about the price variant. For example, for a price variant called 'Germany', the attributes can be 'Country':'Germany', 'City':'Berlin' and so on.
  - `name` (required, string, max chars=100)
    Attribute name
  - `value` (required, string, max chars=100)
    Attribute value

