API Documentation

Build powerful integrations with the SchedulePro REST API. Full documentation, SDKs, and sandbox access for developers.

Authentication

All API requests require authentication via Bearer tokens. Generate an API key from your dashboard under Settings > API Keys. Include the key in the Authorization header of every request.

// Example: Authenticated request
fetch('https://api.schedulepro.com/v3/schedules', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
})

API Endpoints

Our API is organized around REST principles. All endpoints return JSON responses and use standard HTTP methods.

Schedules

Create, update, delete, and retrieve schedules and events.

GET/schedules
POST/schedules
PUT/schedules/:id
DELETE/schedules/:id

Team Members

Manage team members, roles, and availability preferences.

GET/members
POST/members/invite
PUT/members/:id
GET/members/:id/availability

Bookings

Handle appointment bookings, confirmations, and cancellations.

GET/bookings
POST/bookings
PUT/bookings/:id/confirm
DELETE/bookings/:id

Notifications

Configure and send notifications via email, SMS, and push.

GET/notifications
POST/notifications/send
PUT/notifications/preferences

Webhooks

Subscribe to real-time events for schedule changes and bookings.

GET/webhooks
POST/webhooks
DELETE/webhooks/:id
POST/webhooks/:id/test

Analytics

Access scheduling analytics, utilization data, and reports.

GET/analytics/overview
GET/analytics/utilization
GET/analytics/reports

Quick start example

Here is a complete example showing how to create a new schedule, add team members, and set up a webhook for real-time updates.

We provide SDKs for JavaScript/TypeScript, Python, Ruby, Go, and PHP. Each SDK handles authentication, error handling, and pagination automatically.

// Create a schedule with the JS SDK
import { SchedulePro } from '@schedulepro/sdk'

const client = new SchedulePro({
  apiKey: process.env.SP_API_KEY
})

const schedule = await client.schedules.create({
  title: 'Weekly Team Sync',
  timezone: 'America/New_York',
  recurring: true
})

console.log(schedule.id)

Rate Limits

API rate limits vary by plan. All limits are per-key and reset every minute.

PlanRequests/min
Free60
Pro300
Business1,000

Official SDKs

Get started quickly with our official client libraries.

JavaScript / TypeScriptView docs
PythonView docs

Start building today

Get your API key and start making requests in minutes. Our sandbox environment is perfect for testing.

Get Your API Key