Bulk Assign Product Pricing Sync Profile
POST/api/v2/products/bulk/pricing-sync-profile
Set — or clear — the product-level pricing sync profile on many products at once, by ID list or by the same filter[...] query List Products accepts (send the filter keys without the filter[] wrapper). Exactly one of the two must be sent.
products:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
An explicit selection of up to 200 products is applied immediately (mode: "sync", HTTP 200) and the affected listings — those of the changed products that carry no profile of their own — are re-priced before the response returns. A larger selection, or any filter scope, runs as a background job (mode: "job", HTTP 202); the filter is resolved to a fixed list of product IDs when the job is queued.
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 to clear. An archived profile is refused (422).
- product_ids (array of integers, optional): the products to update.
- filters (object, optional): the product list filters to resolve into products.
Response data when applied immediately (mode: "sync"):
- assigned (integer): products whose profile changed
- unchanged (integer): products that already had this profile
- not_priced (integer): of the re-priced listings, how many have no price at any level of the new profile's sequence
- not_sku_mastered (integer): of the re-priced listings, how many are not mastered by SKU.io and so are never pushed
- not_found (integer): requested IDs that are not products
Response data when queued (mode: "job"):
- tracked_job_log_id (integer): the background job to follow
- total (integer): products the job will process
Request
Responses
- 200
- 202
- 401
- 403
- 422
- 429
OK
Response Headers
Accepted
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.
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.