Internal API
This describes internal KDS functionality. Only the 6 core KDS endpoints (tickets, expo, bump, recall, void, priority) are exposed through the API gateway.
KDS Real-time Events
Subscribe to real-time KDS updates for live ticket state changes via WebSocket.
Subscription
// Subscribe to station events
ws.subscribe('kds', {
location_id: 'loc-xyz789',
station_id: 'station-grill'
});
Event Types
| Event | Payload | Description |
|---|---|---|
kds.ticket.created | Full ticket object | New ticket routed to station |
kds.ticket.started | Ticket with started_at | Cook started working on ticket |
kds.ticket.ready | Ticket object | Items complete, ready for pickup |
kds.ticket.bumped | Ticket with completed_at | Ticket completed and cleared |
kds.ticket.recalled | Ticket object | Ticket brought back for modification |
kds.ticket.voided | Ticket object | Ticket cancelled |
Event Payload Structure
{
"type": "kds.ticket.created",
"aggregate_id": "ticket-abc123",
"tenant_id": "tenant-xyz",
"payload": {
"ticket": {
"id": "ticket-abc123",
"order_id": "order-12345",
"station_id": "station-grill",
"status": "pending",
"items": ["..."],
"created_at": "2026-01-23T12:00:00Z"
}
}
}