Skip to main content

The return object

A return tracks merchandise coming back to a merchant. It carries the RMA, the reason, the condition of the goods, and the refund amounts, with a line item per SKU returned.
Almost every field is nullable. A freshly created return typically has rma, order_id, customerEmail, status, and created_date populated and everything else null — including amount, total_refunded, condition, and reason_category. They fill in as the return is processed.Write your integration to expect nulls on every optional field rather than only on the ones that look optional. This is the single most common source of breakage against this object.

Casing

The object mixes two conventions, and the API sends them exactly as written:
Do not normalise these when serialising a request, and do not assume a snake_case equivalent exists. customer_email is not a field.

Return

reported_condition and condition are deliberately separate. The first is the customer’s claim, the second is what your team found. A discrepancy between them is exactly the signal worth reporting on — and collapsing them into one field destroys it.

Return line item

A return can have an empty return_line_items array. A return created from a customer request before the goods arrive has no lines yet — do not treat an empty array as an error.

Status

status is a short code, not a word. RCV means received:
Branch on the exact code string. Do not attempt to parse it as a readable label or to match on a prefix.

Reasons

reason_category groups the many ways a return can arise. The distinctions that matter operationally:
These four groups behave differently and it is worth mapping them explicitly. A damaged-goods return is a supplier or carrier claim; a never-arrived return is a carrier investigation and may not involve returned goods at all; a changed-mind return is the only group where a restocking fee is normally defensible. Treating all twelve reason strings as one flat list loses that.

Example

A newly created return, showing how sparse the real payload is: