Inbound Shipments
Inbound Shipments represent incoming inventory deliveries to a warehouse. You can use the Public API to create, update, list, and inspect inbound shipments, as well as retrieve photos and receiving summaries.
- Create an Inbound Shipment
- Get a single Inbound Shipment
- List Inbound Shipments
- Update an Inbound Shipment
- Get Inbound Shipment Images
- Get Inbound Shipment Summary
- Get Inbound Shipment Location Summary
Create an Inbound Shipment
Use the inbound_shipment_create mutation to create a new inbound shipment. The only required field is warehouse_id. You can optionally attach purchase orders and set logistics details.
mutation {
inbound_shipment_create(
data: {
warehouse_id: "V2FyZWhvdXNlOjgwNzU="
purchase_order_ids: ["UHVyY2hhc2VPcmRlcjoxMjM0NQ=="]
carrier: "FedEx Freight"
pro_number: "PRO-12345"
booking_contact_name: "John Doe"
booking_contact_email: "john@example.com"
container_size: "s40ctr"
load_type: "ftl"
shipment_type: "pallet"
number_carton: 10
pallets_quantity: 4
}
) {
request_id
complexity
inbound_shipment {
id
legacy_id
status
carrier
warehouse {
id
}
purchase_orders {
edges {
node {
id
po_number
}
}
}
}
}
}The shipment will be created with status PENDING_ARRIVAL.
Note
Valid container_size values: s20ctr, s40ctr, s40hc, s45hc, s53_dry_van, box_truck, strait_truck, s48, reefer53, reefer48, dry_flatbed_pup, pup
Valid load_type values: ctn_carton, ltl, ftl, ctr
Valid shipment_type values: parcel, pallet, ctr_palletized, ctr_floor_loaded
Get a single Inbound Shipment
Use the inbound_shipment query to retrieve a single inbound shipment by its ID.
{
inbound_shipment(id: "SW5ib3VuZFNoaXBtZW50OjEyMzQ=") {
request_id
complexity
data {
id
legacy_id
account_id
warehouse_id
status
carrier
pro_number
bol_reference
bol_url
expected_dock
dock_used
container_number
notes
estimated_truck_arrival
truck_arrived_at
truck_unload_started_at
truck_unload_finished_at
truck_departure_at
booking_contact_name
booking_contact_email
booking_contact_number
container_size
load_type
shipment_type
number_carton
pallets_quantity
people_for_unload
people_for_receiving
vendor_id
created_at
scheduled_at
status_updated_at
warehouse {
id
legacy_id
}
purchase_orders {
edges {
node {
id
po_number
}
}
}
}
}
}List Inbound Shipments
Use the inbound_shipments query to list inbound shipments with optional filters and cursor-based pagination.
{
inbound_shipments(
statuses: ["arrived", "receiving"]
warehouse_ids: ["V2FyZWhvdXNlOjgwNzU="]
) {
request_id
complexity
data(first: 10) {
edges {
node {
id
legacy_id
account_id
warehouse_id
status
carrier
created_at
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
}You can filter by customer_ids, statuses, warehouse_ids, search_term, dates_from, dates_to, estimated_truck_arrival_from, estimated_truck_arrival_to, status_updated_at_from, status_updated_at_to, and require_fai.
Update an Inbound Shipment
Use the inbound_shipment_update mutation to update an existing inbound shipment.
mutation {
inbound_shipment_update(
data: {
inbound_shipment_id: "SW5ib3VuZFNoaXBtZW50OjEyMzQ="
warehouse_id: "V2FyZWhvdXNlOjgwNzU="
purchase_orders_ids: ["UHVyY2hhc2VPcmRlcjoxMjM0NQ=="]
carrier: "UPS Freight"
pro_number: "PRO-67890"
booking_contact_name: "Jane Smith"
container_size: "s20ctr"
load_type: "ltl"
shipment_type: "parcel"
}
) {
request_id
complexity
inbound_shipment {
id
status
carrier
pro_number
}
}
}Note
The purchase_orders_ids field replaces the full list of associated purchase orders. If you want to keep existing POs, include them in the list along with any new ones.
Get Inbound Shipment Images
Use the inbound_shipment_images query to retrieve photos attached to an inbound shipment. Each image includes a signed URL for downloading the file.
{
inbound_shipment_images(inbound_shipment_id: "SW5ib3VuZFNoaXBtZW50OjEyMzQ=") {
data {
url
filename
mimetype
description
inbound_shipment_line_item {
id
sku
quantity
quantity_received
quantity_rejected
}
created_at
}
}
}Get Inbound Shipment Summary
Use the inbound_shipment_summary query to get an LPN-based summary of what has been received into an inbound shipment. This shows received inventory grouped by pallet/box.
{
inbound_shipment_summary(inbound_shipment_id: "SW5ib3VuZFNoaXBtZW50OjEyMzQ=") {
data {
stats {
unpalletized_boxes_count
pallets_count
}
in_lpns {
lpn {
id
barcode
container_type
}
quantity_received
content {
product_info {
sku
name
}
quantity_received
inbound_shipment_line_item {
id
quantity
quantity_received
quantity_rejected
}
}
}
}
}
}You can optionally filter with only_owned_by_user, only_boxes_non_palletized, filter_by_location_id, lpn_id, and include_rejected.
Get Inbound Shipment Location Summary
Use the inbound_shipment_location_summary query to see where received inventory has been placed, grouped by warehouse location.
{
inbound_shipment_location_summary(inbound_shipment_id: "SW5ib3VuZFNoaXBtZW50OjEyMzQ=") {
data {
locations {
location {
id
location
zone
}
items_at_location {
product_info {
sku
name
}
eaches_quantity
inbound_shipment_line_item {
id
quantity
quantity_received
quantity_rejected
}
}
}
}
}
}