List bookings
Lists bookings across the locations the app is granted (or one location_id). Two modes: a bounded slot window (start/end, at most 31 days, default the next 7 days) ordered by slot start, or updated_since, which drains bookings updated after an exclusive checkpoint oldest-first so a partner can catch up after downtime. Page with limit and the previous page’s next_cursor as starting_after; has_more says whether another page exists. Ties on the ordering timestamp never skip or repeat, and a booking that changes between pages simply re-enters the feed. Take the next updated_since checkpoint from the newest updated_at you have processed minus a few seconds of overlap and dedupe by id + version: a booking committed after your drain can carry an updated_at set when its transaction began. Locations the bookings surface is not switched on for are omitted (an explicit location_id answers 422 bookings_not_enabled). Requires bookings:read.
Authorizations
API key — mpk_test_… for the sandbox, mpk_live_… for production. Issued by Maple during partner onboarding.
Query Parameters
Restrict to one granted location. Default: every location the app is granted.
ISO-8601 instant. With end, lists bookings whose slot starts in [start, end) — at most 31 days. Default window: now to now + 7 days.
ISO-8601 instant, exclusive. Required with start.
ISO-8601 instant, exclusive checkpoint. Drains bookings updated after it oldest-first — the catch-up path after downtime. Mutually exclusive with start/end.
requested, confirmed, seated, completed, declined_by_venue, cancelled_by_guest, cancelled_by_venue, cancelled_unattributed, no_show The previous page’s next_cursor (opaque). Omit for the first page.
Page size, 1–100. Default 20.
^[+-]?\d*\.?\d+(?:[Ee][+-]?\d+)?$Response
Success
list Opaque cursor for the next page — pass it back as starting_after. Null on the last page. It encodes the position observed on this page, so it stays correct even if the last booking changes in between.