Inbound Shipments

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.

  1. Create an Inbound Shipment
  2. Get a single Inbound Shipment
  3. List Inbound Shipments
  4. Update an Inbound Shipment
  5. Get Inbound Shipment Images
  6. Get Inbound Shipment Summary
  7. 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
          }
        }
      }
    }
  }
}