Skip to main content
This walks through the fastest path: a clinic’s own key, reading its own inventory. If you’re building something that reaches more than one clinic, see the two ways to use this API instead — the request shapes below are identical either way.

1. Get a key

Keys aren’t created on this site. Ask the clinic you’re integrating with to open Settings → API access in their own ClinikEHR workspace, turn on Allow API access, and create a key with the permissions your integration needs (see Permissions). The full key is shown to them once — ask them to send it to you over a channel you both trust, never by email in plain text if you can avoid it. A key looks like this:
A clinic’s own key is always ehr_live_ — it has no test mode, because it never has anything to test against but the clinic’s own real data. Handle it like a password from the moment you receive it. (Building for more than one clinic instead? A developer portal organization key gets you an ehr_test_ sandbox key immediately, with no real data at risk — see Authentication.)

2. Note the clinic ID

Every data request is scoped to one clinic, identified in the URL. The clinic that gave you the key can tell you their clinic ID, or you can read it back from the key itself:

3. Make your first inventory request

List the clinic’s catalogue items:

4. Handle errors

Every failure comes back as application/problem+json with a stable code you can branch on in code — see Errors. A wrong or revoked key, for example, is a 401 with code: "invalid_key".

Next steps

Authentication

Key format, headers, and what each failure means.

Inventory

Every endpoint available today, with full examples.

Pagination

Reading a list all the way to the end.

Rate limits

How much you can call, and how to tell when you’re close.