Skip to main content

Scanner API

The Scanner API is designed for mobile devices used by warehouse pickers, drivers, and intake staff.

Overview

The Scanner API provides:
  • Barcode Lookup: Find sellable products by UPC/EAN barcode
  • Inventory Scanning: Update quantities with FEFO/FIFO tracking
  • Inventory Receiving: Receive new inventory from sweeps
  • Order Picking: Access orders assigned for fulfillment
  • Bag Scanning: Scan items into bags for order assembly

Authentication

Scanner devices authenticate using Supabase JWT tokens:

Endpoints

Scanner Status

Check scanner API availability and user permissions.
Response:

Product Lookup

Look up a sellable product by barcode. Returns inventory in FEFO/FIFO order.
Response:
Inventory items are returned in FEFO/FIFO order - items expiring soonest first, then oldest received.

Inventory Scan

Process an inventory scan operation.

Actions

Response:

List Orders

Get orders assigned for picking.
Response:

Order Details

Get full order details for picking, including totes and bags.
Response:

Bag and Tote Workflow

Picking Flow

  1. Picker receives pick_list assignment
  2. For each pick_list_item:
    • Scan product barcode
    • System shows inventory location (FEFO/FIFO)
    • Picker retrieves item
    • Scan into bag (creates bag_item)
  3. Seal bag and assign to tote
  4. Stage tote for robot delivery

Intake Flow (Sweep Returns)

  1. Driver returns from sweep
  2. For each sweep_item:
    • Scan product barcode
    • Scan into bag (creates bag_item)
    • Links to order_item for fulfillment
  3. Bags assigned to totes
  4. Stage for delivery

Permissions

Error Responses

401 Unauthorized

No valid authentication token.

403 Forbidden

Authenticated but missing required permission.

404 Not Found

Barcode not found in sellable catalog.
The barcode must exist in both scraped_products AND sellable_products to be found. If a product exists in scraped_products but hasn’t been curated into sellable_products, it will return 404.

Mobile SDK Example