Fulfil Docs

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 🔗

Text
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:

JSON
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"}]
  }
}