Skip to main content
TLDP supports the full returns and exchanges lifecycle from initial customer request through to final resolution. Whether a customer received the wrong item, changed their mind, or received a damaged parcel, you can record the return, route it through an approval workflow, confirm physical receipt, and close it out with a refund, exchange, repair, or store credit — all through the API.

Return lifecycle

A return moves through four sequential states. Each transition is triggered by an explicit API call.

Return reasons

Pass one of the following values as the reason field when requesting a return.

Return resolutions

Pass one of the following values as the resolution field when approving a return. The resolution you specify is the outcome applied when the return reaches the resolved state.

Full returns lifecycle

1

Request a return

Create a return record by providing the originating order ID, the reason, and the list of items being returned.
2

Approve or reject the return

Review the return request and either approve it — specifying the resolution to apply — or reject it. Approving creates a reverse pickup shipment from the customer back to you.
3

Mark the return as received

Once the item physically arrives at your location, mark the return as received to progress it to the next state.
4

Resolve the return

Close the return by resolving it. TLDP applies the resolution specified at approval time (for example, issuing a refund or dispatching an exchange).
You can check the current state of a return at any point using getReturn.
Subscribe to return webhook events — return.requested, return.approved, return.rejected, return.received, return.refunded, and return.exchanged — to receive realtime notifications at each stage of the lifecycle without polling. See the Webhooks guide to get started.