Skip to content
SIBISIBI Developers
Esc
↑↓navigate↵open⌘Jpreview
On this page

Returns on the Order

Read an order’s return requests from the order itself

Return requests on an order are available on the order itself. GET /orders/{orderId} and the GET /orders list both carry a returns array on each order, so you can read an order and its return requests in one call — no separate request to the returns endpoints.

The returns field

Every order in GET /orders/{orderId} and the GET /orders list includes:

  • returns — the return requests on the order, newest first. [] when none have been opened; null when the return data could not be read (the order itself is still returned).

Each entry mirrors a return request: an id, createdAt/updatedAt timestamps, and the requested items. Each item names the product by sku — the same sku on the order’s lineItems — and carries its per-line status (PENDING, APPROVED, or DENIED) and, when denied, a denialReason.

{
  "id": "SIBI-12345678",
  "status": "Processed",
  "lineItems": [{ "sku": "GDF510PSRSS", "name": "GE Dishwasher", "quantity": 1 }],
  "returns": [
    {
      "id": "RET-12345XYZ",
      "createdAt": "2026-09-04T15:30:45.123Z",
      "updatedAt": "2026-09-05T09:12:03.900Z",
      "items": [
        {
          "sku": "GDF510PSRSS",
          "quantity": 1,
          "condition": "UNOPENED",
          "requestReason": "Ordered the wrong size",
          "status": "DENIED",
          "denialReason": "Item is outside the return window"
        }
      ]
    }
  ]
}

A returns of null means the return data could not be read for this order on this request — the order is still returned, so retry to read its returns. An empty returns means the order genuinely has none.

Opening a request and learning the outcome

POST /orders/{orderId}/returns on the Returns API. Decisions are made by Sibi staff; subscribe to the Order Return Requests events to learn when a line is approved or denied, or re-read the order to see the current per-line status.

Was this page helpful?