---
title: "GetRMAHeadersByOrderId"
method: POST
path: "/api/ReturnsRefunds/GetRMAHeadersByOrderId"
tags: ["ReturnsRefunds"]
---

# GetRMAHeadersByOrderId

`POST /api/ReturnsRefunds/GetRMAHeadersByOrderId`

Returns all RMA headers associated with the given order ID
<b>Permissions Required: </b> GlobalPermissions.OrderBook.ReturnsRefunds.Refunds.ViewRefundsNode
<b>Rate limit: </b><span style="background-color:#0272d9;color:white;padding:4px 8px;text-align:center;border-radius:5px; font-size: small;"><b>150</b></span> / minute

## Request body

- ReturnsRefundsGetRMAHeadersByOrderIdRequest
  - `request` GetRMAHeadersByOrderIdRequest
    - `OrderId` string, uuid

## Response `200`

OK

- GetRMAHeadersByOrderIdResponse
  - `RMAHeaders` OrderRMAHeader[]
    - `RMAHeaderId` integer
    - `RMALines` VerifiedRMAItem[]
      - `RMARowId` integer — A unique identifier for the RMA line
      - `RMAHeaderId` integer — A unique identifier for the header this RMA line belongs to
      - `Type` 'Return' | 'Exchange' | 'Resend' — Identifies the type of RMA for this line
      - `Status` PostSaleStatus
        - `StatusHeader` 'OPEN' | 'PROCESSED' | 'ERROR' | 'ERROR_ACKED' | 'PENDING' — Identifies whether the refund is open, processed, or in an erroneous state
        - `StatusDetail` PostSaleSubStatus
          - `StatusTag` string — For an individual refund line, this identifies the line's state on the channel. For the header, if all its lines have the same StatusTag, it will also have the same StatusTag. If not, it will determine an appropriate StatusTag based on those of its lines
          - `StatusDescription` string — A user-friendly descriptor of the StatusTag
          - `Actionable` boolean — Determines whether the refund is in a state where it requires action from the user
          - `ActionDescription` string — A user-friendly descriptor of what "actioning" the refund will do on the channel
          - `EditableFields` string[] — Where certain fields need to be modified for the refund to be successfully actioned, this list is populated with a list of the field names, allowing them to be edited as necessary
      - `ExternalReference` string — The channel reference number for this RMA
      - `CreatedDate` string, date-time — The timestamp for when the RMA was created
      - `Actioned` boolean — Line-level indicator of whether the refund has been actioned
      - `ActionedDate` string, date-time — If an RMA has been actioned, this denotes the date it was actioned. For not actioned lines, this value is null
      - `Deleted` boolean — Identifies whether the line has been removed from the RMA, and is pending an update to the database to reflect this
      - `ResendQuantity` integer
      - `NewOrderId` string, uuid — In the case of an exchange or resend line, this is the identifier for the created order
      - `ValidationError` string — Identifies any validation or submission errors for this RMA item
      - `Error` string
      - `Errors` RMAError[]
        - `RMARowId` integer
        - `ErrorMessage` string
        - `DateStamp` string, date-time
        - `Acknowledged` boolean
      - `Info` string — Identifies any validation or submission information for this RMA item
      - `ExchangeStockItemId` string, uuid — The stock item ID for the item that will replace the returned item
      - `ExchangeSKU` string — Identifies the SKU of the item that will replace the returned item
      - `ExchangeTitle` string — Identifies the title of the item that will replace the returned item
      - `ExchangeQuantity` integer — The number of this item to send as part of the exchange
      - `DespatchLocationId` string, uuid — The identifier for the location to create the exchange order in. This is where the item will have its stock deducted from
      - `AdditionalCost` number, double — This field denotes the additional cost that will be incurred to the customer for this exchange
      - `OrderItemRowId` string, uuid — The unique ID of the order item to be returned. Note: This field is ignored when part of an Update call
      - `ReturnItemSKU` string — The SKU of the order item to be returned. Read-only
      - `ReturnItemTitle` string — The title of the order item to be returned. Read-only
      - `BatchInventoryId` integer — If the item is batched, this identifies the batch inventory row the item will be returned to
      - `ReturnLocation` string, uuid — The unique identifier for the Linnworks location to return the item to
      - `ReturnQuantity` integer — The amount of the item to be returned
      - `RefundAmount` number, double — Where applicable, the amount to refund the customer as part of this RMA
      - `RefundRowId` string, uuid — Where applicable, the row id for the created refund line associated with this RMA
      - `ScrapQuantity` integer — Where applicable, the amount of returned items to be scrapped
      - `ReasonCategory` string — The category for the return/exchange reason (e.g. Faulty Item)
      - `IsFreeText` boolean — Defines whether the channel RMA reason is being sent as freetext (where supported). Automatically set
      - `Reason` string — A freetext internal reason for the return/exchange
      - `ReasonTag` string — For channels that support predefined RMA reasons, this is the tag that identifies a predefined reason
      - `SubReasonTag` string — For channels that support a secondary predefined RMA reason, this is the tag that identifies a predefined secondary reason
      - `BinrackOverride` string — Used specifically with batch composite parents, this will ensure that all children are returned to the binrack of choice (acts the same as batchinventoryid for single items)
    - `OrderId` string, uuid
    - `NumOrderId` integer
    - `Status` PostSaleStatus
      - `StatusHeader` 'OPEN' | 'PROCESSED' | 'ERROR' | 'ERROR_ACKED' | 'PENDING' — Identifies whether the refund is open, processed, or in an erroneous state
      - `StatusDetail` PostSaleSubStatus
        - `StatusTag` string — For an individual refund line, this identifies the line's state on the channel. For the header, if all its lines have the same StatusTag, it will also have the same StatusTag. If not, it will determine an appropriate StatusTag based on those of its lines
        - `StatusDescription` string — A user-friendly descriptor of the StatusTag
        - `Actionable` boolean — Determines whether the refund is in a state where it requires action from the user
        - `ActionDescription` string — A user-friendly descriptor of what "actioning" the refund will do on the channel
        - `EditableFields` string[] — Where certain fields need to be modified for the refund to be successfully actioned, this list is populated with a list of the field names, allowing them to be edited as necessary
    - `OrderSource` string
    - `OrderSubSource` string
    - `ExternalReference` string
    - `ChannelInitiated` boolean
    - `CreatedDate` string, date-time
    - `Actioned` boolean
    - `LastActionDate` string, date-time

---

[API](https://skmtc.net/linnworks/apis/authenticate-api.md) · [All operations](https://skmtc.net/linnworks/apis/authenticate-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/linnworks/authenticate-api/versions/0123569a22fb/schema)
