Developers

Build on Meetrays.

A clean, REST-flavored HTTP API. Bearer-token auth, JSON in, JSON out. Webhooks for everything that happens on a booking.

Bearer auth

Generate a key from your dashboard. Send it as Authorization: Bearer ... on every request.

REST endpoints

JSON in, JSON out. Standard verbs. No GraphQL, no SDK lock-in. Curl-ready.

Webhooks

booking.created, booking.cancelled, booking.rescheduled, no_show.flagged. Signed payloads.

Quickstart

Create a booking in three lines.

Same response shape as our internal calls. No SDK required — ship it from anywhere that speaks HTTP.

curl -X POST https://api.meetrays.com/v1/bookings \
  -H "Authorization: Bearer $MEETRAYS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "event_type_id": "et_30min",
    "start_time": "2026-05-12T14:00:00Z",
    "attendee": {
      "name": "Jane Walker",
      "email": "jane@example.com"
    }
  }'

Reference

Endpoints.

Event types

GET/v1/event-typesList event types on your account.
POST/v1/event-typesCreate a new event type.
GET/v1/event-types/{id}Fetch a single event type.
PATCH/v1/event-types/{id}Update title, duration, hosts, etc.
DELETE/v1/event-types/{id}Delete an event type.

Bookings

GET/v1/bookingsList bookings with filters.
GET/v1/bookings/{uid}Fetch a booking by uid.
POST/v1/bookingsCreate a booking programmatically.
POST/v1/bookings/{uid}/cancelCancel a booking.

Slots

GET/v1/event-types/{id}/slotsComputed available slots for a date range.

Teams

GET/v1/teamsList teams on your account.
POST/v1/teams/{id}/invitationsInvite a member by email.

API access is invite-only.

Email us with your use case and we'll get you a key + a sandbox account.

Request API access