Retrieve a sales return

Operation ID: getAccountingSalesReturn

Group: Accounting › Sales Returns

Open in the interactive reference

GET /accounting/sales-returns/{id}

Read-only: Reads and returns; changes nothing.

Retrieves a sales return. Use the sales return's id, not its salesReturnNumber.

The response includes the sales return's lines. POST accounting/sales-returns/search returns the same fields for each sales return.

Parameters

Name In Type Required Description
Api-Version header string · v1 yes The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1.
id path string yes The unique identifier of the sales return you want to retrieve.

Response

200 Success

Under data (getAccountingSalesReturnOutput):

Field Type Required Description
id string yes The unique identifier for the sales return.
salesReturnNumber string no The RMA number, for example 'SR-1'. Absent while none has been assigned.
status string yes The lifecycle status of the sales return. Possible values: 'draft', 'submitted', 'received', 'approved', 'completed', 'cancelled', 'rejected'.
returnType string yes The resolution path for the return. Possible values: 'credit', 'replacement'. It cannot be changed once status moves past 'draft'.
returnDate string yes The transaction date for the return. Format YYYY-MM-DD.
salesOrderId string yes The sales order this return is against. A sales return is always against exactly one sales order. See id on GET accounting/sales-orders/:id.
currency string yes The currency of every amount on this record and its lines. Format ISO 4217, for example 'USD'.
reasonCode string no The customer-facing reason for the return. Possible values: 'defectiveItem', 'wrongItemShipped', 'damagedInTransit', 'customerRequest', 'duplicateOrder', 'notAsDescribed', 'other'. It is for reporting and does not affect how the return is resolved.
notes string no Free-form notes for the return.
returnTrackingNumber string no The carrier tracking number for the inbound return shipment.
totalReturnAmount decimal no The total return amount, the sum of every line's totalPrice, in the return currency.
returnFeeAmount decimal no The fee deducted from the customer refund, such as a restocking fee, in the return currency. Credit returns only. It is set either here or on the lines, never both.
shippingRefundAmount decimal no The shipping charge refunded to the customer, in the return currency. Credit returns only.
totalRevenueImpact decimal no The revenue reversed to the customer, the product-line revenue impact plus the shipping refund, in the return currency. Always 0 for the replacement path.
revenueStatus string no The revenue reversal status. Possible values: 'notApplicable', 'notStarted', 'reversed'. 'notApplicable' is the replacement path, and 'reversed' is a completed credit return.
inventoryReturnNumber string no The document number of the linked inventory sales return. Absent until one has been created.
lastModifiedDate date-time yes The date and time the sales return last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
lines array<object> yes The product lines being returned.
lines[].id string yes The unique identifier for this return line.
lines[].salesOrderProductLineId string yes The sales order product line this line returns. See salesOrderProductLineId on GET accounting/sales-orders/:id.
lines[].lineType string yes The product line type, copied from the sales order line at creation.
lines[].quantity decimal yes The quantity being returned.
lines[].unitOfMeasure string yes The unit of measure, copied from the sales order line.
lines[].currency string yes The currency of unitPrice, totalPrice and returnFeeAmount on this line, copied from the sales return. Format ISO 4217, for example 'USD'.
lines[].unitPrice decimal yes The unit price, copied from the sales order line at creation, in this line's currency.
lines[].totalPrice decimal no The total price for the line, quantity times unitPrice, in this line's currency.
lines[].returnFeeAmount decimal no The fee deducted from the customer refund for this line, in this line's currency. Credit returns only. Set only when fees are tracked per line rather than on the header.
lines[].revenueImpactAmount decimal no The revenue reversed for this line, in this line's currency. 0 for the replacement path.
lines[].lineStatus string yes The lifecycle status of this line. Possible values: 'pending', 'received', 'approved', 'completed', 'cancelled', 'rejected'.
{
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "salesReturnNumber": "<salesReturnNumber>",
    "status": "<status>",
    "returnType": "<returnType>",
    "returnDate": "<returnDate>",
    "salesOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "currency": "<currency>",
    "reasonCode": "<reasonCode>",
    "notes": "<notes>",
    "returnTrackingNumber": "<returnTrackingNumber>",
    "totalReturnAmount": "19.99",
    "returnFeeAmount": "19.99",
    "shippingRefundAmount": "19.99",
    "totalRevenueImpact": "19.99",
    "revenueStatus": "<revenueStatus>",
    "inventoryReturnNumber": "<inventoryReturnNumber>",
    "lastModifiedDate": "2026-01-15T09:30:00.000Z",
    "lines": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "salesOrderProductLineId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "lineType": "<lineType>",
        "quantity": "19.99",
        "unitOfMeasure": "<unitOfMeasure>",
        "currency": "<currency>",
        "unitPrice": "19.99",
        "totalPrice": "19.99",
        "returnFeeAmount": "19.99",
        "revenueImpactAmount": "19.99",
        "lineStatus": "<lineStatus>"
      }
    ]
  },
  "diagnostics": [
    {
      "code": "<code>",
      "message": "<message>",
      "severity": "error",
      "path": [
        "<path>"
      ],
      "details": "<details>"
    }
  ]
}

Errors

Code Status
NOT_FOUND 400

Statuses