Skip to main content

API Reference

The ClinikAPI REST API provides CRUD + search operations for 14 FHIR R4 resource types, plus bulk operations and a FHIR passthrough.

Base URL

https://api.clinikapi.com

Authentication

All endpoints (except /health and /v1/metadata) require an API key:
curl -H "x-api-key: clk_live_abc123" https://api.clinikapi.com/v1/patients

Response Envelope

Every response is wrapped in:
{
  "data": { ... },
  "meta": {
    "requestId": "req_k8f3a7x2",
    "timestamp": "2025-01-15T09:15:00.000Z",
    "status": 200,
    "rateLimitTotal": 500,
    "rateLimitRemaining": 498,
    "rateLimitReset": 3600
  }
}

Pagination

List endpoints return paginated results:
{
  "data": {
    "data": [ ... ],
    "total": 150,
    "cursor": "20",
    "hasMore": true
  }
}
Use count (default: 20, max: 100) and cursor query parameters to paginate.

Content Types

HeaderValue
Request bodyapplication/json
PATCH bodyapplication/json-patch+json
FHIR passthroughapplication/fhir+json

Endpoints

MethodPathDescription
GET/healthHealth check (no auth)
GET/v1/metadataFHIR CapabilityStatement (no auth)
POST/v1/{resource}Create a resource
GET/v1/{resource}Search resources
GET/v1/{resource}/{id}Read a resource
PATCH/v1/{resource}/{id}Update a resource
DELETE/v1/{resource}/{id}Delete a resource
POST/v1/bulk/exportStart bulk export
POST/v1/bulk/importStart bulk import
GET/v1/bulk/jobs/{jobId}Check bulk job status
*/v1/fhir/{path}FHIR passthrough

Resource Paths

PathFHIR Type
/v1/patientsPatient
/v1/practitionersPractitioner
/v1/practitioner-rolesPractitionerRole
/v1/encountersEncounter
/v1/observationsObservation
/v1/medicationsMedication
/v1/prescriptionsMedicationRequest
/v1/appointmentsAppointment
/v1/intakesQuestionnaireResponse
/v1/consentsConsent
/v1/labsDiagnosticReport
/v1/notesDocumentReference
/v1/assessmentsClinicalImpression
/v1/documentsComposition