Performs a bulk action on a set of products. The product set is determined either by an explicit product_uid array, or by filter_rules (v3) / legacy filter.* fields — product_uid is merged in additively ($in), not used as an exclusive selector. If filter_rules is a non-empty array it takes priority as the v3 filter engine; otherwise the legacy filter object is used.
All filter-driven actions (update_field, update_availability, send_qr_codes, delete_products) are capped by the account's bulk_action_limit policy (falls back to a platform default) and apply synchronously, except send_qr_codes, which streams a PDF directly in the response for under 100 matched products and emails it asynchronously for 100 or more. link_supplier_provider is a structurally distinct action: it does not use product_uid/filter_rules/filter matching or the bulk action limit at all — it links an explicit vendor_catalog array of entries to a supplier_provider_uid, and always runs asynchronously (queued to a worker), returning a job_id immediately.
update_field silently skips products that don't support the given field for their type/pricing-level (e.g. BUNDLE/LABOR products for product_type, or products without a purchase_price for markup) rather than rejecting the whole request — the response does not list which uids were skipped.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
