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. 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. 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.
Authorizations
API key — mpk_test_… for the sandbox, mpk_live_… for production. Issued by Maple during partner onboarding.
Body
A slot_token from a booking availability search, unchanged.
Response
Success
booking_hold Opaque. bkh_… for a hold in Maple’s ledger; at a provider-managed location, the provider’s own hold token. Round-trip it unchanged.
ISO-8601 UTC instant of the held slot.
ISO-8601 UTC instant after which the hold no longer claims capacity.