Skip to content
Fatunmbi Daniel edited this page Jul 19, 2026 · 1 revision

FAQ

Short answers to the common questions. For detail, see API-Reference and Getting-Started.

How do I authenticate?

Every request carries a bearer API key. You pass it once as apiKey when you create the client, and the client sends it as Authorization: Bearer <apiKey> on each request. Keys start with holon_. Request one through the developer dashboard.

Which vocabularies does it cover?

HOLON is a normalized layer over SNOMED CT, RxNorm, LOINC, ICD, and more. The client speaks all of them through one concept model, so you work with a concept instead of a code per system.

What is the difference between a concept id and a code?

A conceptId is HOLON's stable numeric identifier for a clinical idea; it stays the same across every vocabulary. A code is the identifier a single vocabulary (RxNorm, SNOMED, LOINC) assigns to that idea, and it differs between systems. When you hold a code, concepts.getByCode(code, vocabulary) resolves it to the concept. See Concepts.

How does error handling work?

A non-2xx response, or a network or timeout failure, throws a HolonError from @ontomorph/holon-types. Catch it, check err instanceof HolonError, and branch on err.code (an ErrorCode). err.details holds { status, body }. Common codes include CONCEPT_NOT_FOUND, NO_MAPPING_FOUND, UNAUTHORIZED, and RATE_LIMIT_EXCEEDED. Full list in API-Reference.

Which runtimes are supported?

Node.js 18+, Bun, Deno, and any runtime with a global fetch. No extra polyfill is needed on those runtimes.

How does it relate to @ontomorph/holon-types?

@ontomorph/holon-types is the client's one dependency and its peer. It carries the shared enums (ErrorCode, VocabularyId, DomainId), the error classes (HolonError), and entity types. You import runtime error handling (HolonError, ErrorCode) from @ontomorph/holon-types, and you import the client plus its response types from @ontomorph/holon-client.

How does it relate to @ontomorph/dtp-sdk?

@ontomorph/dtp-sdk is the DTP digital-twin SDK. It re-exports this client as dtp.holon. If you already use the DTP SDK, you reach the same HOLON namespaces through dtp.holon without installing this package separately.

Are TypeScript types included?

Yes. The client is fully typed. Response and entity types (HolonClient, ConceptResponse, SearchResponse, InteractionsResponse, MappingEntry, ReferenceRangeEntry, PhenotypeMatch) are exported from @ontomorph/holon-client. The lower-level *Api classes are exported too, if you want to construct a single namespace on its own.

Can I use one namespace on its own?

Yes. The *Api classes (ConceptsApi, InteractionsApi, MappingsApi, ReferenceRangesApi, PhenotypeApi) are exported, so you can construct a single namespace instead of the full client.

Where are the official docs and support?

Developer docs live at https://developer.ontomorph.com/docs and the API reference at https://developer.ontomorph.com/api-reference. Report issues at https://github.com/ontomorph-core/holon-client/issues.