Update Pricing Sync Profile
PUT/api/v2/pricing-sync-profiles/:pricingSyncProfile
Update a pricing sync profile. The profile is replaced whole — send every field, not just the ones that changed.
integrations:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
When the price-shaping policy changed (sequence, floor, ceiling, maximum change or Amazon rule) and the profile is in use, every listing it governs is re-priced in the background and tracked_job_log_id identifies that job. A rename, or a save that changed nothing, re-prices nothing and returns tracked_job_log_id: null.
Authentication: Requires Bearer token.
Requires the integrations.update permission (API tokens: integrations:write scope).
Request body:
- name (string, required, max 80): unique across all profiles.
- sequence_tier_ids (array of integers, required, may be empty, max 5): the pricing level IDs to try in order — the first level that prices a product supplies its price. Every level must exist and all must share one currency. An empty sequence is a legal policy that sends nothing. Archived levels are accepted: an archived level still prices, it only leaves the pickers.
- floor_type (string, required):
none,amount,margin_pctortier. - floor_value (number, min 0): required when floor_type is
amount(a price) ormargin_pct(a margin over landed cost — must be below 100). Cleared fornoneandtier. - floor_tier_id (integer): required when floor_type is
tier— the pricing level whose price is the floor (e.g. MAP). - floor_action (string, optional):
blockoradjust. Null uses the type's default — atierfloor adjusts the price up to the level, every other floor blocks the push. - ceiling_type (string, required):
none,amount,markup_pctortier. - ceiling_value (number, min 0): required when ceiling_type is
amountormarkup_pct(a markup over landed cost). Cleared fornoneandtier. - ceiling_tier_id (integer): required when ceiling_type is
tier. - ceiling_action (string, optional):
blockoradjust. Null uses the type's default — atierceiling adjusts the price down to the level, every other ceiling blocks the push. - max_delta_pct (number, optional, 0–100): the largest change, as a percentage of the last pushed price, a single push may make. Null disables the limit.
- max_delta_action (string, required): what happens when the limit is exceeded —
skip(skip that listing) orblock_run(stop the whole run). - automated_pricing_rule_id (string, optional, max 120, letters, digits,
.,_,:,-): an Amazon Seller Central Automate Pricing rule ID such as328182282407-COMPETITIVE_BUYBOX. Other channels ignore it.
Cross-field rules (422): a tier floor or ceiling needs its level; the floor and the ceiling cannot both use the same level; an amount floor above an amount ceiling is refused; a margin floor of 100% or more is refused.
- updated_at (ISO-8601 datetime, optional): the
updated_atyou last read. When it no longer matches the stored value — someone else saved the profile in between — the update is refused with 422 onupdated_atand nothing is written. Omit it to skip the check.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.