Bookings
Hold a slot
Claims a quoted slot’s capacity until `expires_at` (see the location’s `hold_ttl_seconds`), so the party can be booked with `POST /bookings`.
Esta página aún no está disponible en tu idioma.
https://api.maple.inc/v1/booking_holdsAPI keyClaims a quoted slot’s capacity until expires_at (see the location’s hold_ttl_seconds), so the party can be booked with POST /bookings. The location is the one the token was quoted for and must be granted to the app. A slot whose capacity is gone answers 409 slot_unavailable; a tampered or stale token 400 invalid_slot_token / expired_slot_token; a time too soon for the venue 422 outside_booking_window; a time that needs a card 422 payment_instrument_required. Each app may have ten live or pending holds per location, enforced atomically for native and provider holds. All hold IDs use bkh_; only the creating app can release or consume them. Over quota answers 429 with retry_after and Retry-After. Pending provider acquisitions answer 409 operation_in_progress; replay the same token. Requires bookings:write.
Authorization
Send your API key as Authorization: Bearer <key>: mpk_test_… against the sandbox (https://api.staging.maple.inc/v1), mpk_live_… against production. See Authentication. The samples read the key from MAPLE_KEY and the base URL from MAPLE_BASE, as set up in the Quickstart.
Request body
application/json, required.
-
slot_tokenstring requiredA
slot_tokenfrom a booking availability search, unchanged.
Responses
200 OK
-
objectstring requiredAlways
booking_hold. -
idstring requiredOpaque.
bkh_…for a hold in Maple’s ledger; at a provider-managed location, the provider’s own hold token. Round-trip it unchanged. -
livemodeboolean required -
creatednumber required -
location_idstring required -
starts_atstring requiredISO-8601 UTC instant of the held slot.
-
party_sizenumber required -
expires_atstring requiredISO-8601 UTC instant after which the hold no longer claims capacity.
Errors
-
400Bad request -
401Unauthorized -
403Forbidden -
404Not found -
409Conflict -
422Unprocessable -
429Too many requests
Every error body names the error in _tag, explains it in message, and says where to report it in feedback. See Errors.
A 429 also sends Retry-After: Seconds to wait before retrying; also returned as retry_after in the body.