Skip to main content

Update Product

PUT 

/api/v2/products/:product

Update a product. Currently this endpoint carries one field — the product-level pricing sync profile, inherited by the product's listings on every channel unless a listing sets its own. Other product attributes are updated through their existing endpoints.

Required scope: products:write

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

Changing the profile re-prices the product's listings that follow it: inline when there are 25 or fewer (recompute.mode: "sync"), otherwise as a background job identified by recompute.tracked_job_log_id.

Authentication: Requires Bearer token.

Requires the products.update permission (API tokens: products:write scope).

Request body:

  • pricing_sync_profile_id (integer|null, required — the key must be present): the profile to apply, or null so the product's listings follow each channel's default. An archived profile is refused (422).

Response data:

  • id (integer): the product
  • pricing_sync_profile_id (integer|null)
  • profile (object|null): {id, name}
  • recompute: {mode, listings, tracked_job_log_id} — how many listings are being re-priced and whether that ran inline (sync) or was queued (job)

Request

Responses

OK

Response Headers
    Content-Type