Skip to main content
POST
Swap a line item's product in place

Authorizations

Authorization
string
header
required

API key issued per entity via Settings > Developers > API Keys. Each key carries scopes (e.g. orders:read, products:write). Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.

Path Parameters

id
string<uuid>
required
item_id
string<uuid>
required

Body

application/json
product_id
string<uuid>
required

Replacement product.

variant_id
string<uuid>

Replacement variant (required if the product has variants).

quantity
integer

Quantity for the replacement line. Defaults to the original line's quantity.

Required range: x >= 1
sell_rate
number

Override unit price for the replacement (canonical Arcus field).

unit_price
number

Alias of sell_rate (Stripe/Shopify convention).

list_price
number
notes
string
override
boolean

Set true (with orders.revision_override) to swap a line on a paid/billed order. Without it a paid/billed order returns 422 edit_not_allowed (suggested_action revise_order).

override_reason
string

Response

Line swapped. Returns old + new order_item ids, quantity, sort_order, and channel_lineage_inherited.

old_order_item_id
string<uuid>
new_order_item_id
string<uuid>
new_product_id
string<uuid>
quantity
integer
sort_order
integer
channel_lineage_inherited
boolean
requires_overpayment_review
boolean
overpayment_amount
number | null