---
search:
  tags:
    - Operations
    - POST
seo:
  description: >-
    Opens a return request for one or more lines of an order. A 201 means the
    request was… Reference for the POST /{orderId}/returns endpoint in the
    Orders API.
sidebar:
  label: Open a return request
  badge: POST
title: Open a return request
type: openapi-operation
---
Opens a return request for one or more lines of an order. A `201` means the request was opened — not that any line is approved yet. Every requested line starts `PENDING`.

**Learning the outcome:** Sibi staff approve or deny each line independently (one request can end with some lines approved and others denied). Learn the result by subscribing to the `order.returnrequest.item-approved` and `order.returnrequest.item-denied` webhook events — see [Order Return Requests events](https://docs.sibipro.com/events/order.return-requests) — or by re-reading the order with `GET /orders/{orderId}`, whose `returns` array carries each line’s current `status`.

A line that is not eligible, is not on the order, appears more than once, or exceeds the returnable quantity is rejected with a `400`. The `400` lists every failing line in `details[]` — each carrying its own `code` from the set below — and no return request is created unless all lines pass.

| Code | Meaning |
| --- | --- |
| `RETURN_INVALID_CONDITION` | The `condition` is not one of the accepted values |
| `RETURN_INVALID_QUANTITY` | The `quantity` is not a positive whole number |
| `RETURN_DUPLICATE_LINE` | The same order line appears more than once in the request |
| `RETURN_LINE_NOT_ON_ORDER` | The `orderLineItemId` is not a line on the order |
| `RETURN_ITEM_NOT_ELIGIBLE` | Policy does not allow returning this line |
| `RETURN_QUANTITY_EXCEEDED` | The requested quantity exceeds what remains returnable on the line |

`POST /{orderId}/returns`
