Find a booking
const url = 'https://example.kwickbooking.com/public/v1/bookings/lookup';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"reference":"4827 1936","phone":"07911 123456","venueId":null}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.kwickbooking.com/public/v1/bookings/lookup \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "reference": "4827 1936", "phone": "07911 123456", "venueId": null }'Finds a booking from its reference and the phone number on it, both in the body. A wrong reference, a wrong phone or a booking at a venue the key doesn’t cover all answer the same not found; repeated failures are throttled. The reply has the booking’s details and the guest’s first name only.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”POST /public/v1/bookings/lookup: the booking’s reference and the phone number on it
(both in the body, never the query string).
object
Example
{ "reference": "4827 1936", "phone": "07911 123456", "venueId": null}Responses
Section titled “Responses”OK
The booking found, with a summary to read out.
object
A booking as a caller who proved reference and phone may see it: its own details and the guest’s first name, nothing else about the guest.
object
A booking’s deposit: whether one applies, how much, and none, awaiting_payment or paid.
object
Example
{ "booking": { "reference": "48271936", "venueId": "01920000-0000-7000-8000-000000000001", "venueName": "Soho", "date": "2026-10-16", "time": "20:00", "partySize": 4, "bookingType": "Table booking", "state": "confirmed", "guestFirstName": "Sam", "deposit": { "required": false, "amountPence": 0, "amountDisplay": null, "status": "none" }, "expectedArrival": null }, "summary": "Found Sam's booking at Soho: Fri 16/10 at 20:00 for 4."}Validation failed (https://developers.kwickblocks.ai/problems/validation-failed)
RFC 9457 problem details. type is a URI with a page describing the problem.
object
Safe to read to a guest.
A machine-readable code on the widget’s routes.
Examples
Validation failed
{ "type": "https://developers.kwickblocks.ai/problems/validation-failed", "title": "Validation failed", "status": 400, "detail": "Some of the details weren't valid. Please check them and try again."}Invalid or missing integration key (https://developers.kwickblocks.ai/problems/invalid-key)
RFC 9457 problem details. type is a URI with a page describing the problem.
object
Safe to read to a guest.
A machine-readable code on the widget’s routes.
Examples
Invalid or missing integration key
{ "type": "https://developers.kwickblocks.ai/problems/invalid-key", "title": "Invalid or missing integration key", "status": 401, "detail": "This integration key isn't valid. Ask the venue's admin for a new one."}Capability not granted (https://developers.kwickblocks.ai/problems/capability-missing)
RFC 9457 problem details. type is a URI with a page describing the problem.
object
Safe to read to a guest.
A machine-readable code on the widget’s routes.
Examples
Capability not granted
{ "type": "https://developers.kwickblocks.ai/problems/capability-missing", "title": "Capability not granted", "status": 403, "detail": "This integration key isn't allowed to do that. Ask the venue's admin to add the capability."}Booking not found (https://developers.kwickblocks.ai/problems/booking-not-found)
RFC 9457 problem details. type is a URI with a page describing the problem.
object
Safe to read to a guest.
A machine-readable code on the widget’s routes.
Examples
Booking not found
{ "type": "https://developers.kwickblocks.ai/problems/booking-not-found", "title": "Booking not found", "status": 404, "detail": "I couldn't find a booking with that reference and phone number."}Too many requests (https://developers.kwickblocks.ai/problems/rate-limited); Too many attempts (https://developers.kwickblocks.ai/problems/lookup-throttled)
RFC 9457 problem details. type is a URI with a page describing the problem.
object
Safe to read to a guest.
A machine-readable code on the widget’s routes.
Examples
Too many requests
{ "type": "https://developers.kwickblocks.ai/problems/rate-limited", "title": "Too many requests", "status": 429, "detail": "There have been too many requests. Please try again in a minute."}Too many attempts
{ "type": "https://developers.kwickblocks.ai/problems/lookup-throttled", "title": "Too many attempts", "status": 429, "detail": "Too many attempts. Please try again later."}