Download the collection
Import into Postman, then set your API key. The collection is self-contained — no separate
environment file required.
Setup
- In Postman, choose Import and select the downloaded file.
- Open the collection’s Variables tab.
- Set
apiKeyto a key generated in Developer Tools. - Run Setup & Auth → Who Am I to confirm the key resolves to the expected shop, and to see the scopes it carries.
baseUrl is pre-set to https://api.loopreturns.com/api/v1. Authentication is configured at the
collection level as the X-Authorization header, so individual requests inherit it.
Build order
Records must exist before anything that references them. Seeding a sandbox from empty, build in this order:
Locations are needed twice — once by inventory, once by order fulfilment.
Referencing records
Every reference accepts either Loop’s global identifier or your own external ID. Sending both is a validation error, not a preference:/external/{externalId} routes for GET and DELETE.
Loop’s identifiers are 18–19 digit integers that exceed JavaScript’s safe integer range, so
JSON.parse silently corrupts them — including Postman’s own response viewer. Every request in
this collection sends X-Loop-Global-Identifier-Type: string, so identifiers arrive as strings
and stay intact. If you drop that header in your own client, address records by your
external_id instead.Draft Returns
Draft Returns is a state machine. Every response’s_templates enumerates which actions are legal
next — drive your integration from those rather than hardcoding a sequence, since what is available
changes with shop configuration.
_templates only appears in the HAL-FORMS representation, so every request in the Draft Returns
folder sends Accept: application/prs.hal-forms+json. GET /draft-returns requires it and
returns 422 unsupported-feature without it; the other endpoints fall back to plain REST JSON and
silently omit _templates, which is easier to miss.Testing webhooks
Webhooks → Get Sample Payloads returns example payloads for each topic, so you can build and test
handlers without triggering real events.