Developer API

Build with Calendesk

Integrate scheduling into your applications. Access bookings, services, employees, and more through our REST API.

What you can build

Real API examples showing how developers integrate Calendesk into their applications.

Use case

Custom booking widget

Build your own scheduling UI. Fetch available time slots for any service and let customers book directly from your website or app.

  • Real-time availability by employee and date
  • Customer timezone conversion built-in
  • No authentication required for public slots
View in Customer API
curl
# Get available slots for a service
GET /api/available-slots
    ?service_id=5
    &start_date=2026-04-01
    &number_of_days=7
    &customer_time_zone=Europe/Warsaw
Response 200
{
  "5": {
    "2026-04-01": [
      "09:00", "09:30", "10:00",
      "10:30", "11:00", "14:00",
      "14:30", "15:00"
    ],
    "2026-04-02": [
      "09:00", "09:30", "10:00"
    ]
  }
}
Use case

Automated booking creation

Create bookings programmatically from your CRM, chatbot, or internal tools. Assign employees, set custom fields, and control notifications.

  • Single, group, and recurring bookings
  • Custom fields and location assignment
  • Control SMS and email notifications per booking
View in Admin API
curl
# Create a new booking
POST /api/bookings
X-Api-Key: your-api-key
X-Tenant: your-tenant-id

{
  "employee_id": 10,
  "user_id": 200,
  "service_id": 5,
  "start_date": "2026-04-15",
  "start_time": "10:00",
  "status": "approved",
  "description": "Initial consultation"
}
Response 201
{
  "id": 5001,
  "employee_id": 10,
  "user_id": 200,
  "service_id": 5,
  "start_date": "2026-04-15",
  "start_time": "10:00",
  "end_time": "11:00",
  "status": "approved",
  "service": {
    "id": 5,
    "name": "Consultation",
    "duration": 60,
    "price": 10000
  }
}
Use case

Webhook automations

React to booking events in real-time. Get notified when bookings are created, updated, paid, or cancelled to trigger your own workflows.

  • Subscribe to specific event types
  • Send Slack messages, update CRM, sync calendars
  • Booking, user, and payment events
View in Admin API
curl
# Register a webhook
POST /api/admin/webhooks
X-Api-Key: your-api-key
X-Tenant: your-tenant-id

{
  "url": "https://your-app.com/webhooks",
  "events": [
    "booking_created",
    "booking_updated",
    "booking_paid",
    "user_created"
  ]
}
Your endpoint receives
// POST https://your-app.com/webhooks
{
  "event": "booking_created",
  "data": {
    "id": 5002,
    "employee_id": 10,
    "user_id": 201,
    "service": { "name": "Consultation" },
    "start_date": "2026-04-15",
    "start_time": "14:00",
    "status": "approved"
  }
}
Use case

Customer management & CRM sync

Sync your customer database with Calendesk. Create users, manage tags and groups, and keep booking history in your own systems.

  • Search, filter, and paginate users
  • Tag and group customers for segmentation
  • Full booking history per customer
View in Admin API
curl
# Search customers by email
GET /api/admin/users
    ?query=[email protected]
    &limit=10
X-Api-Key: your-api-key
X-Tenant: your-tenant-id
Response 200
{
  "current_page": 1,
  "data": [
    {
      "id": 200,
      "name": "Jane",
      "surname": "Smith",
      "email": "[email protected]",
      "status": "active",
      "time_zone": "Europe/Warsaw",
      "created_at": "2025-01-15T10:30:00Z"
    }
  ],
  "total": 1
}