Loop Returns Create Return
Creates a return in Loop for an existing order, running Loop's full multi-step return flow in a single action.
What it does
- Looks up the order in Loop using the order name plus a verification value (customer email or postcode/ZIP).
- Adds each requested item to the return, with its return reason and return type (refund/store credit or exchange).
- Finalises the return, sets how the customer is compensated, picks a return method automatically and submits it.
- Returns the new return's ID, or the error from Loop when something is invalid (e.g. an item already returned).
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| Order Name | String | Yes | The order name/number the return is for. |
| Items | List | Yes | Items to return. Each item needs the order line item ID, plus its return reason (parent and specific), and its return type. |
| Verification | String | Yes | Value Loop needs to verify the order, normally the customer email or postcode/ZIP. |
| Shop ID | String | Yes | The Loop shop the order belongs to. |
| Credit Type | String | No | How the customer is compensated: refund, gift (store credit) or exchange. |
| API Key | String | No | Loop Returns API key. Only used as a fallback when no module connection is configured. |
| Safe Mode | Boolean | No | If on, errors are returned in the outputs instead of stopping the flow. |
Outputs
| Name | Type | Description |
|---|---|---|
| Success | Boolean | Whether the return was created. |
| Return ID | String | The ID of the created return. |
| Raw Data | Object | The full response from Loop. |
| Error Message | String | Error details when Safe Mode is on and the action fails. |
Notes
- A return reason is effectively required: Loop needs both a general reason and a more specific one before a return can be submitted.
- An item that has already been returned will be rejected by Loop.
Updated about 14 hours ago
Did this page help you?