Set Product Prices
PUT https://api.secure.quotivity.com/v1/pricebooks/{priceBookId}/pricesSets prices for multiple products in a price book. Accepts either a single all-products price object or an array of specific-product price objects. Combine product changes into larger requests and keep parallel requests in the low single digits. Specific-product writes persist before HubSpot price-book membership is synchronized asynchronously, so membership is eventually consistent. Requests with more than 500 resolved entries are fully processed asynchronously and return 204. If a HubSpot-dependent request returns 429, wait at least retryAfterSeconds before retrying.
Send your API key in the x-api-key header. See Generating API keys.
Path parameters
Section titled “Path parameters”| Name | Type | Required | Description |
|---|---|---|---|
priceBookId |
string | Yes | — |
Request body
Section titled “Request body”Required, application/json: AllProductsPriceRequest | SpecificProductPriceRequest[]
Responses
Section titled “Responses”| Status | Body | Description |
|---|---|---|
200 |
PriceBookEntry[] | Prices set successfully |
204 |
— | Bulk update of more than 500 resolved entries accepted for asynchronous processing; no response body |
401 |
— | Unauthorized |
404 |
— | Price book not found |
429 |
HubSpotRateLimitResponse | HubSpot account cooldown is active. Wait at least retryAfterSeconds before retrying. |
500 |
— | Internal Server Error |
Schemas
Section titled “Schemas”AllProductsPriceRequest
Section titled “AllProductsPriceRequest”Extends SpecificProductPriceRequest.
| Field | Type | Required | Description |
|---|---|---|---|
productId |
all |
Yes | — |
adjustments |
map of string to PercentAdjustment | Yes | Price adjustments keyed by ISO 4217 currency code (for example USD, EUR); keys are uppercased by the API. The key is the currency; the value carries the adjustment only. When productId is all only percent adjustments are accepted. Send null for a currency to clear it. |
calculationIdOverride |
string | null | No | Optional calculated pricing override for this entry; null clears. |
allowUnitPriceEditing |
boolean | null | No | Entry-level unit-price editing flag for Quote Builder; null clears. Do not send inside adjustment objects. |
HubSpotRateLimitResponse
Section titled “HubSpotRateLimitResponse”Returned when a request that depends on HubSpot is blocked by an account cooldown. Wait at least retryAfterSeconds before retrying, use low single-digit concurrency, and combine product changes into larger requests.
| Field | Type | Required | Description |
|---|---|---|---|
message |
string | Yes | — |
code |
HUBSPOT_RATE_LIMIT |
Yes | — |
retryAfterSeconds |
integer | No | — |
Example message:
"HubSpot API rate limit reached. Please wait a few seconds and try again."Example retryAfterSeconds:
10NullAdjustment
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 | VolumeAdjustment | TableEnumAdjustment | TableRangeAdjustment | VariantAdjustment
SpecificProductPriceRequest
Section titled “SpecificProductPriceRequest”| Field | Type | Required | Description |
|---|---|---|---|
productId |
string | Yes | — |
adjustments |
map of string to NullAdjustment | OverrideAdjustment | PercentAdjustment | TableEnumAdjustment | TableRangeAdjustment | VariantAdjustment | VolumeAdjustment | No | 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. |
calculationIdOverride |
string | null | No | Optional calculated pricing override for this entry; null clears. |
allowUnitPriceEditing |
boolean | null | No | Entry-level unit-price editing flag for Quote Builder; null clears. Do not send inside adjustment objects. |
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.