Build on Claro. Match every record by ID.
A stable REST API over a clinic's practitioners, patients and appointments. Read-only in v1. Served in Australia and the United States.
What you can do today#
- Read a clinic's practitioners, patients and appointments.
- Keep your system in step with
updated_since. - Hear about changes through signed webhooks, then re-fetch by public ID.
- Catch up on missed webhook events with
GET /events. - Match records by ID, using
external_ids.
| Endpoint | What it does |
|---|---|
GET /appointments | List appointments |
GET /appointments/{id} | Get an appointment |
GET /clinics | List clinics |
GET /clinics/{id} | Get a clinic |
GET /events | List a webhook subscription's events |
GET /patients | List patients |
GET /patients/{id} | Get a patient |
GET /practitioners | List practitioners |
GET /practitioners/{id} | Get a practitioner |
Base URLs#
Each region is its own deployment. An API key names its region, so it tells you which to use.
| Region | Base URL | Keys start |
|---|---|---|
| Australia | https://api-au.claro.clinic/api/public/v1 | claro_sk_live_au_ |
| United States | https://api-us.claro.clinic/api/public/v1 | claro_sk_live_us_ |
The API describes itself at /openapi.json and /llms.txt. No key needed.
Start here#
QuickstartA key, then your first call, in five minutes.
Scopes and dataWhat each scope unlocks.
Incremental syncWalk the list once, then only what changed.
WebhooksVerify, de-duplicate, re-fetch.
Coming#
Planned, in no fixed order and with no dates yet. The changelog says when each one lands.
- Coming Writes: update or create a patient by external ID; book, move and cancel appointments; start a note session.
- Coming More resources: signed notes, encounters, administrations and consents.
- Coming A self-serve sandbox for test keys.
- Coming Version pinning per integration.
- Coming TypeScript and Python SDKs.
- Coming An MCP server, built on this API.