Build on ProChair

Access bookings, clients, services, availability, and payments through a simple REST API. Power custom integrations, automate workflows, and extend your business.

Getting Started

1

Create an App

Register a developer app from your dashboard to get your client ID and secret.

2

Get API Credentials

Use your API key or OAuth2 client credentials to authenticate requests.

3

Make Your First Call

Hit the bookings endpoint to list upcoming appointments.

Authentication

API Key

Include your API key in the Authorization header for all requests.

Authorization: Bearer prochair_sk_your_key_here

OAuth2

Use client credentials flow for server-to-server integrations. Exchange your client_id and client_secret for a short-lived access token.

Endpoints

GET/api/v1/bookings
POST/api/v1/bookings
GET/api/v1/clients
GET/api/v1/services
GET/api/v1/availability
GET/api/v1/reviews
GET/api/v1/payments

Rate Limits

Default rate limit is 1,000 requests per hour per app. Rate limit headers are included in every response.

X-RateLimit-Limit: 1000

X-RateLimit-Remaining: 847

X-RateLimit-Reset: 1712534400

Webhooks

Subscribe to real-time events. Each webhook delivery includes an HMAC-SHA256 signature in the X-ProChair-Signature header for verification.

booking.createdbooking.updatedbooking.cancelledclient.createdpayment.receivedreview.created

Code Examples

curl
curl -H "Authorization: Bearer prochair_sk_..." \
  https://prochair.app/api/v1/bookings?status=confirmed
JavaScript
const res = await fetch("https://prochair.app/api/v1/bookings", {
  headers: { Authorization: "Bearer prochair_sk_..." },
});
const { data } = await res.json();
Python
import requests

resp = requests.get(
    "https://prochair.app/api/v1/bookings",
    headers={"Authorization": "Bearer prochair_sk_..."},
)
data = resp.json()["data"]