Process Return
Process a return in Loop based on the return ID. Processing a return will archive it in Loop and fulfill any remaining outcomes, such as placing exchange orders or creating gift cards.
β‘ Processing Note
This endpoint queues the return for processing. The actual processing occurs in the background. HTTP
200with bodytrueis an acknowledgement that Loop queued the work. It is not proof that processing completed.
Confirming the outcome
After Loop returns true, confirm the terminal result with webhooks:
- Success:
return.closedon the Return topic. - Background failure:
return.processing.failedon the Return Processing topic.
The failure webhook message can be generic or null. Do not treat it as a stable error code.
This failure webhook does not cover synchronous refusals. If Loop refuses the request,
the HTTP 200 response includes an errors body instead of true. Loop does not send
return.processing.failed for that case.
Note on instant refunds
If the return has an open Reshop instant-refund credit, processing is intentionally skipped: a successful (
true) response is returned without dispatching any processing jobs.
Optionally, you may include a JSON payload in the request body. If you choose to do so, Loop will add these values to any new orders in the commerce provider (e.g. Shopify) that result from processing the return. For example, if the return includes an exchange when the return is processed, Loop will create that exchange order and these values will be added to the order as βAdditional Details.β Loop will also add a note to the return timeline with the values in the request body.
π§ Process Error Codes
Returns must be in a processable state to successfully process. If your return is not in a processable state, your response will include an
errorsobject with a corresponding message and error code.If you would like to configure your flagged returns to process, please reach out to support@loopreturns.com.
{
"errors": {
"message": "Return is open and therefore cannot be processed.",
"code": "UNPROCESSABLE_FLAGGED_RETURN"
}
}
Required API key scope
- Returns
Authorizations
Path Parameters
The unique identifier associated with the return.
Response
Success - HTTP 200 with true means Loop queued processing (acknowledgement, not completion).
HTTP 200 with an errors body means Loop refused the request before queueing.
The value returned when the return action succeeds.
true