# Order Refunds

Manages refund processing for orders and bags.

### Overview

Use the `financial_status` value on a bag object to determine if there are any associated refunds.

* A `financial_status` of `REFUNDED` will indicate the full order has amount has been refunded.
* A `financial_status` of `PARTIALLY_REFUNDED` will indicate that an amount less than the full order amount has been refunded.

**Returns**

* A merchant may associate a return with a refund. To determine if this has occurred look for a `fulfillment_status` of `RETURNED` and a `financial_status` of `REFUNDED` or `PARTIALLY_REFUNDED`.
* A merchant may also initiate a return without also performing a refund. This scenario is common for exchanges. To determine if this has occurred look for a `fulfillment_status` of `RETURNED` and a `financial_status` that is not `REFUNDED` or `PARTIALLY_REFUNDED`.

### Determine Bag Return and Refund Status

Use the `financial_status` value on a bag object to determine if there are any associated refunds:

* A `financial_status` of `REFUNDED` indicates the full bag amount has been refunded.
* A `financial_status` of `PARTIALLY_REFUNDED` indicates that an amount less than the full bag amount has been refunded.

#### Identify Returns Without Refunds

To determine if a bag has been returned but not refunded (common for exchanges), check for:

* `fulfillment_status` of `RETURNED`
* `financial_status` that is not `REFUNDED` or `PARTIALLY_REFUNDED`

json

```json
{
  "id": "123456789",
  "order_id": "987654321",
  "fulfillment_status": "RETURNED",
  "financial_status": "PAID",
  "status": "COMPLETED"
}
```

#### Returns With Refunds

When a return is associated with a refund, you'll see:

* `fulfillment_status` of `RETURNED`
* `financial_status` of either `REFUNDED` or `PARTIALLY_REFUNDED`

json

```json
{
  "id": "123456789",
  "order_id": "987654321",
  "fulfillment_status": "RETURNED",
  "financial_status": "REFUNDED",
  "status": "COMPLETED"
}
```

#### Business Rules

* A bag with `RETURNED` fulfillment status and `PAID` financial status indicates the item was returned without a monetary refund being processed.
* Merchants commonly use this pattern for exchanges where the customer receives store credit or a replacement item.

Use these endpoints to process refunds and retrieve refund information.

**Available endpoints:**

```
POST /v1/orders/{order_id}/bags/{bag_id}/refunds
 GET /v1/orders/{order_id}/refunds
 GET /v1/orders/{order_id}/bags/{bag_id}/refunds
 GET /v1/orders/{order_id}/refunds/{refund_id}
```


---

# Agent Instructions: 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:

```
GET https://docs.violet.io/api-reference/orders-and-checkout/order-refunds.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
