Skip to main content

API Reference

Get Camera Status

GET /api/vision/cameras

# Response
{
"cameras": [
{
"id": "cam-expo-01",
"name": "Expo Station",
"type": "food_recognition",
"status": "online",
"fps": 28.5,
"last_detection": "2026-01-18T14:32:45Z"
}
]
}

Get Drive-Thru Status

GET /api/vision/drive-thru/status

# Response
{
"queue_length": 5,
"estimated_wait_seconds": 192,
"cars": [
{"position": "menu_board", "wait_seconds": 45},
{"position": "lane_2", "wait_seconds": 90}
],
"orders_per_hour": 48,
"status": "normal"
}

Verify Order Items

POST /api/vision/verify-order
{
"order_id": "4521",
"camera_id": "cam-expo-01",
"expected_items": [
{"name": "Signature Burger", "quantity": 1},
{"name": "Large Fries", "quantity": 1}
]
}

# Response
{
"verified": true,
"detections": [
{"name": "Burger", "confidence": 0.98, "matched": "Signature Burger"},
{"name": "Fries", "confidence": 0.96, "matched": "Large Fries"}
],
"missing_items": [],
"extra_items": []
}

Get Occupancy

GET /api/vision/occupancy/{location_id}

# Response
{
"location_id": "loc-123",
"timestamp": "2026-01-18T14:35:00Z",
"dining_room": {
"current": 45,
"capacity": 80,
"utilization": 0.56
},
"parking": {
"occupied": 18,
"total": 25,
"utilization": 0.72
}
}