For Developers
RESTful APIs, FHIR R4 resources, real-time webhooks, and SDKs in every major language. Ship healthcare features in days, not months — with HIPAA-grade security and sub-50ms response times baked in.
A complete developer platform — from patient records and scheduling to billing and clinical decision support.
Full HL7 FHIR R4 support covering Patient, Encounter, Observation, Condition, MedicationRequest, and 40+ more resource types. Query with standard FHIR search parameters and receive JSON bundles that plug into any FHIR-compatible system.
Secure authentication with OAuth 2.0 flows for third-party apps and PASETO v4 tokens for server-to-server communication. Scoped API keys let you grant the minimum permissions each integration needs — patient:read, appointment:write, and dozens more.
Clean, predictable REST endpoints for patients, appointments, encounters, medications, lab results, imaging, billing, and more. Paginated responses, filtering, sorting, and field selection keep payloads lean and fast.
Subscribe to events like appointment.created, encounter.completed, lab_result.ready, or claim.adjudicated. Webhooks deliver signed payloads to your endpoint within seconds, with automatic retries and a dead-letter queue for reliability.
Official SDKs for TypeScript, Python, Go, and Rust. Each SDK handles authentication, pagination, error handling, and rate-limit retries so you can focus on your application logic instead of HTTP plumbing.
A full-featured sandbox environment with realistic synthetic patient data. Test your integration end-to-end — book appointments, create encounters, submit claims — without touching production data. CLI tools for rapid prototyping.
Ship your first integration in minutes, not months.
import Cari from "@cari/sdk";
const cari = new Cari({ apiKey: process.env.CARI_API_KEY });
const patient = await cari.patients.get("pat_01H8X...");
console.log(patient.name); // "Amina Osei"
console.log(patient.conditions); // [{ code: "E11", display: "Type 2 diabetes" }]import cari
client = cari.Client(api_key="sk_live_...")
appointment = client.appointments.create(
patient_id="pat_01H8X...",
doctor_id="doc_09K3Y...",
slot="2026-04-20T10:00:00Z",
reason="Follow-up: diabetes management",
)
print(f"Booked: {appointment.id}") # "apt_07M2Z..."import { createWebhookHandler } from "@cari/sdk/webhooks";
export const POST = createWebhookHandler({
secret: process.env.CARI_WEBHOOK_SECRET,
handlers: {
"lab_result.ready": async (event) => {
const result = event.data;
await notifyDoctor(result.ordering_provider_id, result);
},
"appointment.cancelled": async (event) => {
await openSlot(event.data.slot);
},
},
});From API key to production in three steps.
Sign up and receive your API key instantly. The sandbox comes pre-loaded with realistic synthetic patients, appointments, and clinical data. Use our interactive API explorer or install an SDK and start making calls from your terminal.
Use the SDK to read patient records, book appointments, submit claims, or subscribe to webhooks. The sandbox mirrors production exactly — same endpoints, same rate limits, same error codes — so there are no surprises when you go live.
When your integration passes sandbox testing, request production credentials. Our team reviews your scopes, approves access, and you flip one environment variable. Zero downtime, zero data migration, zero drama.
Developer Story
“We built a maternal health chatbot that books antenatal appointments and sends lab results to expectant mothers via WhatsApp. The Cari API handled the scheduling, patient lookup, and lab result retrieval. We went from idea to production in two weeks — the SDK made it feel like building any other SaaS integration.”
— CTO, HealthTech Startup, Accra
Get your free API key, explore the sandbox, and ship your first healthcare integration. No sales call required — just sign up and start coding.