Slatis Public API v1 is open for beta testers Register on the waitlist →
Slatis

Quickstart

Create your first booking via the Slatis API in three steps.

Get your API key

Create a secret key in Settings → API Keys. For this quickstart, grant at least the bookings:create and event-types:read scopes.

Use sk_test_* keys during development — they have the same API surface as live keys but are rate-limited to 100 req/min and won't trigger real notifications.

Find an event type

curl https://api.slatis.com/v1/event-types \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxx"
{
  "success": true,
  "event_types": [
    {
      "id": "evt_01abc123",
      "name": "30-Minute Call",
      "slug": "30-min-call",
      "duration": 30
    }
  ]
}

Copy the id — you'll use it in the next step.

Create a booking

curl -X POST https://api.slatis.com/v1/bookings \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "event_type_id": "evt_01abc123",
    "attendee": {
      "name": "Jane Smith",
      "email": "jane@example.com",
      "timezone": "America/New_York"
    },
    "requested_time": "2026-05-01T14:00:00Z"
  }'
{
  "success": true,
  "booking": {
    "id": "bkg_01xyz789",
    "status": "SCHEDULED",
    "start_time": "2026-05-01T14:00:00.000Z",
    "end_time": "2026-05-01T14:30:00.000Z",
    "attendee": {
      "name": "Jane Smith",
      "email": "jane@example.com"
    }
  }
}

Bookings start as DRAFT while a team member is assigned by the routing engine (milliseconds to seconds). The response you get here is already SCHEDULED — the assignment happened synchronously in this case. If you need to poll, use the GET /bookings/{id} endpoint until status !== 'DRAFT'.

Next steps

On this page