3PL Service API
The 3PL Service API is the HTTP integration surface a third-party logistics provider (3PL) implements to exchange orders, receipts, transfers, returns, products, and inventory with Fulfil. Providers authenticate per warehouse with a JWT bearer token and call REST endpoints to keep their system in sync with Fulfil.
Base URL 🔗
1
https://{workspace_id}.fulfil.io/services/3pl
Replace {workspace_id} with your Fulfil workspace subdomain.
Reference by resource 🔗
| Resource | What it covers |
|---|---|
| Authentication | JWT bearer tokens, warehouse scoping |
| Customer Shipments | Outbound orders the 3PL picks, packs, and ships |
| Supplier Shipments | Inbound purchase-order receipts at the 3PL |
| Internal Shipments | Warehouse-to-warehouse inbound and outbound |
| Returns | Customer return shipments |
| Products | Product master data exposed to the 3PL |
| Inventory | Adjustments and cycle counts |
Conventions 🔗
Pagination. List endpoints return up to 100 records per page. Pass ?page=N
to walk pages. The response includes has_more indicating whether further
pages exist. Sibling /count.json endpoints give the exact total.
Batch operations. Most write endpoints accept an array of items and
respond with HTTP 207 Multi-Status when some items succeeded and others
failed. Per-item errors live in the response body under errors for each
item. A plain 200 means every item succeeded.
Error envelope. Errors come back as:
1
2
3
4
5
6
7
8
{
"error": {
"status": 400,
"code": null,
"title": "Shipments not present in request payload",
"details": [{"target": 123, "message": "Shipment not found"}]
}
}