Skip to main content

Bulk Archive Sales Orders

PUT 

/api/sales-orders/archive

Archives multiple sales orders at once (stamps each order's archived timestamp so it disappears from active lists). Unlike the single-order archive endpoint, this performs a pure archive with no fulfillment side effects.

Required scope: orders:write

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

Authentication: Requires Bearer token.

Request body (one of ids or filters is required):

  • ids (array of integers, required without filters, min 1): Sales order IDs; each must exist.
  • filters (required without ids): Filter payload resolved against the sales-orders list — accepts the grouped filter_groups shape (base64-encoded JSON, same as the V2 sales-orders list) as well as the legacy JSON-string filter set.

When targeting by filters, only currently non-archived matching orders are processed.

Behavior:

  • Orders that are already archived are skipped and reported under warnings, keyed by ids.{id}.id.
  • The message reports {archived}/{total} counts. If every targeted order was already archived, the message is "The sales orders maybe already archived".

Requires permission: sales_orders.update

Request

Responses

OK

Response Headers
    Content-Type