Dental Suite API

Versioned REST API + webhooks. Tenant-scoped via API key — each clinic sees only its own data. Base URL: https://api.dental-suite.in/api/v1

API Keys

Generate/revoke in Dashboard → Integrations → API. Header: X-API-Key: ds_live_xxx or Authorization: Bearer ds_live_xxx. Scoped to your clinic, 60 req/min.

Webhooks

Register URL for events: appointment.created, invoice.paid etc. Signed with X-DentalSuite-Signature (HMAC-SHA256).

Rate Limit

60/min per API key. 429 with Retry-After. Tenant isolation enforced.

Endpoints

GET/api/v1/patientsAPI key
POST/api/v1/patientsAPI key
GET/api/v1/patients/{id}API key
PATCH/api/v1/patients/{id}API key
GET/api/v1/appointmentsAPI key
POST/api/v1/appointmentsAPI key
GET/api/v1/invoicesAPI key
GET/api/v1/treatmentsAPI key

Example

# List patients
curl -H "X-API-Key: ds_live_xxx" \
  "https://api.dental-suite.in/api/v1/patients?per_page=5"

# Create appointment
curl -X POST -H "X-API-Key: ds_live_xxx" -H "Content-Type: application/json" \
  -d '{"patient_id": 123, "appointment_date": "2026-09-01", "appointment_time": "10:00"}' \
  "https://api.dental-suite.in/api/v1/appointments"

# Webhook payload
{
  "event": "appointment.created",
  "payload": { "id": 456, "patient_id": 123, ... },
  "sent_at": "2026-08-28T10:00:00Z"
}
// Verify: HMAC-SHA256(raw_body, webhook_secret) == X-DentalSuite-Signature

Zapier / Make

Use the public API + webhooks to build Zaps: “New patient → Add row to Google Sheet” without custom code. No separate Zapier app needed — just use Webhooks + API.