Overview
The Loop-Compatible API lets an existing Loop Returns warehouse integration work with Redo. It preserves Loop’s endpoint paths and response shape while reading and updating Redo returns.Choose a version
- v2 (recommended)
- v1 (legacy)
Use this base URL:v2 improves financial calculations, line-item refund allocation, exchange metadata, return comments, and status outcomes.
/api/v1/warehouse portion is part of the Loop-compatible route. The preceding /redo/v2 or /redo/v1 selects Redo’s compatibility implementation.
Authentication
Create an API client in the Redo Dashboard under Settings → Developer → Add API Client. Send its secret as a Bearer token:Endpoints
Append these paths to the base URL for your selected version.Returns
Notes and reporting
Loop’s
close operation maps to rejecting/canceling a Redo return. Loop’s cancel operation maps to resetting a Redo return.Identify a return
For a route containing:return_id, pass the numeric Loop-compatible id returned by the API:
For example:
List and ASN filters
GET /return/list accepts:
GET /reporting/asn supports from, to, pageSize, state, and cursor.
Pagination
For return lists in either version, sendpaginate=true. The API returns an object with the current records and, when another page exists, a URL to request it:
nextPageUrl response header. Follow that URL until the next-page value is absent. Add paginate=true to each subsequent request if you want every return-list page to retain the wrapped { returns, nextPageUrlString } response; otherwise subsequent pages use the array response. ASN responses always remain an array and provide the next page through the nextPageUrl header.
Without paginate=true, /return/list returns an array.
v2 response behavior
v2 keeps the Loop-compatible response structure, including numericid and string redo_id, but corrects how important fields are populated.
Financial fields
All monetary values are decimal strings with two digits after the decimal point.
At the line-item level, v2 reports the original
price, the item’s discount and tax, and allocates refund, refund_item, and refund_tax proportionally when only part of the return is refunded.
Other corrected fields
outcomereportsupsellwhen a customer charge exists; otherwise it distinguishes refunds, store credit, exchanges, and combined outcomes.- Advanced exchanges include parsed numeric product and variant IDs,
sku, title, discount, allocated tax, and total when available. line_items[].return_commentcontains the shopper’s non-empty return-form answers, joined with line breaks.line_items[].weight_in_gramsis always numeric, and missing barcodes use an empty string.- Shipment labels include only shipments with a carrier, status, and tracking number, and associate the matching line-item IDs.
- ASN purchase price and outcome use the same v2 return-accounting totals as return details.
Upgrade from v1 to v2
- Change only the base path from
/api/v1/warehouse(or/redo/v1/api/v1/warehouse) to/redo/v2/api/v1/warehouse. - Keep the same credentials, scopes, endpoint suffixes, return identifiers, and write-operation payloads.
- Update any reconciliation logic or assertions that depend on financial values. v2 intentionally changes the totals and line-item values described above.
- Verify consumers tolerate the newly populated
return_commentand exchange metadata fields and the correctedoutcomepriority.