> For the complete documentation index, see [llms.txt](https://docs.2checkout.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.2checkout.com/api-reference/reference/price-options-group.md).

# Price Options Group

## Working example: Retrieve price option groups

> \*\*\*\
> \
> \*\*Overview\*\*\
> \
> Extract information on the price option groups you configured.

```json
{"openapi":"3.0.0","info":{"title":"API REST Documentation","version":"6.0-oas3"},"servers":[{"url":"https://api.2checkout.com/rest/6.0"}],"paths":{"/priceoptions/":{"get":{"tags":["Price options group"],"summary":"Working example: Retrieve price option groups","description":"***\n\n**Overview**\n\nExtract information on the price option groups you configured.","parameters":[{"name":"Accept","in":"header","required":true,"style":"simple","explode":false,"schema":{"type":"string","default":"application/json","enum":["application/json"]}},{"name":"X-Avangate-Authentication","in":"header","description":"Authentication header","required":true,"style":"simple","explode":false,"schema":{"type":"string"}},{"name":"Name","in":"query","description":"The name of the pricing options groups configured in the 2Checkout system. Can be NULL.","required":false,"style":"form","explode":true,"schema":{"type":"string"}},{"name":"Types","in":"query","description":"Possible values: RADIO, CHECKBOX, INTERVAL, COMBO. Can be NULL.","required":false,"style":"form","explode":true,"schema":{"type":"string","enum":["RADIO","CHECKBOX","INTERVAL","COMBO"]}},{"name":"Limit","in":"query","description":"Number of results displayed per page. Default maximum value is 10. Can be NULL.","required":false,"style":"form","explode":true,"schema":{"type":"integer"}},{"name":"Page","in":"query","description":"A specific page of search results. Default value is 1. Can be NULL.","required":false,"style":"form","explode":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}}}}
```

## Create price option groups

> \*\*\*\
> \
> \*\*Overview\*\*\
> \
> Create price option groups for your products.\
> \
> \- Send options for each pricing group or 2Checkout throws an exception.\
> \
> \- When adding an interval with no min / max values or overlapping values, 2Checkout throws an exception.\
> \
> \- For the PayPerUsage type, Required parameter can be only false. For any other usage type, the Required parameter it can be either false or true.

```json
{"openapi":"3.0.0","info":{"title":"API REST Documentation","version":"6.0-oas3"},"servers":[{"url":"https://api.2checkout.com/rest/6.0"}],"paths":{"/priceoptions/":{"post":{"tags":["Price options group"],"summary":"Create price option groups","description":"***\n\n**Overview**\n\nCreate price option groups for your products.\n\n- Send options for each pricing group or 2Checkout throws an exception.\n\n- When adding an interval with no min / max values or overlapping values, 2Checkout throws an exception.\n\n- For the PayPerUsage type, Required parameter can be only false. For any other usage type, the Required parameter it can be either false or true.","parameters":[{"name":"X-Avangate-Authentication","in":"header","description":"Authentication header","required":true,"style":"simple","explode":false,"schema":{"type":"string"}},{"name":"Accept","in":"header","required":true,"style":"simple","explode":false,"schema":{"type":"string","enum":["application/json"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePriceOptionGroups"}}}},"responses":{"201":{"description":"Created"}}}}},"components":{"schemas":{"CreatePriceOptionGroups":{"type":"object","properties":{"Code":{"description":"Unique code that The 2Checkout system generates or set for each pricing options group.","type":"string"},"Description":{"description":"Pricing option group description.","type":"string"},"Usage":{"description":"Can be PAYPERUSAGE / REGULAR","type":"string","enum":["PAYPERUSAGE","REGULAR"]},"UsagePricingModel":{"description":"Can be STEPPED / VOLUME","type":"string","enum":["STEPPED","VOLUME"]},"Name":{"description":"Price option group name. Use this parameter when adding a new price options group. To edit the name of a price option group use the Name parameter under the Translations object.","type":"string"},"Options":{"type":"array","items":{"$ref":"#/components/schemas/priceoptions_Options"}},"Required":{"description":"Can be TRUE / FALSE","type":"boolean"},"Translations":{"type":"array","items":{"$ref":"#/components/schemas/priceoptions_Translations"}},"Type":{"description":"\"The type of the pricing options group. Possible values:","type":"string"}}},"priceoptions_Options":{"required":["Code","Default","Description","Name","PriceImpact","ScaleMax","ScaleMin","SubscriptionImpact","Translations"],"type":"object","properties":{"Code":{"description":"The Pricing option child code.","type":"string"},"Default":{"description":"Can be TRUE / FALSE","type":"boolean"},"Description":{"description":"Pricing option child description.","type":"string"},"Name":{"description":"Pricing option child name.","type":"string"},"PriceImpact":{"$ref":"#/components/schemas/priceoptions_PriceImpact"},"ScaleMax":{"description":"The maximum value of a scale interval set for each pricing option child inside a pricing options group parent of the type INTERVAL.","type":"string"},"ScaleMin":{"description":"The minimum value of a scale interval set for each pricing option child inside a pricing options group parent of the type INTERVAL.","type":"string"},"SubscriptionImpact":{"nullable":true},"Translations":{"type":"array","items":{"$ref":"#/components/schemas/priceoptions_Translations"}}}},"priceoptions_PriceImpact":{"type":"object","properties":{"Amounts":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts"},"Impact":{"type":"string"},"ImpactOn":{"description":"\"Possible values:","nullable":true},"Method":{"description":"\"Possible values:","type":"string"},"Percent":{"description":"The value of the percentage out of the price per product unit, when you use PERCENT for Method.","nullable":true}}},"priceoptions_PriceImpact_Amounts":{"type":"object","properties":{"AUD":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"BRL":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"CAD":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"EUR":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"GBP":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"JPY":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"USD":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"}}},"priceoptions_PriceImpact_Amounts_AUD":{"type":"object","properties":{"Amount":{"description":"The amount defined for each specific currency active for your account, when you use FIXED for Method.","type":"string"},"Currency":{"description":"Currency ISO code - ISO 4217.","type":"string"}}},"priceoptions_Translations":{"required":["Description","Language","Name"],"type":"object","properties":{"Description":{"description":"Product pricing options group description, localized under Options.","type":"string","nullable":true},"Language":{"description":"ISO language code. (ISO 639-1 two-letter code).","type":"string"},"Name":{"description":"Product pricing options group name, localized under Options.","type":"string"}}}}}}
```

## Retrieve a price options group

> \*\*\*\
> \
> \*\*Overview\*\*\
> \
> Extract information about a specific price option group that you configured.

```json
{"openapi":"3.0.0","info":{"title":"API REST Documentation","version":"6.0-oas3"},"servers":[{"url":"https://api.2checkout.com/rest/6.0"}],"paths":{"/priceoptions/{GroupCode}/":{"get":{"tags":["Price options group"],"summary":"Retrieve a price options group","description":"***\n\n**Overview**\n\nExtract information about a specific price option group that you configured.","parameters":[{"name":"Accept","in":"header","required":true,"style":"simple","explode":false,"schema":{"type":"string","default":"application/json","enum":["application/json"]}},{"name":"X-Avangate-Authentication","in":"header","description":"Authentication header","required":true,"style":"simple","explode":false,"schema":{"type":"string"}},{"name":"GroupCode","in":"path","description":"The code that the 2Checkout system generates or that you set for the product pricing options group.","required":true,"style":"simple","explode":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}}}}
```

## Update price options

> \*\*\*\
> \
> \*\*Overview\*\*\
> \
> Update/edit an existing price options group you configured for your account.\
> \
> \- Price options intervals cannot overlap.\
> \
> \- You cannot update the Code and Required parameters of the price options group.\
> \
> \- For the PayPerUsage type, Required parameter can be only false. For any other usage type, the Required parameter it can be either false or true.

```json
{"openapi":"3.0.0","info":{"title":"API REST Documentation","version":"6.0-oas3"},"servers":[{"url":"https://api.2checkout.com/rest/6.0"}],"paths":{"/priceoptions/{GroupCode}/":{"put":{"tags":["Price options group"],"summary":"Update price options","description":"***\n\n**Overview**\n\nUpdate/edit an existing price options group you configured for your account.\n\n- Price options intervals cannot overlap.\n\n- You cannot update the Code and Required parameters of the price options group.\n\n- For the PayPerUsage type, Required parameter can be only false. For any other usage type, the Required parameter it can be either false or true.","parameters":[{"name":"X-Avangate-Authentication","in":"header","description":"Authentication header","required":true,"style":"simple","explode":false,"schema":{"type":"string"}},{"name":"Accept","in":"header","required":true,"style":"simple","explode":false,"schema":{"type":"string","enum":["application/json"]}},{"name":"GroupCode","in":"path","description":"The code that the 2Checkout system generates or that you set for the product pricing options group.","required":true,"style":"simple","explode":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePriceOptionGroups"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}}},"components":{"schemas":{"UpdatePriceOptionGroups":{"type":"object","properties":{"Code":{"description":"Unique code that The 2Checkout system generates or set for each pricing options group.","type":"string"},"Usage":{"type":"string","enum":["PAYPERUSAGE","REGULAR"]},"Description":{"description":"Pricing option group description.","type":"string"},"Name":{"description":"Price option group name. Use this parameter when adding a new price options group. To edit the name of a price option group use the Name parameter under the Translations object.","type":"string"},"Options":{"type":"array","items":{"$ref":"#/components/schemas/priceoptions_Options"}},"Required":{"description":"True if you made the pricing option group mandatory.","type":"boolean"},"Translations":{"type":"array","items":{"$ref":"#/components/schemas/priceoptions_Translations"}},"Type":{"description":"\"The type of the pricing options group. Possible values:","type":"string"}}},"priceoptions_Options":{"required":["Code","Default","Description","Name","PriceImpact","ScaleMax","ScaleMin","SubscriptionImpact","Translations"],"type":"object","properties":{"Code":{"description":"The Pricing option child code.","type":"string"},"Default":{"description":"Can be TRUE / FALSE","type":"boolean"},"Description":{"description":"Pricing option child description.","type":"string"},"Name":{"description":"Pricing option child name.","type":"string"},"PriceImpact":{"$ref":"#/components/schemas/priceoptions_PriceImpact"},"ScaleMax":{"description":"The maximum value of a scale interval set for each pricing option child inside a pricing options group parent of the type INTERVAL.","type":"string"},"ScaleMin":{"description":"The minimum value of a scale interval set for each pricing option child inside a pricing options group parent of the type INTERVAL.","type":"string"},"SubscriptionImpact":{"nullable":true},"Translations":{"type":"array","items":{"$ref":"#/components/schemas/priceoptions_Translations"}}}},"priceoptions_PriceImpact":{"type":"object","properties":{"Amounts":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts"},"Impact":{"type":"string"},"ImpactOn":{"description":"\"Possible values:","nullable":true},"Method":{"description":"\"Possible values:","type":"string"},"Percent":{"description":"The value of the percentage out of the price per product unit, when you use PERCENT for Method.","nullable":true}}},"priceoptions_PriceImpact_Amounts":{"type":"object","properties":{"AUD":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"BRL":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"CAD":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"EUR":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"GBP":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"JPY":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"},"USD":{"$ref":"#/components/schemas/priceoptions_PriceImpact_Amounts_AUD"}}},"priceoptions_PriceImpact_Amounts_AUD":{"type":"object","properties":{"Amount":{"description":"The amount defined for each specific currency active for your account, when you use FIXED for Method.","type":"string"},"Currency":{"description":"Currency ISO code - ISO 4217.","type":"string"}}},"priceoptions_Translations":{"required":["Description","Language","Name"],"type":"object","properties":{"Description":{"description":"Product pricing options group description, localized under Options.","type":"string","nullable":true},"Language":{"description":"ISO language code. (ISO 639-1 two-letter code).","type":"string"},"Name":{"description":"Product pricing options group name, localized under Options.","type":"string"}}}}}}
```

## GET /products/{ProductCode}/priceoptions/

> Retrieve a price options group

```json
{"openapi":"3.0.0","info":{"title":"API REST Documentation","version":"6.0-oas3"},"servers":[{"url":"https://api.2checkout.com/rest/6.0"}],"paths":{"/products/{ProductCode}/priceoptions/":{"get":{"tags":["Price options group"],"summary":"Retrieve a price options group","parameters":[{"name":"Accept","in":"header","required":true,"style":"simple","explode":false,"schema":{"type":"string","default":"application/json","enum":["application/json"]}},{"name":"X-Avangate-Authentication","in":"header","description":"Authentication header","required":true,"style":"simple","explode":false,"schema":{"type":"string"}},{"name":"ProductCode","in":"path","description":"The editable code that you control at product-level, not the unique, system-generated product ID.","required":true,"style":"simple","explode":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.2checkout.com/api-reference/reference/price-options-group.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
