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

# GetRefundLinesByHeaderId

`POST /api/ReturnsRefunds/GetRefundLinesByHeaderId`

## Request

- Base URL: `https://eu-ext.linnworks.net`
- URL: `https://eu-ext.linnworks.net/api/ReturnsRefunds/GetRefundLinesByHeaderId`
- Auth: API key in header `Authorization`

Returns a refund, given its header 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

- ReturnsRefundsGetRefundLinesByHeaderIdRequest
  - `request` GetRefundLinesByHeaderIdRequest
    - `RefundHeaderId` integer: The unique identifier for the refund header to load
    - `OrderId` string, uuid: The unique identifier for the order this refund pertains to. Used as a safety to ensure the correct refund is being worked with

## Response `200`

OK

- GetRefundLinesByHeaderIdResponse
  - `RefundHeaderId` integer: The unique identifier for the loaded refund
  - `RefundLines` VerifiedRefund[]: A collection of all refunds associated with the loaded header
    - `RefundRowId` string, uuid: A unique identifier for the refund line
    - `RefundHeaderId` integer: A unique identifier for the refund header this line belongs to
    - `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
    - `RefundedUnit` 'Item' | 'Shipping' | 'Service' | 'Additional': Identifies the type of refund for this line
    - `IsShippingRefund` boolean: Identifies whether the refund is a shipping refund
    - `IsAdditionalRefund` boolean: Identifies whether the refund is an additional refund
    - `IsCancellation` boolean: Identifies whether the refund row is a cancellation
    - `RefundedItem` VerifiedRefundItem
      - `OrderItemRowId` string, uuid: The unique order item identifier
      - `ReturnRowId` integer: A unique identifier for the return line this refund relates to. If null, it is an independent refund
      - `ItemSKU` string: The Linnworks SKU for the item, assuming it is linked. If it is not, this matches the channel SKU
      - `ChannelSKU` string: The channel's SKU for the item
      - `ItemTitle` string: For a linked item, the Linnworks item title for this channel (or the default item title where a specific channel title does not exist). For an unlinked item, this is the title provided by the channel
      - `Cost` number, double: The tax-inclusive cost for this line
      - `CancelledQuantity` integer: If a refund is linked to a cancellation request, this field denotes the amount of the item cancelled
    - `ValidationError` string: If validation has failed for this item, the field will be populated with the appropriate error message
    - `Error` string
    - `Errors` RefundError[]
      - `RefundRowId` string, uuid
      - `ErrorMessage` string
      - `DateStamp` string, date-time
      - `Acknowledged` boolean
    - `Actioned` boolean: Line-level indicator of whether the refund has been actioned
    - `ActionedDate` string, date-time: If a refund has been actioned, this denotes the date it was actioned. For not actioned lines, this value is null
    - `ChannelInitiated` boolean: Identifies whether the refund was created manually in Linnworks, or downloaded from the channel automatically
    - `Internal` boolean: Identifies whether the line is processed only internally or also on a third-party channel
    - `Deleted` boolean: Identifies whether the line has been removed from the refund, and is pending an update to the database to reflect this
    - `ExternalReference` string: The channel reference number for this refund
    - `IsFreeText` boolean: Identifies whether the refund reason is provided in freetext, or as one of a predefined set of options
    - `FreeTextOrNote` string: For freetext refund reasons, this is the reason that will be sent to the channel. Otherwise, it is considered an internal note
    - `Amount` number, double: The amount to be refunded for this line
    - `Quantity` integer: Used when the refund is part of a return
    - `ReasonTag` string: For channels that support predefined refund reasons, this is the tag that identifies a predefined reason
    - `SubReasonTag` string: For channels that support a secondary predefined refund reason, this is the tag that identifies a predefined secondary reason
    - `InsufficientRefundTag` string: For channels that require a reason when the refund is lower than the full line amount, this is the tag that identifies a predefined insufficient refund reason
    - `InsufficientRefundNote` string: For channels that require a reason when the refund is lower than the full line amount, and support a freetext note, this field populates that note
    - `ReasonCategory` string: Internal reason category
  - `RefundOptions` RefundOptions
    - `CanSendRejectionIfDeleted` boolean
    - `CanRefund` boolean
    - `CanRefundInternally` boolean
    - `CanRefundItems` boolean
    - `CanRefundServices` boolean
    - `CanRefundShipping` boolean
    - `CanRefundShippingIndependently` boolean
    - `CanRefundAdditionally` boolean
    - `CanRefundFreeText` boolean
    - `CanInsufficientRefundFreeText` boolean
    - `RefundFreeTextOrNoteMaxLength` integer
    - `SubStatuses` 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
    - `InsufficientRefundReasons` ChannelReason[]
      - `Types` 'None' | 'Cancellation' | 'ItemRefund' | 'ShippingRefund' | 'ServiceRefund' | 'ItemReturn' | 'InsufficientRefund' | 'AdditionalRefund' | 'RejectReturn' | 'RejectRefund'
      - `Tag` string
      - `DisplayName` string
      - `SubReasons` ChannelSubReason[]
        - `Tag` string
        - `DisplayName` string
    - `ItemRefundReasons` ChannelReason[]
      - `Types` 'None' | 'Cancellation' | 'ItemRefund' | 'ShippingRefund' | 'ServiceRefund' | 'ItemReturn' | 'InsufficientRefund' | 'AdditionalRefund' | 'RejectReturn' | 'RejectRefund'
      - `Tag` string
      - `DisplayName` string
      - `SubReasons` ChannelSubReason[]
        - `Tag` string
        - `DisplayName` string
    - `ServiceRefundReasons` ChannelReason[]
      - `Types` 'None' | 'Cancellation' | 'ItemRefund' | 'ShippingRefund' | 'ServiceRefund' | 'ItemReturn' | 'InsufficientRefund' | 'AdditionalRefund' | 'RejectReturn' | 'RejectRefund'
      - `Tag` string
      - `DisplayName` string
      - `SubReasons` ChannelSubReason[]
        - `Tag` string
        - `DisplayName` string
    - `ShippingRefundReasons` ChannelReason[]
      - `Types` 'None' | 'Cancellation' | 'ItemRefund' | 'ShippingRefund' | 'ServiceRefund' | 'ItemReturn' | 'InsufficientRefund' | 'AdditionalRefund' | 'RejectReturn' | 'RejectRefund'
      - `Tag` string
      - `DisplayName` string
      - `SubReasons` ChannelSubReason[]
        - `Tag` string
        - `DisplayName` string
    - `ItemizedRefundReasons` ItemizedRefundReason[]
      - `Type` 'Item' | 'Shipping' | 'Service' | 'Additional'
      - `ItemId` string, uuid
      - `Reasons` ChannelReasonBase[]
        - `Tag` string
        - `DisplayName` string
        - `SubReasons` ChannelSubReason[]
          - `Tag` string
          - `DisplayName` string
    - `RejectionReasons` ChannelReason[]
      - `Types` 'None' | 'Cancellation' | 'ItemRefund' | 'ShippingRefund' | 'ServiceRefund' | 'ItemReturn' | 'InsufficientRefund' | 'AdditionalRefund' | 'RejectReturn' | 'RejectRefund'
      - `Tag` string
      - `DisplayName` string
      - `SubReasons` ChannelSubReason[]
        - `Tag` string
        - `DisplayName` string
    - `CannotRefundReason` 'None' | 'NotImplemented' | 'DisabledInConfig' | 'MissingOrderInLinnworks' | 'OpenOrderInLinnworks' | 'OrderIsFullyRefundedInLinnworks' | 'NoNewRefundsSpecified' | 'NoUpdatedRefundsSpecified' | 'MultipleReferences' | 'SubStatusTagNotInTheSystem' | 'SubStatusTagIsNotActionable' | 'MultipleSubStatusTags' | 'RefundNotInSystem' | 'Other'
    - `Order` OrderDetails
      - `OrderId` string, uuid: Order ID (pkOrderId)
      - `NumOrderId` integer: Linnworks order number
      - `Processed` boolean: If order is processed
      - `ProcessedDateTime` string, date-time: Date and time when order was processed
      - `FulfilmentLocationId` string, uuid: Location ID
      - `GeneralInfo` OrderGeneralInfo: Order General Info class
        - `Status` integer: Order Status (0 = UNPAID, 1 = PAID,2 = RETURN,3 = PENDING,4 = RESEND)
        - `LabelPrinted` boolean: Is label printed
        - `LabelError` string: Is there a label error
        - `InvoicePrinted` boolean: Is invoice printed
        - `InvoicePrintError` string: Is there invoice print error
        - `PickListPrinted` boolean: Is pick list printed
        - `PickListPrintError` string: Is there pick list print error
        - `IsRuleRun` boolean: If rules engine rule ran on an order
        - `Notes` integer: Quantity of order notes
        - `PartShipped` boolean: If order partly shipped
        - `Marker` integer: Order marker (0 = NOT TAG,1 = Tag 1,2 = Tag 2,3 = Tag 3,4 = Tag 4,5 = Tag 5,6 = Tag 6,7 = Parked)
        - `IsParked` boolean: Is the order parked?
        - `Identifiers` Identifier[]: Order identifiers. [Prime | Scheduled]
          - `IdentifierId` integer: Internal identifier id. Use to update image and name.
          - `IsCustom` boolean: Is the tag user or system defined?
          - `ImageId` string, uuid
          - `ImageUrl` string
          - `Tag` string: Internal tag for identification purposes
          - `Name` string: Name displayed where the tag is used
        - `ReferenceNum` string: Order reference number (Channel defined)
        - `SecondaryReference` string: An additional reference number for the orderr (Used by some channels)
        - `ExternalReferenceNum` string: This is an additional reference number from the sales channel, typically used by eBay
        - `ReceivedDate` string, date-time: The date and time at which the order was placed on the sales channel
        - `Source` string: Order ChannelName/Source (e.g. EBAY)
        - `SubSource` string: Order Subsource (e.g. EBAY1)
        - `SiteCode` string: SiteCode used to differentiate between different sites from a single channel (eg. Amazon UK, Amazon US, Amazon FR...)
        - `HoldOrCancel` boolean: This shows whether the order has been marked as on hold, for processed orders if the order has been cancelled OnHold = 1
        - `DespatchByDate` string, date-time: Despatch by Date
        - `ScheduledDelivery` ScheduledDelivery
          - `From` string, date-time
          - `To` string, date-time
        - `HasScheduledDelivery` boolean
        - `Location` string, uuid: Order location ID
        - `NumItems` integer: Quantity of order items
        - `PickwaveIds` integer[]: All related Pickwave Ids
        - `PIIRedactionDays` integer: Number of days after which an order is processed its pii will be redacted/obfuscate
        - `StockAllocationType` 'NotAllocated' | 'Insuffient' | 'Partial' | 'Full' | 'OverAllocated'
      - `ShippingInfo` OrderShippingInfo
        - `Vendor` string: Courier name (e.g. Royal Mail)
        - `PostalServiceId` string, uuid: Postal service ID
        - `PostalServiceName` string: Postal service name (e.g. Next day delivery)
        - `TotalWeight` number, double: Order total weight
        - `ItemWeight` number, double: If order is processed
        - `PackageCategoryId` string, uuid: Package category ID
        - `PackageCategory` string: Package category name
        - `PackageTypeId` string, uuid: Package type ID
        - `PackageType` string: Package type name
        - `PostageCost` number, double: Order postage cost
        - `PostageCostExTax` number, double: Order postage cost excluding tax
        - `TrackingNumber` string: Order tracking number provided by courier
        - `ManualAdjust` boolean: If there is an adjustment to shipping cost was made
      - `CustomerInfo` OrderCustomerInfo
        - `ChannelBuyerName` string: Username of customer (Comes from channel)
        - `Address` CustomerAddress
          - `EmailAddress` string: Customer's email address.
          - `Address1` string: First line of customer address.
          - `Address2` string: Second line of customer address.
          - `Address3` string: Third line of customer address.
          - `Town` string: Customer's town.
          - `Region` string: Customer's region.
          - `PostCode` string: Customer's postcode.
          - `Country` string: Customer's country.
          - `Continent` string: Customer's continent
          - `FullName` string: Customer's first and second name.
          - `Company` string: Customer's company name.
          - `PhoneNumber` string: Customer's telephone number.
          - `CountryId` string, uuid
        - `BillingAddress` CustomerAddress
          - `EmailAddress` string: Customer's email address.
          - `Address1` string: First line of customer address.
          - `Address2` string: Second line of customer address.
          - `Address3` string: Third line of customer address.
          - `Town` string: Customer's town.
          - `Region` string: Customer's region.
          - `PostCode` string: Customer's postcode.
          - `Country` string: Customer's country.
          - `Continent` string: Customer's continent
          - `FullName` string: Customer's first and second name.
          - `Company` string: Customer's company name.
          - `PhoneNumber` string: Customer's telephone number.
          - `CountryId` string, uuid
      - `TotalsInfo` OrderTotalsInfo
        - `Subtotal` number, double: Order subtotal
        - `PostageCost` number, double: Order postage cost
        - `PostageCostExTax` number, double: Order postage cost ex. tax
        - `Tax` number, double: Tax
        - `TotalCharge` number, double: Total charge
        - `PaymentMethod` string: Payment method
        - `PaymentMethodId` string, uuid: Payment method ID
        - `ProfitMargin` number, double: Profit margin
        - `TotalDiscount` number, double: Total discount applied to the order
        - `Currency` string: Order currency
        - `CountryTaxRate` number, double: Country tax rate
        - `ConversionRate` number, double: Currency conversion rate. Set at point of save by the currency
      - `ExtendedProperties` ExtendedProperty[]: Extended properties of an order
        - `RowId` string, uuid: Record row ID
        - `CreatedDate` string, date-time: Date the extended property was created
        - `LastUpdatedDate` string, date-time: Date the extended property was last updated
        - `Name` string: Extended property name
        - `Value` string: Extended property value
        - `Type` string: Extended property type
      - `FolderName` string[]: Folder names assigned to an order
      - `Items` OrderItem[]: List of order items
        - `ItemId` string, uuid: Stock Item ID
        - `ItemNumber` string: Item number as on channel
        - `SKU` string: Product SKU
        - `ItemSource` string: Item source / channel name
        - `Title` string: Item title
        - `Quantity` integer: Quantity
        - `CategoryName` string: Product category
        - `CompositeAvailablity` integer: Composite availability
        - `StockLevelsSpecified` boolean: If stock level specified
        - `OnOrder` integer: Level due in purchase orders
        - `OnPurchaseOrder` OrderItemOnOrder
          - `pkPurchaseItemId` string, uuid: Primary key of the bound
          - `Rowid` string, uuid
          - `pkPurchaseId` string, uuid
          - `ExternalInvoiceNumber` string
          - `fkSupplierId` string, uuid
          - `DateOfDelivery` string, date-time
          - `QuotedDeliveryDate` string, date-time
          - `SupplierName` string
          - `fkLocationId` string, uuid
        - `InOrderBook` integer: Quantity currently in open orders
        - `Level` integer: Current stock level
        - `MinimumLevel` integer: Minimum level
        - `AvailableStock` integer: Currently available stock level (Level-InOrderBook)
        - `PricePerUnit` number, double: Unit price
        - `UnitCost` number, double: Unit cost
        - `DespatchStockUnitCost` number, double: Despatch stock unit cost
        - `Discount` number, double: Percentage (0%, 10%, 20%, etc...)
        - `Tax` number, double: Actual tax value on an item
        - `TaxRate` number, double: Tax rate
        - `Cost` number, double: Total item cost (exc tax)
        - `CostIncTax` number, double: Total item cost (inc tax)
        - `CompositeSubItems` OrderItem[]: List of order items
        - `IsService` boolean: if item is a service
        - `SalesTax` number, double: Sales Tax
        - `TaxCostInclusive` boolean: If tax is included in a cost
        - `PartShipped` boolean: If order is partly shipped
        - `Weight` number, double: Order weight
        - `BarcodeNumber` string: Product barcode
        - `Market` integer: Market
        - `ChannelSKU` string: Channel product SKU
        - `ChannelTitle` string: Channel product title
        - `DiscountValue` number, double
        - `HasImage` boolean: If item got an image
        - `ImageId` string, uuid: Image ID
        - `AdditionalInfo` OrderItemOption[]: List of order item options
          - `pkOptionId` string, uuid: Option ID
          - `Property` string: Option property
          - `Value` string: Value of the option
        - `StockLevelIndicator` integer: Stock level indicator
        - `ShippingCost` number, double: If batch number scan required
        - `PartShippedQty` integer: ShippingCost
        - `ItemName` string: PartShippedQty
        - `BatchNumberScanRequired` boolean: ItemName
        - `SerialNumberScanRequired` boolean: If serial number scan required
        - `BinRack` string: Binrack location
        - `BinRacks` OrderItemBinRack[]: List of BinRacks used for OrderItem
          - `Quantity` integer: Quantity for BinRack per Location
          - `BinRack` string: BinRack
          - `Location` string, uuid: LocationId of the BinRack
          - `BatchId` integer: If the item is batched, identifies the batch number
          - `OrderItemBatchId` integer: If the item is batched, identifies the unique order item batch row
        - `InventoryTrackingType` integer: Identifies whether the item has a sell by date or other defined order in which inventory is to be sold
        - `isBatchedStockItem` boolean: If item has batches
        - `IsWarehouseManaged` boolean
        - `IsUnlinked` boolean
        - `StockItemIntId` integer
        - `Boxes` StockItemBoxConfiguration[]
          - `BoxId` integer: Unique box id.
          - `StockItemIntId` integer
          - `BoxName` string: Box name max 16 characters
          - `Width` number, double: Width of the box
          - `Height` number, double: Height of the box
          - `Length` number, double: Depth of the box
          - `Weight` number, double: Total weight of the box.
          - `ValuePercentage` number, double: Value break down percentage
          - `Barcode` string: Box barcode, max 64 characters.
          - `PackagingTypeId` string, uuid: Packaging type id
          - `LogicalDelete` boolean: IsDeleted flag.
        - `AddedDate` string, date-time
        - `RowId` string, uuid: Record row ID
        - `OrderId` string, uuid: Order ID (pkOrderID)
        - `StockItemId` string, uuid: Stock Item ID
      - `Notes` OrderNote[]: List of order notes
        - `OrderNoteId` string, uuid: Order note ID
        - `OrderId` string, uuid: Order Id
        - `NoteDate` string, date-time: Date and time when note was added
        - `Internal` boolean: order note type (Internal or External)
        - `Note` string: Note's text
        - `CreatedBy` string: User that created note
        - `NoteTypeId` integer
      - `PaidDateTime` string, date-time: Date and time when the order was marked as paid
      - `TaxId` string: Buyer's tax number.
    - `RefundHeader` OrderRefundHeader
      - `RefundHeaderId` integer
      - `Currency` string
      - `Amount` number, double
      - `RefundLines` VerifiedRefund[]
        - `RefundRowId` string, uuid: A unique identifier for the refund line
        - `RefundHeaderId` integer: A unique identifier for the refund header this line belongs to
        - `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
        - `RefundedUnit` 'Item' | 'Shipping' | 'Service' | 'Additional': Identifies the type of refund for this line
        - `IsShippingRefund` boolean: Identifies whether the refund is a shipping refund
        - `IsAdditionalRefund` boolean: Identifies whether the refund is an additional refund
        - `IsCancellation` boolean: Identifies whether the refund row is a cancellation
        - `RefundedItem` VerifiedRefundItem
          - `OrderItemRowId` string, uuid: The unique order item identifier
          - `ReturnRowId` integer: A unique identifier for the return line this refund relates to. If null, it is an independent refund
          - `ItemSKU` string: The Linnworks SKU for the item, assuming it is linked. If it is not, this matches the channel SKU
          - `ChannelSKU` string: The channel's SKU for the item
          - `ItemTitle` string: For a linked item, the Linnworks item title for this channel (or the default item title where a specific channel title does not exist). For an unlinked item, this is the title provided by the channel
          - `Cost` number, double: The tax-inclusive cost for this line
          - `CancelledQuantity` integer: If a refund is linked to a cancellation request, this field denotes the amount of the item cancelled
        - `ValidationError` string: If validation has failed for this item, the field will be populated with the appropriate error message
        - `Error` string
        - `Errors` RefundError[]
          - `RefundRowId` string, uuid
          - `ErrorMessage` string
          - `DateStamp` string, date-time
          - `Acknowledged` boolean
        - `Actioned` boolean: Line-level indicator of whether the refund has been actioned
        - `ActionedDate` string, date-time: If a refund has been actioned, this denotes the date it was actioned. For not actioned lines, this value is null
        - `ChannelInitiated` boolean: Identifies whether the refund was created manually in Linnworks, or downloaded from the channel automatically
        - `Internal` boolean: Identifies whether the line is processed only internally or also on a third-party channel
        - `Deleted` boolean: Identifies whether the line has been removed from the refund, and is pending an update to the database to reflect this
        - `ExternalReference` string: The channel reference number for this refund
        - `IsFreeText` boolean: Identifies whether the refund reason is provided in freetext, or as one of a predefined set of options
        - `FreeTextOrNote` string: For freetext refund reasons, this is the reason that will be sent to the channel. Otherwise, it is considered an internal note
        - `Amount` number, double: The amount to be refunded for this line
        - `Quantity` integer: Used when the refund is part of a return
        - `ReasonTag` string: For channels that support predefined refund reasons, this is the tag that identifies a predefined reason
        - `SubReasonTag` string: For channels that support a secondary predefined refund reason, this is the tag that identifies a predefined secondary reason
        - `InsufficientRefundTag` string: For channels that require a reason when the refund is lower than the full line amount, this is the tag that identifies a predefined insufficient refund reason
        - `InsufficientRefundNote` string: For channels that require a reason when the refund is lower than the full line amount, and support a freetext note, this field populates that note
        - `ReasonCategory` string: Internal reason category
      - `RefundLink` string
      - `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
    - `AllExistingRefunds` VerifiedRefund[]
      - `RefundRowId` string, uuid: A unique identifier for the refund line
      - `RefundHeaderId` integer: A unique identifier for the refund header this line belongs to
      - `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
      - `RefundedUnit` 'Item' | 'Shipping' | 'Service' | 'Additional': Identifies the type of refund for this line
      - `IsShippingRefund` boolean: Identifies whether the refund is a shipping refund
      - `IsAdditionalRefund` boolean: Identifies whether the refund is an additional refund
      - `IsCancellation` boolean: Identifies whether the refund row is a cancellation
      - `RefundedItem` VerifiedRefundItem
        - `OrderItemRowId` string, uuid: The unique order item identifier
        - `ReturnRowId` integer: A unique identifier for the return line this refund relates to. If null, it is an independent refund
        - `ItemSKU` string: The Linnworks SKU for the item, assuming it is linked. If it is not, this matches the channel SKU
        - `ChannelSKU` string: The channel's SKU for the item
        - `ItemTitle` string: For a linked item, the Linnworks item title for this channel (or the default item title where a specific channel title does not exist). For an unlinked item, this is the title provided by the channel
        - `Cost` number, double: The tax-inclusive cost for this line
        - `CancelledQuantity` integer: If a refund is linked to a cancellation request, this field denotes the amount of the item cancelled
      - `ValidationError` string: If validation has failed for this item, the field will be populated with the appropriate error message
      - `Error` string
      - `Errors` RefundError[]
        - `RefundRowId` string, uuid
        - `ErrorMessage` string
        - `DateStamp` string, date-time
        - `Acknowledged` boolean
      - `Actioned` boolean: Line-level indicator of whether the refund has been actioned
      - `ActionedDate` string, date-time: If a refund has been actioned, this denotes the date it was actioned. For not actioned lines, this value is null
      - `ChannelInitiated` boolean: Identifies whether the refund was created manually in Linnworks, or downloaded from the channel automatically
      - `Internal` boolean: Identifies whether the line is processed only internally or also on a third-party channel
      - `Deleted` boolean: Identifies whether the line has been removed from the refund, and is pending an update to the database to reflect this
      - `ExternalReference` string: The channel reference number for this refund
      - `IsFreeText` boolean: Identifies whether the refund reason is provided in freetext, or as one of a predefined set of options
      - `FreeTextOrNote` string: For freetext refund reasons, this is the reason that will be sent to the channel. Otherwise, it is considered an internal note
      - `Amount` number, double: The amount to be refunded for this line
      - `Quantity` integer: Used when the refund is part of a return
      - `ReasonTag` string: For channels that support predefined refund reasons, this is the tag that identifies a predefined reason
      - `SubReasonTag` string: For channels that support a secondary predefined refund reason, this is the tag that identifies a predefined secondary reason
      - `InsufficientRefundTag` string: For channels that require a reason when the refund is lower than the full line amount, this is the tag that identifies a predefined insufficient refund reason
      - `InsufficientRefundNote` string: For channels that require a reason when the refund is lower than the full line amount, and support a freetext note, this field populates that note
      - `ReasonCategory` string: Internal reason category
    - `Errors` string[]

---

[API](https://skmtc.dev/linnworks/apis/returns-and-refunds-api.md) - [All operations](https://skmtc.dev/linnworks/apis/returns-and-refunds-api/llms.txt) - [OpenAPI document](https://skmtc.dev/linnworks/apis/returns-and-refunds-api/revisions/f33c88040fa0?raw)
