---
title: "v2-refundOrderLines - Refund order lines"
method: POST
path: "/v2/orders/{order_id}/refund"
tags: ["Orders"]
---

# v2-refundOrderLines - Refund order lines

`POST /v2/orders/{order_id}/refund`

## Request

- Base URL: `https://miraklconnect.com/api`
- URL: `https://miraklconnect.com/api/v2/orders/{order_id}/refund`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/mirakl/apis/mirakl-connect-apis/docs/v2/orders/:order_id/refund/post.ts> (a function with typed inputs; its response is checked against the schema)

<div class="extension-title">Description</div>

Use this API to refund order lines (all or part) of an order.

<div class="api-description-extension">
<div class="extension-title">Call Frequency</div>

<div class="recommended-call-frequency">Recommended usage: At each refund request</div>
<div class="max-call-frequency">Maximum usage: At each refund request</div>
</div>

## Path parameters

- `order_id` string, required

## Request body

- RefundOrderLinesRequest
  - `refunds` RefundRequest[], required: Refund details related to an order line
    - `order_line_id` string: Unique order line identifier used by Mirakl Connect. ID of the order line to refund.
    - `price` Money, required
      - `amount` number, required: Price amount
      - `currency` string, iso-4217, required: Currency ISO code
    - `product_id` string: Seller product identifier on the channel
    - `quantity` integer: Product quantity to refund
    - `reason` 'CUSTOMER_CANCELATION' | 'OUT_OF_STOCK' | 'RETURN' | 'ITEM_NOT_RECEIVED' | 'AGREEMENT' | 'DEFECT' | 'UNABLE_TO_DELIVER', required: The reason why the order line is refunded
    - `shipping_price` Money, required
      - `amount` number, required: Price amount
      - `currency` string, iso-4217, required: Currency ISO code
    - `shipping_taxes` RefundedTaxRequest[]: Shipping taxes to refund
      - `amount` Money, required
        - `amount` number, required: Price amount
        - `currency` string, iso-4217, required: Currency ISO code
      - `code` string, required: Tax code on the sales channel
    - `taxes` RefundedTaxRequest[]: Taxes to refund
      - `amount` Money, required
        - `amount` number, required: Price amount
        - `currency` string, iso-4217, required: Currency ISO code
      - `code` string, required: Tax code on the sales channel

## Response `202`

Accepted. The refund request will be processed asynchronously.

- AsynchronousActionResponse
  - `action_id` string, required: The unique identifier for the asynchronous action. It should be used with the [v2-getActionStatus API](#operation/v2-getActionStatus) to retrieve current action status and potential errors.
  - `tracking_id` string: **Deprecated:** This field was previously used to obtain the action ID. It has been replaced by `action_id` and contains the same value. It is retained for backward compatibility.

## Other responses

- `400`: The order has not been updated because of wrong or missing parameters.
- `404`: The order has not been updated because the order does not exist.

## Changes

- **2026-10-14** `d12b10bceb6a`: 1 breaking, 7 info
  - request property `refunds/items/reason` was restricted to a list of enum values
  - added the new `AGREEMENT` enum value to the request property `refunds/items/reason`
  - added the new `CUSTOMER_CANCELATION` enum value to the request property `refunds/items/reason`
  - added the new `DEFECT` enum value to the request property `refunds/items/reason`
  - …4 more

[Operation history](https://skmtc.dev/mirakl/apis/mirakl-connect-apis/changes/v2/orders/:order_id/refund/post.md)

---

[API](https://skmtc.dev/mirakl/apis/mirakl-connect-apis.md) - [All operations](https://skmtc.dev/mirakl/apis/mirakl-connect-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/mirakl/apis/mirakl-connect-apis/revisions/c0527a972b89?raw)
