🎉 AI Scheduling is live!Try free
API Documentation

Build on Diurnly

A powerful REST API to integrate Diurnly scheduling into any product. OAuth 2.0, webhooks, and SDKs included.

10K calls free4 SDKsReal-time webhooks
fetch-bookings.js
const response = await fetch(
  'https://api.diurnly.com/v1/bookings',
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json',
    }
  }
);

const { bookings } = await response.json();
console.log(bookings);
200 OK · 128ms
10K
API calls/mo free
REST
JSON responses
Real-time
Webhooks
4
Official SDKs
How it works

From key to data in 4 steps

1

Authenticate

Get your API key

2

Make a request

Call any endpoint

3

Get response

Instant JSON data

4

Listen

Webhooks fire on events

REST API

Simple, predictable endpoints with JSON responses and clear error codes.

OAuth 2.0

Industry-standard authentication. Build on behalf of your users securely.

Webhooks

Get real-time push notifications when bookings are created, updated, or cancelled.

Quick start

fetch-bookings.js
const response = await fetch(
  'https://api.diurnly.com/v1/bookings',
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json',
    }
  }
);

const { bookings } = await response.json();
console.log(bookings);

API endpoints

GET/v1/event-types
POST/v1/event-types
GET/v1/bookings
POST/v1/bookings
DELETE/v1/bookings/:id
GET/v1/availability
POST/v1/webhooks

Official SDKs

JavaScript / TypeScript
Python
Ruby
Go
Loved by developers

Developers build on Diurnly

"The API is clean, predictable, and fast. We integrated Diurnly into our platform in a single afternoon."

OF
Omar F.
CTO, Scale AI

"Webhooks + the JavaScript SDK made our custom recruiting pipeline effortless."

JW
James W.
Recruiter, Airbnb

"Best API documentation I've seen. Everything just works on the first try."

YL
Yuki L.
Designer, Apple
Code examples

One API, every language

Official SDKs for your favorite language. Or just use cURL.

import { Diurnly } from '@diurnly/sdk';

const diurnly = new Diurnly('sk_live_...');

const bookings = await diurnly.bookings.list({
  status: 'confirmed',
  limit: 10
});

console.log(bookings);
200 OK · 42ms · 10 results
FAQ

Questions, answered

Start building today

Free API access on all plans. 10,000 API calls/month included.