Programmatic access to a restaurant's reservations, availability, analytics, and live menu — authenticated by a merchant API key. Built for the restaurant's own tools and for AI / voice agents that book tables on their behalf.
Generate a key in Dashboard → Settings → API keys. Send it on every request:
Authorization: Bearer ezk_live_xxxxxxxxxxxxxxxxxxxxKeys are scoped and shown once. Treat them like a password; revoke anytime.
reservations:read — availability + upcoming reservationsreservations:write — create reservationsanalytics:read — today's covers, no-shows, waitlistmenu:read — the live Clover menuhttps://api.eztable.startslice.app/v1Merchant name, booking mode, hours, and your key's scopes. Good connection test.
curl https://api.eztable.startslice.app/v1/me \
-H "Authorization: Bearer $EZ_KEY"Open reservation times for a date, derived from the venue's Clover hours.
curl "https://api.eztable.startslice.app/v1/availability?date=2026-09-01&party=4" \
-H "Authorization: Bearer $EZ_KEY"
{ "date": "2026-09-01", "party": 4, "times": ["17:00","17:30","18:00", ...] }Book a table. Lands as a request the host confirms (channel: phone/IVR).
curl -X POST https://api.eztable.startslice.app/v1/reservations \
-H "Authorization: Bearer $EZ_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Alex Rivera",
"phone": "+17875551234",
"partySize": 4,
"date": "2026-09-01",
"time": "19:00",
"note": "Anniversary — quiet table"
}'
{ "id": "…", "status": "PRERESERVED", "message": "Reservation request created — the host will confirm." }Provide a phone or email. Returning guests are matched automatically.
Cancel a reservation. SeatOn's agent API can't do this.
Change date, time, partySize, or note. Also beyond SeatOn.
Reservations for a day. Or a whole month: GET /reservations/month?year=YYYY&month=M.
Look up a guest before booking — visit history, no-shows, allergies, and card-on-file.
{ "found": true, "customer": { "name": "Alex Rivera", "visits": 7,
"noShows": 0, "cancellations": 1, "hasCardOnFile": true, "cardLast4": "4242" } }Add a guest to the waitlist when the book is full.
Today's operational snapshot.
{ "reservationsToday": 12, "upcomingReservations": 8, "waitlist": 2,
"seatedNow": 5, "coversToday": 34, "noShowsToday": 1 }The live menu, straight from the merchant's Clover catalog (categories + items + prices).
401 invalid_api_key · 403 insufficient_scope · 429 rate_limited (120 req/min)The flow: /availability → offer times → POST /reservations. We publish a Claude Skill (eztable-reservations) that teaches an agent this API — ask your EZ Table rep for the skill package, drop in your key, and your agent can take bookings by phone or chat.