---
title: Order Return Requests
description: Payloads for the order.returnrequest.created, order.returnrequest.item-approved, and order.returnrequest.item-denied topics.
sidebar:
  label: Return requests
---

A return request covers one or more lines from a single order. It opens with a status of pending for every requested line, and Sibi staff then approve or deny each line individually. Because decisions are made per line, a single request can produce multiple `itemApproved` and `itemDenied` events over its lifetime.

> **Beta**
>
> Return request events are in beta and are delivered only to webhooks enrolled in the beta program. Contact Sibi to opt in.

## Return Request Created

This event is triggered when a return request is first opened. The event will have a topic of `order.returnrequest.created`.

When a request is created, every line on it is pending review.

### `orderId`

The identifier of the order the returned lines belong to.

### `items`

The lines requested for return. Always contains at least one entry. Each entry has:

- `sku` - The product SKU of the line being returned, correlating to the order's `lineItems[].sku`.
- `quantity` - The number of units requested for return. Always a positive integer.
- `condition` - The condition of the item being returned. One of `UNOPENED`, `OPENED-UNUSED`, `INSTALLED`, or `DAMAGED`.
- `requestReason` - The reason provided for returning this line.

### Example payload

```json
{
  "topic": "order.returnrequest.created",
  "data": {
    "orderId": "ORD-12345XYZ",
    "items": [
      {
        "sku": "GDF510PSRSS",
        "quantity": 2,
        "condition": "UNOPENED",
        "requestReason": "Ordered the wrong size"
      }
    ]
  }
}
```

## Return Request Item Approved

This event is triggered when a single requested line is approved. The event will have a topic of `order.returnrequest.item-approved`. One event fires per approved line, so a request with several approved lines produces several events.

### `orderId`

The identifier of the order the returned line belongs to.

### `sku`

The product SKU of the approved line, correlating to the order's `lineItems[].sku`.

### `quantity`

The number of units approved for return. Always a positive integer.

### Example payload

```json
{
  "topic": "order.returnrequest.item-approved",
  "data": {
    "orderId": "ORD-12345XYZ",
    "sku": "GDF510PSRSS",
    "quantity": 2
  }
}
```

## Return Request Item Denied

This event is triggered when a single requested line is denied. The event will have a topic of `order.returnrequest.item-denied`. One event fires per denied line, so a request with several denied lines produces several events.

### `orderId`

The identifier of the order the returned line belongs to.

### `sku`

The product SKU of the denied line, correlating to the order's `lineItems[].sku`.

### `denialReason`

The reason the line was denied, as recorded on the decision.

### Example payload

```json
{
  "topic": "order.returnrequest.item-denied",
  "data": {
    "orderId": "ORD-12345XYZ",
    "sku": "GDF510PSRSS",
    "denialReason": "Item is outside the return window"
  }
}
```
