Skip to content

CBMS Partner APIOne inventory. Every channel.

Hold a slot, collect payment on your side, then confirm. Start in the sandbox — production comes after certification.

Integrate in this order

Work against sandbox until you are certified.

  1. Get a sandbox API key and venue grants from the CBMS platform team when they onboard you. You send that value as x-api-key on every call.
  2. GET /api/v1/partner/venues — note a venue_id. An empty list means grants have not landed yet.
  3. GET /api/v1/partner/venues/{venueId}/resources — copy a resource_id verbatim.
  4. GET /api/v1/slots/availability — find a slot with is_available: true. That flag is not a reservation.
  5. POST /api/v1/bookings/hold — you get hold_id, hold_expiry_at, price_rupees.
  6. Collect payment on your side — keep a payment_reference.
  7. POST /api/v1/bookings/confirm before hold_expiry_at — you get booking_id.
  8. Optional: subscribe to webhooks — look for hold_created and booking_created.

Base URL for all of the above:

https://stage.cbms.venuesetu.com/api/v1

Every request (except this documentation and GET /health) sends:

http
x-api-key: <the opaque key issued to you>

Next: Authentication · Sandbox · Booking flow · OpenAPI

Environments

Sandbox — start here

  • Host: https://stage.cbms.venuesetu.com
  • API: https://stage.cbms.venuesetu.com/api/v1
  • Who: you, while integrating
  • Check: GET /health"sandbox": true

Production — after certification

  • Host: https://cbms.venuesetu.com
  • API: https://cbms.venuesetu.com/api/v1
  • Who: you, after certification, with a separate key and grants
  • Check: GET /health"sandbox": false

Keys are not interchangeable. A sandbox key does not work on production, and the reverse.

What this API is

CBMS is the inventory source of truth for sports venues (courts, turfs, fields). Your application is a channel: you show availability, take the customer through checkout, and book through this API.

The guarantee you are integrating with:

For any slot, at most one hold is ACTIVE at a time. Concurrent attempts from any number of channels resolve to exactly one winner; everyone else gets SLOT_NOT_AVAILABLE.

Start in the sandbox. Production access is granted after certification.