Skip to main content

Delete Sales Order Line

DELETE 

/api/sales-order-lines

Deletes a SINGLE sales order line, identified by line_id in the request BODY — despite the collection-level path (DELETE /api/sales-order-lines), this is not a bulk or delete-all operation. For multi-line deletes use DELETE /api/sales-order-lines/bulk.

Required scope: orders:write

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

Delete a single sales order line. Recalculates order discounts if any were applied.

Authentication: Requires Bearer token.

Restrictions:

  • Cannot delete if the line has associated fulfillment lines
  • Cannot delete the last line on a sales order

Lines a shipping provider has a record of (a fulfillment order for the line was submitted to, or voided at, a carrier) are not deleted: every remaining unit is cancelled and the line drops to a zero price, so it no longer counts toward the order total but stays on the order as history. The response then carries kept_as_history: true. If units are still committed to a live fulfillment, the request is refused with a 422 until that fulfillment is cancelled.

Body:

  • line_id (required): ID of the sales order line to delete

A line that already has fulfillment lines cannot be deleted; the request is refused.

Requires permission: sales_orders.update

Request​

Responses​

OK

Response Headers
    Content-Type