Skip to main content
This route is live for a clinic’s own key, on any Team, Business (Pharmacy/Diagnostics editions) or Enterprise plan with API access — no add-on or agreement needed, since it carries no patient data. The developer dashboard’s own Partner codes page (for a workspace managing its codes across every clinic it’s connected to, rather than one clinic uploading its own) is a separate path: it checks a CSV file row by row before anything is sent, then uploads it and shows what matched, what is waiting for a pharmacist’s confirmation and what did not match. It needs the Admin role or higher in the workspace.
If your own systems refer to a medicine by a code that isn’t a standard barcode, NAFDAC number, NDC, or RxNorm code — your own internal SKU, for instance — you can register that code once, and it will resolve the same way across every pharmacy your workspace is connected to.

Recognized identifier systems

An identifier system not in this list is refused for the whole request — never a silent non-match.

Uploading a list

Requires inventory.items:write (there is no separate “codes” permission — managing your own code list is treated the same as managing the catalogue). Accepts up to 1,000 rows in one request.
Each row needs code (your own value) and may supply any of barcode, nafdac_no, ndc, rxcui, name, strength, form, pack_size. Uploading a code you’ve already sent updates it — a repeat is never rejected as a duplicate, and always resolves to the newest values you sent.

How a row resolves

A row is never linked on a name match alone — a name is a hint, not a proof of identity, and the wrong match here is the wrong drug. Only an exact identifier match links automatically.
Once a code is linked, checking availability by system: "partner", value: "SKU-10021" resolves through your mapping to whichever of the connected pharmacy’s items it points at.
An unmapped or unconfirmed code answers matched: false on availability — the same as any other code the platform doesn’t recognize. It never answers as if the medicine were out of stock; “we don’t know what this code is” and “they have none” must never look the same.

Listing, reading, and removing your own codes

You only ever see your own list — a workspace’s codes are never visible to another workspace, and a clinic’s own codes (uploaded with the clinic’s own key) are never mixed with a connected organization’s.

See also