Skip to main content

Start Price Push

POST 

/api/v2/sales-channels/:integrationInstance/prices/push

Start an outbound price push for a sales channel integration instance, or a dry-run preview of one.

Required scope: integrations:write

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

Runs asynchronously and returns a tracked job handle; poll the tracked job for progress and results.

Prices are only sent for listings where SKU.io is the master of price and the price has changed since the last successful push. Every price is checked against the instance's guardrails (floor, ceiling and maximum change) immediately before it is transmitted.

Authentication: Requires Bearer token.

Fields:

  • dry_run (optional, boolean, default false): evaluate every listing and record the outcome without sending anything to the channel.
  • force (optional, boolean, default false): also send prices that have not changed. Does not bypass guardrails.
  • listing_ids (optional, array of integers): restrict the push to these listings. Omit to consider all eligible listings.

Requires the integrations.sync permission.

Optional max_delta_pct_override (numeric, greater than 0, maximum 1000) raises the maximum-change limit for THIS run only; the saved limit is unchanged. It is raise-only — a value at or below the saved limit is ignored — and it cannot relax the price floor, the price ceiling, or the rule that refuses a zero or negative price.

Channels that rate-gate price transmissions (Walmart accepts 2 price feeds per hour) are checked before the job is created. If the channel would not accept a feed right now, the request is refused with a 422 naming the time the next slot opens, and nothing is dispatched; the scheduled push carries every pending price at its next run. A dry run is never refused for this reason, because it transmits nothing.

Request​

Responses​

Accepted

Response Headers
    Content-Type