Skip to main content
ClinikAPI is a managed healthcare infrastructure platform that lets you build clinical applications through a simple REST API and TypeScript SDK — without dealing with FHIR R4 complexity, HIPAA compliance infrastructure, or AWS provisioning. You send simplified JSON payloads; ClinikAPI handles transformation, storage, tenant isolation, and compliance on your behalf.

What ClinikAPI does

Every request you make to ClinikAPI triggers a set of managed operations on the backend:
  • FHIR R4 transformation — your simplified JSON payloads are automatically converted to strict FHIR R4 resources before storage
  • Tenant isolation — every resource is tagged with your organization ID and filtered on every read, so your data is never visible to other tenants
  • Secure storage — data is persisted in AWS HealthLake with encryption at rest and in transit
  • Compliance — BAA-ready infrastructure with audit logging on every request, suitable for storing Protected Health Information (PHI)
import { Clinik } from '@clinikapi/sdk';

const clinik = new Clinik(process.env.CLINIKAPI_SECRET_KEY);

// Create a patient — ClinikAPI handles FHIR transformation + storage
const { data: patient } = await clinik.patients.create({
  firstName: 'Jane',
  lastName: 'Doe',
  email: '[email protected]',
  gender: 'female',
  birthDate: '1990-03-15',
});

console.log(patient.id); // "pt_abc123"

14 FHIR R4 resources

ClinikAPI exposes 14 FHIR R4 resource types with full CRUD, search, and pagination out of the box. Every resource is accessible via the REST API and the TypeScript SDK.
ResourceFHIR typeSDK namespace
PatientsPatientclinik.patients
PractitionersPractitionerclinik.practitioners
Practitioner rolesPractitionerRoleclinik.practitionerRoles
EncountersEncounterclinik.encounters
ObservationsObservationclinik.observations
MedicationsMedicationclinik.medications
PrescriptionsMedicationRequestclinik.prescriptions
AppointmentsAppointmentclinik.appointments
IntakesQuestionnaireResponseclinik.intakes
ConsentsConsentclinik.consents
LabsDiagnosticReportclinik.labs
NotesDocumentReferenceclinik.notes
AssessmentsClinicalImpressionclinik.assessments
DocumentsCompositionclinik.documents

Architecture overview

ClinikAPI is a data API — you bring your own auth provider (Supabase, Clerk, Auth0, Firebase, etc.) and use ClinikAPI purely for clinical data storage and retrieval.
Your app → Your backend → ClinikAPI SDK → ClinikAPI REST API → AWS HealthLake
  • The SDK runs server-side only with a secret API key — never import it in client-side code
  • React widgets from @clinikapi/react use a proxy pattern — they talk to your backend, which calls ClinikAPI, so your API key is never exposed to the browser
  • Test keys (clk_test_*) route to a shared test datastore; live keys (clk_live_*) route to production
Because ClinikAPI is a data API, it does not issue JWTs or session tokens to your users. Your authentication layer handles identity; ClinikAPI handles clinical data.

Next steps

Quickstart

Create your first patient record in under 5 minutes.

Authentication

Learn how API keys and tenant isolation work.

SDK reference

Full TypeScript SDK documentation with all 14 resources.

React components

Drop-in clinical UI widgets for your frontend.