Check availability
const url = 'https://example.kwickbooking.com/public/v1/availability/search';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"venueId":"01920000-0000-7000-8000-000000000001","date":"2026-10-16","time":"20:00","partySize":6,"acrossVenues":false}'};
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/availability/search \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "venueId": "01920000-0000-7000-8000-000000000001", "date": "2026-10-16", "time": "20:00", "partySize": 6, "acrossVenues": false }'Answers what is free for a party on a date, or at a time: each free time with the booking types, lengths and deposits that fit it. When the asked time is taken it offers the nearest times, then the next days, and with acrossVenues the key’s other venues. Dates are venue-local yyyy-MM-dd and times HH:mm.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”POST /public/v1/availability/search: what is free for PartySize on
Date (venue-local yyyy-MM-dd), optionally at Time
(HH:mm). A multi-venue key names the venue; AcrossVenues also looks
at the key’s other venues.
object
Example
{ "venueId": "01920000-0000-7000-8000-000000000001", "date": "2026-10-16", "time": "20:00", "partySize": 6, "acrossVenues": false}Responses
Section titled “Responses”OK
The answer to an availability check, with a summary to read out.
object
A free time (venue-local HH:mm) and the booking types that fit it.
object
A booking type that fits a time, with its length and deposit.
object
A deposit as a guest would hear it.
object
Another time, day or venue that fits when the asked one doesn’t.
object
A booking type that fits a time, with its length and deposit.
object
A deposit as a guest would hear it.
object
Example
{ "venueId": "01920000-0000-7000-8000-000000000001", "date": "2026-10-16", "partySize": 6, "outcome": "available", "times": [ { "time": "20:00", "options": [ { "bookingTypeId": "01920000-0000-7000-8000-000000000003", "bookingType": "Table booking", "durationMinutes": 120, "deposit": { "required": false, "amountPence": 0, "amountDisplay": null } } ] } ], "alternatives": [], "summary": "Fri 16/10 at 20:00 is free for 6"}Venue required (https://developers.kwickblocks.ai/problems/venue-required); 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
Venue required
{ "type": "https://developers.kwickblocks.ai/problems/venue-required", "title": "Venue required", "status": 400, "detail": "Please say which venue this is for."}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."}Venue not found (https://developers.kwickblocks.ai/problems/venue-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
Venue not found
{ "type": "https://developers.kwickblocks.ai/problems/venue-not-found", "title": "Venue not found", "status": 404, "detail": "I couldn't find that venue."}Too many requests (https://developers.kwickblocks.ai/problems/rate-limited)
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."}