Inbound
Endpoints for managing inbound orders — the items being shipped to your warehouse.
Create an inbound order
Create a new inbound order. Data is sent as multipart/form-data to support file uploads for shipping labels.
You can also bulk-upload orders by setting bulk=true and attaching a CSV file.
Required attributes
- Name
date- Type
- string
- Description
Order date.
- Name
retailer- Type
- string
- Description
Where the item was purchased from.
- Name
order_number- Type
- string
- Description
Your order reference number.
- Name
item_name- Type
- string
- Description
Name of the item.
- Name
color- Type
- string
- Description
Item color or variant.
- Name
brand_sku- Type
- string
- Description
Your internal SKU.
- Name
quantity- Type
- integer
- Description
Number of units.
- Name
asin- Type
- string
- Description
Amazon ASIN. Required for FBA and FBM fulfillment types.
- Name
unit_cost- Type
- number
- Description
Cost per unit.
- Name
list_price- Type
- number
- Description
Listing price per unit.
- Name
fulfillment_type- Type
- string
- Description
Fulfillment type:
fba,fbm,wfs,two-step, orshopify.
Optional attributes
- Name
size- Type
- string
- Description
Item size or variant.
- Name
amazon_sku- Type
- string
- Description
Amazon MSKU.
- Name
client_notes- Type
- string
- Description
Notes for the warehouse.
- Name
tracking_numbers- Type
- array
- Description
Tracking numbers for the inbound shipment.
- Name
sold_as- Type
- string
- Description
How the item is sold:
individualorbundle.
- Name
units_per_pack- Type
- string
- Description
Number of units per pack. Required if
sold_asisbundle.
- Name
upc- Type
- string
- Description
UPC barcode.
- Name
bundle_items- Type
- array
- Description
Array of bundle items if
sold_asisbundle. Each item:{ quantity, item_name, color, ... }.
- Name
shipping_label_files- Type
- file(s)
- Description
Shipping label files. Used for two-step fulfillment.
Request
curl https://api.example.com/api/v1/inbound \
-H "Authorization: ApiKey {your-api-key}" \
-H "X-Warehouse-Id: {warehouse_id}" \
-F "date=2025-03-25" \
-F "retailer=Amazon" \
-F "order_number=ORD-001" \
-F "item_name=Widget A" \
-F "color=Blue" \
-F "brand_sku=WA-BLU-M" \
-F "quantity=24" \
-F "asin=B08N5WRWNW" \
-F "unit_cost=12.50" \
-F "list_price=24.99" \
-F "fulfillment_type=fba"
Response
{
"status": "success",
"message": "Created order.",
"data": {
"order_id": "64c65048-b335-4921-b09d-68d4142d5655"
}
}
Bulk Upload
curl https://api.example.com/api/v1/inbound \
-H "Authorization: ApiKey {your-api-key}" \
-H "X-Warehouse-Id: {warehouse_id}" \
-F "bulk=true" \
-F "file=@orders.csv"
List inbound orders
Retrieve a paginated list of your inbound orders.
Query parameters
- Name
offset- Type
- integer
- Description
Pagination offset. Defaults to
0.
- Name
limit- Type
- integer
- Description
Maximum number of records to return. Defaults to
200. Pass-1for all records.
- Name
sort_key- Type
- string
- Description
Field to sort by. Defaults to
created_at.
- Name
sort_order- Type
- string
- Description
Sort direction:
ascordesc. Defaults todesc.
- Name
fulfillment_types- Type
- array
- Description
Filter by fulfillment type:
fba,fbm,wfs,two-step.
- Name
lang- Type
- string
- Description
Language for translations. Defaults to
en.
Request
curl -G https://api.example.com/api/v1/inbound \
-H "Authorization: ApiKey {your-api-key}" \
-H "X-Warehouse-Id: {warehouse_id}" \
-d limit=50 \
-d offset=0 \
-d sort_key=created_at \
-d sort_order=desc
Response
{
"status": "success",
"message": "Fetched orders.",
"data": {
"orders": [
{
"order_id": "64c65048-b335-4921-b09d-68d4142d5655",
"date": "03/25/2025",
"retailer": "Amazon",
"order_number": "ORD-001",
"item_name": "Widget A",
"color": "Blue",
"brand_sku": "WA-BLU-M",
"size": "Medium",
"quantity": 24,
"asin": "B08N5WRWNW",
"amazon_sku": "WA-BLU-M-FBA",
"unit_cost": 12.50,
"list_price": 24.99,
"client_notes": null,
"fulfillment_type": "fba",
"sold_as": "individual",
"units_per_pack": 1,
"upc": null,
"tracking_numbers": ["1Z999AA10123456784"],
"status": "inbound",
"created_at": "2025-03-25T21:05:40Z"
}
],
"results": {
"total": 150,
"limit": 50,
"offset": 0
}
}
}
Update an inbound order
Update an existing inbound order. Send only the fields you want to change — all fields are optional.
Path parameters
- Name
order_id- Type
- string (uuid)
- Description
The ID of the inbound order to update.
Request body
- Name
date- Type
- string
- Description
Order date.
- Name
retailer- Type
- string
- Description
Retailer name.
- Name
orderNumber- Type
- string
- Description
Order reference number.
- Name
itemName- Type
- string
- Description
Item name.
- Name
color- Type
- string
- Description
Item color or variant.
- Name
brandSKU- Type
- string
- Description
Internal SKU.
- Name
size- Type
- string
- Description
Item size.
- Name
quantity- Type
- integer
- Description
Number of units. Must be divisible by
units_per_packfor bundles.
- Name
asin- Type
- string
- Description
Amazon ASIN.
- Name
amazonSKU- Type
- string
- Description
Amazon MSKU. Must start with
PFLfor FBM orders, or leave empty to auto-generate.
- Name
cogs- Type
- number
- Description
Unit cost.
- Name
listPrice- Type
- number
- Description
List price per unit. Required and must be non-zero for FBM orders.
- Name
notes- Type
- string
- Description
Client notes.
- Name
fulfilledBy- Type
- string
- Description
Fulfillment type:
fba,fbm,wfs,two-step,shopify,manual. Cannot be changed once the order has been shipped.
- Name
trackingNumbers- Type
- array
- Description
Replaces all existing tracking numbers. Carrier is auto-detected.
- Name
sold_as- Type
- string
- Description
How the item is sold:
individual,multi-pack, orbundle.
- Name
units_per_pack- Type
- integer
- Description
Units per pack. Required if
sold_asis notindividual.
Validation rules
- Cannot change
fulfilledBywhen order status isoutbound(already shipped) - FBM orders:
amazonSKUmust start withPFL(or be empty for auto-generation);listPricemust be non-zero; Seller Central must be linked - If
sold_asis notindividual:units_per_packmust be a positive integer andquantitymust be divisible by it - Bundle orders: changing
quantitysyncs all child bundle item quantities
Request
curl -X PUT https://api.example.com/api/v1/inbound/64c65048-b335-4921-b09d-68d4142d5655 \
-H "Authorization: ApiKey {your-api-key}" \
-H "X-Warehouse-Id: {warehouse_id}" \
-H "Content-Type: application/json" \
-d '{"quantity": 30, "notes": "Updated quantity"}'
Response
{
"status": "success",
"message": "Updated inbound order.",
"data": null
}
Error (400)
{
"status": "failed",
"message": "An error occurred while processing your request.",
"errors": [
"Your amazon SKU must start with PFL for FBM orders or leave empty to auto generate it.",
"List price must be filled out for FBM orders.",
"Units per pack must be divisible by the total quantity ordered.",
"Cannot change fulfilled by when order has been shipped out."
]
}
