Fulfillment
The Fulfillment API provides access to warehouse operations including incoming shipment alerts, inventory receiving, and outbound shipment processing. Manage your 3PL operations programmatically.
All endpoints require authentication via Bearer token with fulfillment:read or fulfillment:write scope.
List warehouses
Returns a list of available warehouses for fulfillment operations.
Request
curl https://app.price2b.com/api/v1/fulfillment/warehouses \
-H "Authorization: Bearer {token}"
Response
{
"success": true,
"data": {
"warehouses": [
{
"id": 1,
"code": "MIAMI",
"name": "Miami Warehouse",
"address": {
"address1": "123 NW 123rd St",
"city": "Miami",
"state": "FL",
"postal_code": "33166",
"country": "US"
},
"services": ["storage", "pick_pack", "forwarding"],
"supported_carriers": ["fedex", "ups", "dhl"],
"contact": {
"email": "miami@price2b.com",
"phone": "+1-305-555-0100"
}
},
{
"id": 2,
"code": "LAX",
"name": "Los Angeles Warehouse",
"address": {
"address1": "456 Commerce Blvd",
"city": "Carson",
"state": "CA",
"postal_code": "90745",
"country": "US"
},
"services": ["storage", "pick_pack", "forwarding", "returns"],
"supported_carriers": ["fedex", "ups", "dhl", "usps"]
}
]
}
}
Get warehouse details
Retrieves detailed information about a specific warehouse including available services and rates.
Request
curl https://app.price2b.com/api/v1/fulfillment/warehouses/1 \
-H "Authorization: Bearer {token}"
Response
{
"success": true,
"data": {
"id": 1,
"code": "MIAMI",
"name": "Miami Warehouse",
"address": {"..."},
"services": {
"storage": {
"available": true,
"rate_per_cbm_month": 25.00
},
"pick_pack": {
"available": true,
"base_rate": 2.50,
"per_item_rate": 0.50
},
"forwarding": {
"available": true
}
},
"hours": {
"receiving": "Mon-Fri 8:00 AM - 5:00 PM EST",
"shipping": "Mon-Fri 9:00 AM - 4:00 PM EST"
}
}
}
List incoming shipments
Returns a list of incoming shipment alerts.
Query parameters
- Name
warehouse_id- Type
- integer
- Description
Filter by warehouse.
- Name
status- Type
- string
- Description
Filter by status:
pending,in_transit,received,processing.
- Name
date_from- Type
- datetime
- Description
Alerts created after this date.
Request
curl -G https://app.price2b.com/api/v1/fulfillment/incoming \
-H "Authorization: Bearer {token}" \
-d warehouse_id=1 \
-d status=pending
Response
{
"success": true,
"data": {
"incoming": [
{
"id": 101,
"warehouse_id": 1,
"warehouse_name": "Miami Warehouse",
"tracking_number": "1Z999AA10123456784",
"carrier": "ups",
"status": "pending",
"expected_date": "2026-02-05",
"shipper": {
"name": "Amazon Fulfillment",
"company": "Amazon.com"
},
"items_count": 3,
"created_at": "2026-01-30T10:00:00Z"
}
],
"pagination": {"..."}
}
}
Create incoming alert
Creates an incoming shipment alert to notify the warehouse of an expected delivery.
Required attributes
- Name
warehouse_id- Type
- integer
- Description
Target warehouse ID.
- Name
tracking_number- Type
- string
- Description
Carrier tracking number.
- Name
carrier- Type
- string
- Description
Carrier name:
ups,fedex,dhl,usps, etc.
- Name
shipper- Type
- object
- Description
Shipper address information.
- Name
items- Type
- array
- Description
Expected items with product_id and quantity.
Optional attributes
- Name
expected_date- Type
- date
- Description
Expected delivery date (YYYY-MM-DD).
- Name
notes- Type
- string
- Description
Special handling instructions.
- Name
po_number- Type
- string
- Description
Purchase order reference.
Request
curl -X POST https://app.price2b.com/api/v1/fulfillment/incoming \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"warehouse_id": 1,
"tracking_number": "1Z999AA10123456784",
"carrier": "ups",
"shipper": {
"name": "Amazon Fulfillment",
"company": "Amazon.com",
"address1": "123 Amazon Way",
"city": "Seattle",
"state": "WA",
"postal_code": "98101",
"country": "US"
},
"expected_date": "2026-02-05",
"items": [
{
"product_id": 12345,
"quantity": 100,
"unit_value": 25.00
},
{
"product_id": 12346,
"quantity": 50,
"unit_value": 35.00
}
],
"notes": "Handle with care - electronics"
}'
Response (201)
{
"success": true,
"message": "Incoming alert created successfully",
"data": {
"id": 102,
"warehouse_id": 1,
"tracking_number": "1Z999AA10123456784",
"status": "pending",
"expected_date": "2026-02-05",
"items_count": 2,
"total_units": 150,
"created_at": "2026-01-31T10:00:00Z"
}
}
Receive incoming shipment
Marks an incoming shipment as received and updates inventory.
Required attributes
- Name
received_items- Type
- array
- Description
Items actually received with quantities.
Optional attributes
- Name
notes- Type
- string
- Description
Receiving notes (damages, discrepancies, etc.).
- Name
received_by- Type
- string
- Description
Name of person who received the shipment.
Request
curl -X POST https://app.price2b.com/api/v1/fulfillment/incoming/102/receive \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"received_items": [
{
"product_id": 12345,
"quantity_received": 100
},
{
"product_id": 12346,
"quantity_received": 48,
"notes": "2 units damaged"
}
],
"notes": "Package slightly damaged, 2 items affected",
"received_by": "John Smith"
}'
Response
{
"success": true,
"message": "Shipment received and inventory updated",
"data": {
"incoming_id": 102,
"status": "received",
"received_at": "2026-02-05T14:30:00Z",
"inventory_updates": [
{
"product_id": 12345,
"sku": "PROD-001",
"quantity_added": 100,
"new_warehouse_quantity": 200
},
{
"product_id": 12346,
"sku": "PROD-002",
"quantity_added": 48,
"new_warehouse_quantity": 98
}
],
"discrepancies": [
{
"product_id": 12346,
"expected": 50,
"received": 48,
"difference": -2,
"notes": "2 units damaged"
}
]
}
}
List outbound shipments
Returns a list of outbound shipments from fulfillment.
Query parameters
- Name
warehouse_id- Type
- integer
- Description
Filter by warehouse.
- Name
status- Type
- string
- Description
Filter by status:
pending,processing,shipped,cancelled.
Request
curl -G https://app.price2b.com/api/v1/fulfillment/outbound \
-H "Authorization: Bearer {token}" \
-d status=pending
Response
{
"success": true,
"data": {
"outbound": [
{
"id": 201,
"order_id": 5001,
"warehouse_id": 1,
"status": "pending",
"recipient": {
"name": "Juan Pérez",
"city": "Buenos Aires",
"country": "AR"
},
"items_count": 2,
"created_at": "2026-01-31T08:00:00Z"
}
],
"pagination": {"..."}
}
}
Create outbound shipment
Creates an outbound shipment request for fulfillment.
Required attributes
- Name
warehouse_id- Type
- integer
- Description
Source warehouse ID.
- Name
recipient- Type
- object
- Description
Recipient address (full AddressDTO).
- Name
items- Type
- array
- Description
Items to ship with product_id and quantity.
Optional attributes
- Name
carrier- Type
- string
- Description
Preferred carrier.
- Name
service- Type
- string
- Description
Carrier service level.
- Name
order_id- Type
- integer
- Description
Associated order ID.
- Name
reference- Type
- string
- Description
External reference.
Request
curl -X POST https://app.price2b.com/api/v1/fulfillment/outbound \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"warehouse_id": 1,
"recipient": {
"name": "Juan Pérez",
"address1": "Av. Corrientes 1234",
"city": "Buenos Aires",
"state": "C",
"postal_code": "C1043",
"country": "AR",
"phone": "+54-11-4000-0000"
},
"items": [
{
"product_id": 12345,
"quantity": 2
}
],
"carrier": "fedex",
"service": "INTERNATIONAL_ECONOMY",
"order_id": 5001
}'
Response (201)
{
"success": true,
"message": "Outbound shipment created",
"data": {
"id": 202,
"warehouse_id": 1,
"status": "pending",
"order_id": 5001,
"items": [
{
"product_id": 12345,
"sku": "PROD-001",
"quantity": 2
}
],
"created_at": "2026-01-31T10:00:00Z"
}
}
Ship outbound
Generates a shipping label and marks the outbound as shipped.
Request
curl -X POST https://app.price2b.com/api/v1/fulfillment/outbound/202/ship \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"carrier": "fedex",
"service": "INTERNATIONAL_ECONOMY",
"packages": [
{
"weight": 0.5,
"length": 20,
"width": 15,
"height": 10
}
]
}'
Response
{
"success": true,
"message": "Shipment created successfully",
"data": {
"outbound_id": 202,
"status": "shipped",
"shipment_id": 12345,
"tracking_number": "794644790303",
"carrier": "fedex",
"label_url": "https://app.price2b.com/api/v1/shipping/shipments/12345/label",
"shipped_at": "2026-01-31T14:00:00Z"
}
}
List purchase orders
Returns a list of purchase orders for inventory replenishment.
Request
curl https://app.price2b.com/api/v1/fulfillment/purchase-orders \
-H "Authorization: Bearer {token}"
Response
{
"success": true,
"data": {
"purchase_orders": [
{
"id": 301,
"po_number": "PO-2026-001",
"supplier": "Acme Suppliers",
"status": "pending",
"items_count": 5,
"total_value": 5000.00,
"expected_date": "2026-02-15",
"created_at": "2026-01-25T10:00:00Z"
}
],
"pagination": {"..."}
}
}