Set Option Product Prices
PUT https://api.secure.quotivity.com/v1/bundles/{bundleId}/options/{optionId}/{productId}/priceSets price adjustments for a product within a bundle option, organized by currency.
Send your API key in the x-api-key header. See Generating API keys.
Path parameters
Section titled “Path parameters”| Name | Type | Required | Description |
|---|---|---|---|
bundleId |
string | Yes | — |
optionId |
string | Yes | — |
productId |
string | Yes | — |
Request body
Section titled “Request body”Required, application/json: SetOptionProductPricesRequest
Responses
Section titled “Responses”| Status | Body | Description |
|---|---|---|
200 |
PriceBookEntry | Prices set successfully |
400 |
— | Invalid request (invalid currencies, option doesn’t belong to bundle, or product not found) |
401 |
— | Unauthorized |
500 |
— | Internal Server Error |
Schemas
Section titled “Schemas”CostPlusAdjustment
Section titled “CostPlusAdjustment”Derives the list price from the product’s hs_cost_of_goods_sold: basis amount adds value to cost; basis percent applies value as a fraction of cost (0.3 = 30%) as a markup (cost × (1 + value)) or a margin (cost ÷ (1 − value)). Non-primary currencies convert the cost with the account’s cached HubSpot exchange rate. value must not be negative and a margin must be below 1. Requires the Cost Plus feature (Enterprise).
Extends PriceAdjustmentBase.
| Field | Type | Required | Description |
|---|---|---|---|
type |
costplus |
Yes | — |
basis |
amount | percent |
Yes | — |
mode |
markup | margin |
No | Read only when basis is percent; defaults to markup. |
value |
number | Yes | Currency amount above cost for amount; fraction of cost for percent. |
round |
boolean | No | Round the derived price to 2 decimals (default true); false keeps 5 decimals. |
NullAdjustment
Section titled “NullAdjustment”Extends PriceAdjustmentBase.
| Field | Type | Required | Description |
|---|---|---|---|
type |
null |
Yes | Explicitly clear an adjustment (represents null). |
amount |
null |
Yes | Always null for a NullAdjustment. |
OverrideAdjustment
Section titled “OverrideAdjustment”Extends PriceAdjustmentBase.
| Field | Type | Required | Description |
|---|---|---|---|
type |
override |
Yes | — |
amount |
number | Yes | — |
PercentAdjustment
Section titled “PercentAdjustment”Extends PriceAdjustmentBase.
| Field | Type | Required | Description |
|---|---|---|---|
type |
percent |
Yes | — |
amount |
number | Yes | — |
PriceAdjustmentBase
Section titled “PriceAdjustmentBase”| Field | Type | Required | Description |
|---|---|---|---|
type |
string | Yes | — |
PriceBookEntry
Section titled “PriceBookEntry”| Field | Type | Required | Description |
|---|---|---|---|
accountId |
string | Yes | — |
priceBookId |
string | Yes | — |
productId |
string | Yes | — |
adjustments |
map of string to PriceBookEntryAdjustment | Yes | Price adjustments keyed by ISO 4217 currency code (for example USD, EUR). The key is the currency; the value carries the adjustment only. |
calculationIdOverride |
string | No | When set, overrides default calculated pricing for this price book entry. Cleared when null. |
allowUnitPriceEditing |
boolean | No | When true, sales reps may edit unit price in Quote Builder for this product on this price book (entry-level, not per currency). |
PriceBookEntryAdjustment
Section titled “PriceBookEntryAdjustment”Type: OverrideAdjustment | PercentAdjustment | CostPlusAdjustment | VolumeAdjustment | TableEnumAdjustment | TableRangeAdjustment | VariantAdjustment
SetOptionProductPricesRequest
Section titled “SetOptionProductPricesRequest”| Field | Type | Required | Description |
|---|---|---|---|
adjustments |
map of string to OverrideAdjustment | PercentAdjustment | VolumeAdjustment | NullAdjustment | TableEnumAdjustment | TableRangeAdjustment | Yes | Price adjustments keyed by ISO 4217 currency code (for example USD, EUR); keys are uppercased by the API. The key is the currency: an adjustment value carries no currency field of its own, and there is no currency field beside productId. Each value is a single adjustment object, or null to clear that currency. |
Example adjustments:
{ "USD": { "type": "override", "amount": 100 }, "EUR": { "type": "percent", "amount": 0.9 }}TableEnumAdjustment
Section titled “TableEnumAdjustment”Extends PriceAdjustmentBase.
| Field | Type | Required | Description |
|---|---|---|---|
type |
enum |
Yes | — |
property |
string | Yes | — |
values |
object[] | Yes | — |
TableRangeAdjustment
Section titled “TableRangeAdjustment”Extends PriceAdjustmentBase.
| Field | Type | Required | Description |
|---|---|---|---|
type |
range |
Yes | — |
property |
string | Yes | — |
values |
object[] | Yes | — |
VariantAdjustment
Section titled “VariantAdjustment”Extends PriceAdjustmentBase.
| Field | Type | Required | Description |
|---|---|---|---|
type |
variant |
Yes | — |
values |
object[] | Yes | — |
VolumeAdjustment
Section titled “VolumeAdjustment”Extends PriceAdjustmentBase.
| Field | Type | Required | Description |
|---|---|---|---|
type |
volume |
Yes | — |
tiers |
object[] | Yes | — |
Ask the help center
Answers come from these guides, with links to the articles used.
Ask anything about configuring quoting in Quotivity Studio.