Bulk Set Prices
Create several prices at once for a set of variants.
Each line in body.lines becomes one price record per variant, routed to
the open batch for its effective date (always ‘auto’ — find-or-create keyed
on (org, effective_date)). Lines sharing an effective date coalesce into the
SAME batch; different dates land in separate batches. Lines are processed
SEQUENTIALLY so same-date lines reuse one batch (no duplicate-batch race).
Reuses the exact batch + record + tz logic as mass-create.
When body.source is present (the MAP-policy colorway “Generate Price
Changes” flow), every created record is stamped with lineage
(source/source_policy_id/source_style_color_id) and a server-recomputed
previous_amount (the PER-VARIANT incumbent price at the line’s
effective date, or now for a past/today line — same rule as the
colorway-prefill diff); the auto-batch path is keyed AND named by the MAP
policy instead of the plain date batch; and any record keys the caller
confirmed as conflicts are superseded after all lines are created. Without
body.source this endpoint’s behavior is unchanged.
Cookies
Body
Create several prices at once for a set of variants. Each line in
lines becomes one price record per variant, batched by effective date
(always 'auto' — same rule as mass-create). Lines may repeat a price type
(e.g. two sale dates) and may share or differ in effective date.
source is optional and, when present, marks the submission as coming
from the MAP-policy colorway flow — see BulkSetPricesSource. Absent
source reproduces today's plain manual-entry behavior byte-for-byte.
1Present only when the submission came from the MAP-policy colorway
"Generate Price Changes" flow (the per-colorway view on the MAP Policy
page). Stamps lineage onto every record the submission creates, drives
per-variant previous_amount recompute, routes auto-batches to a
policy-keyed + policy-named batch instead of the plain date batch, and
supersedes any conflicting future records the user confirmed.
Response
Successful Response