Partner API
Fulfillment partners who don't run a Shopify store connect to LGL through the Partner API — the same program as Shopify-connected partners, delivered as a simple REST API: you pull the orders assigned to you, ship them, and post the tracking back.
Full reference
This page is the orientation. The complete interactive reference — every endpoint, schema, and example — lives at api.livegoodlogistics.com/partner/docs.
Authentication
Contact LGL to receive your API key, then send it on every request:
bash
curl "https://api.livegoodlogistics.com/partner/manifest?status=new" \
-H "X-API-Key: your_api_key_here"The fulfillment workflow
Four endpoints, in order:
| Step | Endpoint | What it does |
|---|---|---|
| 1 | GET /manifest?status=new | List orders assigned to you that no one has claimed |
| 2 | POST /acknowledge | Claim an order so it's yours to fulfill |
| 3 | GET /manifest?status=processing | See everything you've claimed |
| 4 | POST /fulfill | Ship it — post the tracking number and carrier |
Two more for the exceptions:
- Can't fulfill an order at all (out of stock, damage)?
POST /rejectwith a reason — we're alerted immediately and take care of the customer. - Claimed something by mistake?
POST /releasequietly puts it back in the pool.
What the manifest gives you
Each order includes our reference numbers, the destination (name and shipping address — never the customer's email or phone), any gift note, and the line items with SKUs and quantities. The same rules as Shopify-connected partners apply: include the gift message with the package, and never include prices or invoices in the box.
Webhooks — skip the polling
Prefer push? Give us an HTTPS endpoint and we'll send you signed events instead:
| Event | When |
|---|---|
order.created | A new order is assigned to you |
order.updated | The shipping address changed on an unshipped order |
order.cancelled | The order was cancelled — don't ship it |
Every delivery carries an X-LGL-Signature header (HMAC-SHA256 of the body with your signing secret) so you can verify it's really us. Contact LGL to register your URL. Polling keeps working either way — webhooks are the fast path, not a requirement.
Good to know
- Poll politely. Every few minutes is plenty — orders don't expire, and claims are exclusive to you once acknowledged.
- Partial shipments are supported. Fulfill the line items that ship now; the rest stay open.
- Tracking does the rest. Once you
POST /fulfill, the tracking number flows to the retailer and their customer automatically. - Getting paid works the same as for every partner: a weekly statement of what you shipped at the agreed cost.
The API is actively evolving — if your integration needs something it doesn't do yet (an inventory feed is next on the roadmap), talk to us: [email protected].
