Appearance
Bookings
Confirm a hold, then read it back.
Auth: x-api-key. You only see bookings your partner owns.
Confirm
http
POST /api/v1/bookings/confirm
Content-Type: application/json
x-api-key: <your-api-key>
{
"hold_id": "…",
"payment_reference": "pay_example_ref",
"customer_name": "Aarav Sharma",
"customer_phone": "9876543210",
"idempotency_key": "confirm-9f2a-4c1e-8b7d-1a2b3c4d5e6f"
}payment_reference is opaque — CBMS does not charge a card on this call. Optional: customer_email, use_package_credit.
201: booking_id, slot_id, status: "BOOKED", booked_at, price_rupees. If you set use_package_credit, you may also get package_credit_consumed.
Must run before the hold’s hold_expiry_at. Errors: HOLD_NOT_FOUND (404), HOLD_EXPIRED / INVALID_HOLD_STATE / DOUBLE_BOOKING_ATTEMPT (409).
Reusing this confirm key for a different hold is 409. Same key, same confirm → original booking_id (201).
Get one
http
GET /api/v1/bookings/{bookingId}
x-api-key: <your-api-key>Missing id and another partner’s booking both return 404 BOOKING_NOT_FOUND.
Payload includes venue/resource, slot window, payment_reference, and customer fields — useful after a confirm retry.
List
http
GET /api/v1/bookings?venue_id=<uuid>&from=YYYY-MM-DD&to=YYYY-MM-DD&limit=50
x-api-key: <your-api-key>Newest booked_at first. venue_id filters within your bookings. Optional customer_phone / customer_name. partner_id in the query is ignored.
To undo a booking: Cancellations.