Get free slots
/booking-types/{btype_id}/availabilityReturns the slots that can be booked for a booking type between two dates, after working hours, Ghana
public holidays, buffers, minimum notice, daily caps and existing bookings are taken into account. A
pending booking holds its slot until the host declines it or it expires. Slots are a snapshot: one can be
taken before you book it, which returns conflict.
The range covers whole days in time_zone and can span up to 31 days.
Scope: bookings:read · Plan: Pro and Enterprise in live mode; every plan in test mode.
Publishable keys: allowed for public booking types.
Send Authorization: Bearer <token> on every request. The token is one of:
| Prefix | What it is | Where it may be used |
|---|---|---|
agoo_sk_live_ | Secret key, live mode | Your servers only |
agoo_sk_test_ | Secret key, test mode | Your servers only |
agoo_pk_live_ | Publishable key, live mode | Browsers and apps: create pre-registrations and bookings, read public booking types (with their intake questions) and their free slots, read the visit types open for pre-registration with their public forms. Never lists people. |
agoo_pk_test_ | Publishable key, test mode | As above, in test mode |
Admins create keys in Console → Developers → API keys and choose each key's scopes. A key is shown once. Never put a secret key in a URL, a browser or a mobile app.
In: header
Scope: bookings:read
Path Parameters
The booking type's ID.
^btype_[0-7][0-9a-hjkmnp-tv-z]{25}$"btype_01kn44arm0eya81713cpbnfbpq"Query Parameters
First day of the range (inclusive), as YYYY-MM-DD.
dateLast day of the range (inclusive), as YYYY-MM-DD. At most 31 days after from.
dateIANA time zone that defines the days. Defaults to the booking type's time zone.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/booking-types/btype_01kn44arm0eya81713cpbnfbpq/availability?from=2026-10-16&to=2026-10-16&time_zone=Africa%2FAccra"{ "booking_type_id": "btype_01kn44arm0eya81713cpbnfbpq", "time_zone": "Africa/Accra", "from": "2026-10-16", "to": "2026-10-16", "slots": [ { "start_at": "2026-10-16T09:00:00Z", "end_at": "2026-10-16T09:30:00Z" }, { "start_at": "2026-10-16T10:00:00Z", "end_at": "2026-10-16T10:30:00Z" }, { "start_at": "2026-10-16T14:30:00Z", "end_at": "2026-10-16T15:00:00Z" } ]}List booking types GET
Returns your booking types (the kinds of meeting people can book), sorted by name. With a publishable key, only `public` booking types are returned. Each `public` booking type carries a `public_form`: the intake questions an attendee answers, taken from the visit form of its `visit_type` without the fields your staff fill in. A booking widget renders these. **Scope:** `bookings:read` · **Plan:** Pro and Enterprise in live mode; every plan in test mode. **Publishable keys:** allowed (public booking types only).
List bookings GET
Returns bookings, newest first. Filter by booking type, host, status or start time. **Scope:** `bookings:read` · **Plan:** Pro and Enterprise in live mode; every plan in test mode.