> For the complete documentation index, see [llms.txt](https://developer.esw.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.esw.com/returns-api/grp-returns-api/core-concepts/return-order.md).

# Return Order

A return order moves through a defined set of statuses from creation to final resolution.&#x20;

<table data-view="cards"><thead><tr><th>Status</th><th>What it means</th></tr></thead><tbody><tr><td><code>Created</code></td><td>Return order is created by the shopper or API consumer. Label generation may be triggered.</td></tr><tr><td><code>Received</code></td><td>The return parcel has been received at the return admin centre (RAC).</td></tr><tr><td><code>OnHold</code></td><td>Return is placed on hold for inspection or awaiting additional information.</td></tr><tr><td><code>Released</code></td><td>Return has been released from hold and is being processed.</td></tr><tr><td><code>Processed</code></td><td>All items in the return have been inspected and accepted or rejected.</td></tr><tr><td><code>SentToRetailer</code></td><td>The return or return data has been forwarded to the retailer for refund processing.</td></tr></tbody></table>

### Return Lifecycle

Every return order moves through a defined set of statuses. Understanding the state machine helps you build reliable polling logic and handle edge cases correctly.

### Return order status flow

<div data-with-frame="true"><figure><img src="/files/OdXSGF5euG9IhcZHkkVm" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" icon="play-pause" %}

#### **On-hold**&#x20;

When a warehouse team places a return `OnHold`, it must be explicitly `Released` via a `PUT` update before it can move to `Processed`. Customer service platforms should expose a release action for on-hold returns.
{% endhint %}

### Return item statuses

| Status                | Meaning                                                  |
| --------------------- | -------------------------------------------------------- |
| `InProgress`          | Item is in transit or awaiting warehouse assessment      |
| `Accepted`            | Item received and accepted; refund eligible              |
| `Rejected`            | Item rejected at warehouse — will be returned to shopper |
| `RejectedNotReturned` | Item rejected and disposed of or retained                |
| `Cancelled`           | Return item cancelled before processing                  |

Additional statuses include `AddedToManifest`, `ReceivedByRetailer`, `RemovedFromManifest`, `Cancelled`, and `Refunded`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.esw.com/returns-api/grp-returns-api/core-concepts/return-order.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
