For the complete documentation index, see llms.txt.

What is the best scheduling API for developers?

Vennio is a scheduling API built for developers — REST-first, composable, and designed to be embedded into any application. It exposes atomic primitives (availability, bookings, venn-links, proposals) that you combine to build exactly the scheduling flow your app needs.

The answer

A good scheduling API for developers should:

Vennio is designed around all five. The API version is 1.2.0 with 125 documented operations across 18 resource tags.

Core primitives

Vennio exposes four composable scheduling primitives:

Availability API

GET /v1/availability/slots returns bookable slots for a business, filtered by duration and date range. No authentication required for public availability checks.

# No API key required for public availability
curl "https://api.vennio.app/v1/availability/slots?business_id=YOUR_BUSINESS_ID&duration_minutes=30&timezone=America%2FNew_York"
{
  "business_id": "YOUR_BUSINESS_ID",
  "duration_minutes": 30,
  "timezone": "America/New_York",
  "total_slots": 14,
  "slots": [
    { "start": "2026-04-01T09:00:00-05:00", "end": "2026-04-01T09:30:00-05:00", "duration_minutes": 30 },
    { "start": "2026-04-01T10:00:00-05:00", "end": "2026-04-01T10:30:00-05:00", "duration_minutes": 30 }
  ]
}

Bookings API

POST /v1/bookings creates a booking in one call. Side effects — calendar event, confirmation emails, webhooks, CRM sync — happen automatically.

import { createVennioClient } from '@vennio/sdk'

const client = createVennioClient({ apiKey: process.env.VENNIO_API_KEY })

const res = await client.bookings.create({
  body: {
    business_id: 'YOUR_BUSINESS_ID',
    customer_email: 'customer@example.com',
    customer_name: 'Jane Doe',
    start_time: '2026-04-01T09:00:00-05:00',
    end_time: '2026-04-01T09:30:00-05:00',
  },
})

console.log(res.data.booking.status) // "confirmed"
Idempotency

All write operations accept an Idempotency-Key header. Retry safely without risk of duplicate bookings.

Mutual availability

GET /v1/availability/mutual finds slots where multiple people are simultaneously free — the core primitive for multi-party scheduling.

curl "https://api.vennio.app/v1/availability/mutual?principal_ids=UUID1,UUID2&duration_minutes=60&timezone=UTC" \
  -H "Authorization: Bearer vennio_sk_live_YOUR_KEY"

Next steps