Fields
Only the settings to change, at least one. Needs Pricing rules: Read and write. What each setting does: GET /pricing-settings.
| Field | Type | Rule |
|---|---|---|
| default_marginoptional | string, number or null | 0 to 10000: digits with an optional decimal part, such as "22.5", with no sign and no exponent. Best sent as a string, for an exact value; a JSON number is read as the string. Null clears it: no margin. |
| price_roundingoptional | string, number or null | 0 to 1000, on the same terms: an ending below 1, such as "0.99", or a step from 1, such as "5". Null clears it: no rounding. |
| enforce_map_flooroptional | boolean | true or false, never null: cleared, it would be on, which true says. |
- Everything you do not send is kept.
- All or nothing. Every setting sent is checked before any is saved, so a
422 validation_failedchanges nothing. A body with none of the three is refused, namedbody. - Money as decimal strings. The answer gives each setting back as the decimal string it is saved as, never as a number.
- What follows: exactly what follows a change on your Pricing screen. Each setting that changes is announced as
pricing_settings.updated, carrying all three as GET /pricing-settings answers them, in GET /changes for a key with Pricing rules and to your webhook, and your whole catalogue is worked out again, the new prices arriving asmerchant_price.recomputedchanges. A setting sent with the value it already has changes nothing and is not announced.
Returns
- 200All three settings as they are now, in
data. - 422validation_failed: a setting broke a rule, or the body has none of the three (named
body). Nothing was saved.
This endpoint can also answer 401 invalid_api_key, 403 license_not_active, 403 product_not_included, 403 insufficient_scope and 429 rate_limited.