Prerequisites
Before integrating with the Return Helper API, ensure you have:- API credentials — see the Authentication section.
- A webhook notification endpoint ready to receive asynchronous events from Return Helper. If no notification endpoint is provided, label results and warehouse events will not be received.
- Read through this guide to understand the main return flow.
Return Flow Overview
A typical return has three stages:- Before warehouse arrival — Create a return shipment and receive a shipping label.
- Warehouse arrival — The package is scanned in; images are uploaded; the shipment becomes a Return Inventory record.
- Post-arrival handling — Instruct the warehouse how to handle the inventory (dispose, resend, recall, VAS, etc.).
Requesting a Return Label
Label creation is asynchronous. The flow is:- Call Create Return Shipment to create a return shipment record and queue a label request.
- Return Helper generates the label and delivers the result to your webhook notification endpoint via the label notification event.
RMA (Return Merchandise Authorization)
When a shipment enters a Return Helper warehouse it is assigned a globally unique RMA. Return Helper uses RMA as the primary communication identifier instead of the carrier tracking number, for two reasons:- Tracking numbers can be duplicated across carriers, or even within the same carrier.
- When a parcel is split via VAS, each resulting parcel receives its own RMA.
TWN-20-230101-D12345-36
Split RMA format (after a VAS split):
TWN-20-230101-D12345-01-36
Return Inventory at Warehouse Arrival
When a return shipment arrives at the warehouse, it is marked received and converted into one or more Return Inventory records, each with a uniquereturnInventoryId.
Type 1 — Seller-initiated shipment
- Seller created the shipment via the API and provided a label.
- Warehouse marks it received → warehouseMarkShipmentArrivedV2 webhook is sent, followed by inventoryCreated (which includes
returnInventoryId). - If a single label covers multiple packages, each package becomes a separate Return Inventory record sharing the same
shipmentIdandreturnRequestId. One inventoryCreated event is sent per inventory. - Inventory images are uploaded next and delivered via changeLineItemImage.
Type 2 — Unknown shipment assigned to seller
- The shipment arrived without a seller-created record but was identified as belonging to a seller.
- assignUnknown webhook is sent, including the return inventory payload,
returnInventoryId,shipmentId, andreturnRequestId. - Multiple inventoryCreated events may follow if the package contains multiple items.
- Images captured before assignment are included in assignUnknown; any subsequent changes arrive via changeLineItemImage.
Inventory Images
When images are uploaded (or the image list changes), the changeLineItemImage webhook is sent containing the image URL list.Handling Instructions
Once a Return Inventory record exists, instruct the warehouse what to do with it:Dispose
Call Update Return Inventory Handling with a dispose handling type. Use Cancel Return Inventory Handling to withdraw the instruction.On-hold
Call Update Return Inventory Handling with an on-hold handling type.Resend
- Call Create Resend with a list of
returnInventoryIdvalues. - Receive the resend tracking number via the resend webhook notification.
- Call Cancel Resend if the resend is no longer needed.
Recall
- Call Create Recall by Return Inventory IDs with up to 100
returnInventoryIdvalues. - Tracking updates and pick-up status changes are delivered via the recall webhook notification.
Value-Added Services (VAS)
- Call Create VAS with the
returnInventoryIdand the required VAS types. - Results are delivered via the UpdateVas webhook notification.
Custom Fields
Custom fields let you attach arbitrary key-value metadata to a return. They are stored but not processed by Return Helper — they are returned to you in relevant webhook notifications.- Type:
Dictionary<string, string> - Maximum 24 custom fields per return.
FBA (Fulfilled by Amazon) Returns
Customers can send FBA products to a Return Helper warehouse for processing (restock, replenish, recall, dispose, etc.). Typical FBA workflow:- Call Create FBA Shipment to notify Return Helper and send the products to the warehouse.
- The shipment is received, put away as FBA inventory with
fnskuandquantity, and delivered via webhook. - Check existing FBA inventory with Get FBA Warehouse Inventory List.
- Create instructions via Create FBA Instructions (replenishment requires additional shipping information not currently available in the API).
- Return Helper processes the instruction and notifies you of results via webhook.
- Check instruction status via the relevant Get FBA Instruction Detail endpoint (Recall, Dispose, Restock, Others).
- Use List FBA Shipments to retrieve past shipments within a date range, collecting
fbaShipmentIdvalues. - Call Get FBA Shipment Item List to get items, FNSKU, and quantities per shipment.
- Use Get FBA Warehouse Inventory List with an FNSKU to see current inventory.
- Use List FBA Instructions to find past instructions.
- Use Get FBA Instruction Item List per instruction for line-item detail.
Retrieving Historical Data
This section is for existing Return Helper Portal users who are migrating to the API. If you are integrating from scratch, all necessary data is exchanged through normal API calls and webhook events — you do not need to retrieve historical data.
Response Structure
Every API response contains ameta object indicating the result status.
Successful response (status: 200):
warehouseId):
status value other than 200 means the request did not complete successfully. The errorCode and error fields provide details.