Let your AI agent run your calendar.

A personal API key gives Claude, ChatGPT, n8n or your own code the same powers you have: read availability, book clients, cancel. Five endpoints, one header, an OpenAPI file.

Keys are created in Settings. Free plan included. 60 requests a minute per key.

What a key can do

GET/api/v1/meConfirms the key and returns your username, timezone, plan and booking URL.
GET/api/v1/event-types?active=trueYour event types with slugs, durations, prices and the questions you ask.
GET/api/v1/availability?slug=intro-call&from=&to=Bookable start times (UTC) for one event type, from the same engine as your booking page.
GET/api/v1/bookings?status=confirmed&from=&to=Your bookings, soonest first. Filter by status and date range.
POST/api/v1/bookingsBook a slot for a client. Paid events return a Stripe checkout link for them to complete.
GET/api/v1/bookings/{id}One booking.
POST/api/v1/bookings/{id}/cancelCancel as the host. The client is emailed and refunded in full.

Every response is JSON. Errors come back as { "error": { "code", "message" } }. Times are ISO 8601 in UTC; the host timezone is returned alongside for display.

Three steps

  1. 1

    Create a key

    Settings, then API access. Name it after the agent that will use it. The full key is shown once; revoke it there any time.

  2. 2

    Read availability

    curl https://thecalendary.com/api/v1/availability?slug=intro-call \
      -H "Authorization: Bearer cal_live_YOUR_KEY"
  3. 3

    Book a client

    curl -X POST https://thecalendary.com/api/v1/bookings \
      -H "Authorization: Bearer cal_live_YOUR_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "slug": "intro-call",
        "startISO": "2026-11-03T15:00:00.000Z",
        "inviteeName": "Sam Lee",
        "inviteeEmail": "sam@example.com"
      }'

Using it with an AI assistant

Most assistants can call an HTTP API when given its OpenAPI description and a key. Paste something like this into the agent’s instructions:

You can manage my Calendary calendar through its API.
OpenAPI description: https://thecalendary.com/api/v1/openapi
Send every request with the header
Authorization: Bearer cal_live_YOUR_KEY
Before booking anything, call /availability and only use a start
time it returned. Confirm with me before you cancel a booking.

Scoped to you

A key only ever reads or writes its owner’s data. It cannot create more keys, change your plan, or touch your Stripe account.

Same rules as your page

Bookings made through the API go through the identical slot check, calendar push, emails and payment flow as a client on your booking page.

Limits that protect you

60 requests a minute per key, five active keys per account, and a 429 with Retry-After when an agent loops. Revoking is instant.

Give your agent a calendar.

Create a key in Settings. It takes ten seconds.

Create an API key