Bison Labs / Developers
Booking API.
Check availability and book an intro call. Two endpoints, both open. A person books through the form on our homepage with just a name and an email, and agents get the same deal. There is no API key and no account.
Machine-readable: OpenAPI 3.1 · API catalog · auth.md
Check availability
Times are ISO-8601 UTC, so convert them before showing them to a person. Weekdays only. An empty array means nothing free that day.
GET https://bisonlabs.dev/api/cal/slots?date=2026-08-03
{ "slots": [{ "time": "2026-08-03T09:00:00.000Z" }] }Book a call
This creates a real calendar entry and emails a real person. Confirm the time and their details first, and use a start returned by the availability call rather than one you constructed.
POST https://bisonlabs.dev/api/cal/book
Content-Type: application/json
{
"start": "2026-08-03T09:00:00.000Z",
"name": "Ada Lovelace",
"email": "ada@example.com"
}Rate limits
Availability is 30/minute; booking is 3/minute. Over the limit you get a 429 with a Retry-After header, so honour it. REST callers are keyed by IP, MCP callers by client_id.
MCP
The same three actions over the Model Context Protocol (Streamable HTTP): get_services, check_availability, book_call.
https://bisonlabs.dev/mcp
OAuth with dynamic client registration, and /authorize auto-approves: no consent screen, no login. The token identifies the agent, not a person. It is not a security boundary; it exists so we can rate limit per-agent rather than per-IP. If your client has no browser, use the REST API above, which needs no token at all. Details in auth.md.
Questions
A human reads hello@bisonlabs.dev.