This API is under active development. The sections below say, resource by resource, what you can call today. A page that describes something not yet available says so at the top, in its own banner — nothing on this site describes a defect as if it were a feature.
How it works
1
Get a key
A key is a long secret string, like a password for your program. A clinic creates one for you, or you create your own in the developer portal. See Getting a key.
2
Send it with every request
Put the key in the
Authorization header. That is the only sign-in this API has.3
Read or send data
Call an endpoint, such as
GET /v1/clinics/{clinic_id}/inventory/items, and read the JSON that comes back.Two ways to use this API
Both kinds send the same
Authorization: Bearer header, hit the same base URL, and get the same responses for the same resource — see Authentication.
What you can build
Inventory and stock
Read a clinic’s catalogue, stock and availability, and record stock changes.
Patient records
Patients, visits, notes, allergies, conditions and medicines, with the clinic’s permission.
Referrals and outside care
Send referrals for a clinic to review, and read the ones it received.
Insurance
The payers a clinic works with, and a patient’s coverage.
Insurance for HMOs
Verify enrollees, vet claims, decide authorizations and report payments, or submit claims for a clinic.
Connections to clinics
Ask a clinic for access with a one-time code, and find listed pharmacies.
FHIR
Read clinical records in the FHIR R4 standard.
Patient information
Anything about a patient (records, appointments, notes, allergies, medicines, referrals, insurance and drug requests) needs more than a key, because it is protected health information. The clinic must agree, and the key must be allowed to carry patient-data permissions. Getting access to patient data lists exactly what is needed. A test key can try all of it in the sandbox today.What’s available now
Everything you can call today, resource by resource
Everything you can call today, resource by resource
- Inventory, for a clinic your key reaches: locations, catalogue items, availability bands, and exact stock — see Inventory and Stock bands. Creating an item, receiving or adjusting stock, and recording a transfer are also live, with the same key — see Retries and duplicates for the idempotency design every write uses.
- Insurance: the payers a clinic has enabled, and a patient’s coverage, which you can read and add (a coverage you add stays inactive until staff confirm it). It needs the same patient-data access as the records below. See Insurance.
- Insurance for HMOs and insurers: for a clinic outside the United States, the insurer the clinic links to your organization: its enrollees, plans, claims and authorization requests, which an insurer can vet, decide and report payments against, and which a developer can submit. The clinic decides what each connected organization is. It needs patient-data access. See Insurance for HMOs and insurers.
- Allergies: a patient’s allergies and intolerances, which you can read and send for a clinician to review. They need the same patient-data access as the records below. See Allergies.
- Referrals: the referrals a clinic has received for a patient, which you can read and send for the clinic to review. The clinic alone accepts, declines or books them. They need the same patient-data access as the records below. See Referrals.
- Medications: the medicines a patient reports, which you can read and send for a clinician to review, and the prescriptions written for them, which are read-only. They need the same patient-data access as the records below. See Medications.
- Automatic acceptance: a clinic can choose to accept new allergies, conditions, reported medicines or referrals from your key or connection without review. The answer then already shows
review_status: "confirmed"andaccepted_automatically: true. See Automatic acceptance. - Providers: the clinic’s clinical staff directory (name, role, specialty, NPI and licence), which is read-only and holds no contact details. See Providers.
- Outside care providers: the doctors, referrers and specialists a patient names, which you can read and add, and change or remove when your app added them. They need the same patient-data access as the records below. See Outside care providers.
- Encounters: a patient’s visits as the clinic documents them, which you can read, and open as a draft visit for a clinician to complete. No clinical text is returned, and nothing is ordered, billed or signed. They need the same patient-data access as the records below. See Encounters.
- Network search — finding a listed pharmacy, and checking its availability band, without a direct connection to it yet — see Connections.
- Connections — an organization requesting access to a clinic by one-time code, and the clinic narrowing or revoking what it granted — see Connections.
- Workspaces — signing up for a developer portal account, verifying it, and using your sandbox with a test key before anything is live.
- Looking up which clinic or workspace a key belongs to, and confirming the key itself is valid (
GET /v1/me). - Your sandbox — invented inventory, pharmacies, patients, notes, appointments and medicine codes, reachable with a test key, with a request you can paste for each on the Sandbox page of the developer portal.
What isn’t available yet
If your integration needs any of this, it isn’t ready to build against — check back, or ask us.- A self-serve checkout for a workspace’s paid plan. Moving off Sandbox is a request to us today — see Plans and pricing.
- OAuth, or any authentication method other than a bearer key.
Words you’ll see
Base URL
Where to start
Quickstart
Make your first request in a few minutes.
Authentication
How a key is formatted, sent, and kept safe.
Permissions
What a key can be given access to, and how that’s enforced.
API reference
Every endpoint, with its request, response and permission.
SDKs and Postman
Client libraries and a ready-made request collection.
Getting a key
- Building for one clinic you already work with? Ask them to create a key inside their own ClinikEHR workspace, under Settings → API access, and share it with you over a channel you both trust. See the product’s own guide: API access.
- Building something that reaches more than one clinic? Sign up for a developer portal account — you get a test key and a sandbox immediately. A live key needs your workspace verified, on a paid plan, and to have accepted the API Terms of Use, and it only ever reaches a clinic that has approved a connection to you.