Skip to main content

Update Pricing Tier

PUT 

/api/product-pricing-tiers/:product_pricing_tier

Update an existing product pricing tier. currency_code cannot be changed on update.

Required scope: products:write

Grant this scope to your token under Settings → Developer → Personal Access Tokens.

Authentication: Requires Bearer token.

Request body fields (all optional on update):

  • name (string, max:255, unique)
  • pricing_type — absolute or relative
  • base_pricing_tier_id (nullable integer) — required if pricing_type=relative
  • adjustment_percentage (nullable numeric, -99.9999 to 999.9999) — required if pricing_type=relative
  • adjustment_fixed_amount (nullable numeric)
  • rounding_value (nullable numeric, gt:0)

Relative tiers (pricing_type=relative) require relative_basis, one of:

  • pricing_tier — derive from another tier's price. Requires base_pricing_tier_id + adjustment_percentage.
  • supplier_pricing_tier — cost-plus from the product's primary supplier cost. Optional base_supplier_pricing_tier_id (defaults to the default supplier tier) + adjustment_percentage.
  • attribute — derive from a numeric/integer product attribute: value × attr_rate + attr_offset. Requires base_attribute_id + attr_rate (optional attr_offset).
  • average_cost — cost-plus from the product's average cost: the landed figure SKU.io maintains from received stock, so inbound freight, duty and customs are included once recorded. Requires adjustment_percentage; no base field. Products with no average cost yet get no price, and a cost that falls to zero (sold out) leaves the last price standing.

rounding_value and adjustment_fixed_amount apply to every basis. Supplier/pricing-tier bases inherit currency from their source, the average-cost basis uses the default currency; attribute basis uses currency_code.

Adjustment mode (adjustment_mode, optional, markup | margin, default markup) — how adjustment_percentage is applied on the percentage bases. markup: price = base × (1 + p%). margin: price = base ÷ (1 − p%), so p% of the sell price is margin over the base (the repricer's target-margin strategy); p must be below 100.

Price bounds (floor_pricing_tier_id, ceiling_pricing_tier_id, optional, relative tiers only) — clamp the computed price to another tier's price for the same product, e.g. never below a Cost tier, never above a MAP tier. Applied after rounding and the fixed amount; if the two cross the ceiling wins. A bound tier may not be this tier or anything that derives from it (circular reference), and a tier used as a bound cannot be deleted while tiers clamp to it. Bound changes re-price the tier, and a price change on a bound tier re-clamps every tier bounded by it.

Requires permission: pricing_tiers.update

Request​

Responses​

OK

Response Headers
    Content-Type