Research area
Ontologies
Namespace
hpo
Listed tools
17
Upstream source
Human Phenotype Ontology

Research tasks

  • Resolve a phenotype label or synonym to an HP identifier
  • Explore parent and descendant terms
  • Review disease and gene associations separately from ontology definitions

Start with tool discovery

The catalog lists hpo_resolve_term as a representative tool. After connecting your client, inspect the tools and input requirements returned by the service before submitting a query.

Identifiers to prepare

  • Phenotype label or synonym
  • HP:NNNNNNN identifier
  • External ontology CURIE supported by the resolver

All available tools (17)

The router surfaces these tools namespaced under hpo_*:

get_server_capabilitiesReturn the hpo-link discovery surface: identity/build/HPO release, the tool list WITH call signatures, response modes, recommended workflows, the xref prefixes, the error taxonomy, and limits. detail='full' adds the full policy notes. Call this first in a cold session, or read hpo://tools / hpo://capabilities. Signature: get_server_capabilities(detail=).

Return the hpo-link discovery surface: identity/build/HPO release, the tool list WITH call signatures, response modes, recommended workflows, the xref prefixes, the error taxonomy, and limits. detail='full' adds the full policy notes. Call this first in a cold session, or read hpo://tools / hpo://capabilities. Signature: get_server_capabilities(detail=).

Input parameters

  • detail(string) — summary (default, light) or full (adds policy notes).
get_diagnosticsReport the local HPO index status: whether the data is built, the loaded HPO and HPOA release versions, term/obsolete/closure/xref/annotation counts, when it was built, and a runtime block (request/error counts and latency percentiles p50/p95/p99). Use this to confirm freshness or diagnose an upstream_unavailable error (an unbuilt/unavailable local index). Signature: get_diagnostics().

Report the local HPO index status: whether the data is built, the loaded HPO and HPOA release versions, term/obsolete/closure/xref/annotation counts, when it was built, and a runtime block (request/error counts and latency percentiles p50/p95/p99). Use this to confirm freshness or diagnose an upstream_unavailable error (an unbuilt/unavailable local index). Signature: get_diagnostics().

resolve_termResolve a phenotype label, synonym, HP id (HP:0000118), or external cross-reference CURIE (UMLS:C0000737, SNOMEDCT_US:263681008, ...) to the canonical HPO term {hpo_id, name, match_type}. An ambiguous label returns ambiguous_query with candidates (each {hpo_id, name}); an obsolete HP id resolves with success:true, obsolete:true, and its successor in replaced_by. This is the recommended first step — resolve any query to a canonical HP id before calling get_term. Signature: resolve_term(query, response_mode=).

Resolve a phenotype label, synonym, HP id (HP:0000118), or external cross-reference CURIE (UMLS:C0000737, SNOMEDCT_US:263681008, ...) to the canonical HPO term {hpo_id, name, match_type}. An ambiguous label returns ambiguous_query with candidates (each {hpo_id, name}); an obsolete HP id resolves with success:true, obsolete:true, and its successor in replaced_by. This is the recommended first step — resolve any query to a canonical HP id before calling get_term. Signature: resolve_term(query, response_mode=).

Input parameters

  • query(string) [required] — A phenotype label, synonym, HP id (HP:0000118), or external xref CURIE (UMLS:C0036572, SNOMEDCT_US:263681008, ...).
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
search_termsFull-text search over HPO phenotype term names, synonyms, and definitions (FTS, relevance-ranked). Returns {hpo_id, name, score} -- compact adds a short definition_snippet; standard/full add the complete definition -- plus a pagination block {total, returned, limit, offset, truncated, next_offset}. When truncated, next_commands carries a forward-page step (offset advanced) and a widen step. Obsolete terms are excluded unless include_obsolete=true. Signature: search_terms(query, limit=, offset=, include_obsolete=, response_mode=).

Full-text search over HPO phenotype term names, synonyms, and definitions (FTS, relevance-ranked). Returns {hpo_id, name, score} -- compact adds a short definition_snippet; standard/full add the complete definition -- plus a pagination block {total, returned, limit, offset, truncated, next_offset}. When truncated, next_commands carries a forward-page step (offset advanced) and a widen step. Obsolete terms are excluded unless include_obsolete=true. Signature: search_terms(query, limit=, offset=, include_obsolete=, response_mode=).

Input parameters

  • include_obsolete(boolean) — Include obsolete terms (default false).
  • limit(integer) — Max hits (default 25).
  • offset(integer) — Rows to skip for forward paging (default 0).
  • query(string) [required] — A phenotype label, synonym, HP id (HP:0000118), or external xref CURIE (UMLS:C0036572, SNOMEDCT_US:263681008, ...).
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_termReturn an HPO phenotype term record: definition, synonyms (exact/related/broad/narrow), alt_ids, subsets, comments, cross-references, direct parents and children, and obsolescence (replaced_by). The term accepts an HP id, a label/synonym, or an external xref CURIE (resolved first). Pass fields=['synonyms', 'definition'] for a sparse projection. Note on synonyms shape: compact (default) returns synonyms as plain strings; standard/full return {text, scope} objects. Signature: get_term(hpo_id, response_mode=, fields=).

Return an HPO phenotype term record: definition, synonyms (exact/related/broad/narrow), alt_ids, subsets, comments, cross-references, direct parents and children, and obsolescence (replaced_by). The term accepts an HP id, a label/synonym, or an external xref CURIE (resolved first). Pass fields=['synonyms', 'definition'] for a sparse projection. Note on synonyms shape: compact (default) returns synonyms as plain strings; standard/full return {text, scope} objects. Signature: get_term(hpo_id, response_mode=, fields=).

Input parameters

  • fields(any) — Sparse fieldset: return ONLY these top-level keys (for map_cross_ontology, dot into the grouped object, e.g. 'mappings.UMLS'). Identity anchors (hpo_id, name, hpo_version) are always included. An unrecognised field is rejected with invalid_input. Omit for the full payload.
  • hpo_id(string) [required] — Canonical HP id for the resolved HPO term (HP:0000118). Legacy `term` arguments are accepted as an alias.
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_term_ancestorsReturn all transitive is_a ancestors (broader phenotype terms) of an HPO term via the precomputed closure, with a pagination block {total, returned, limit, offset, truncated, next_offset}. When truncated, next_commands carries a forward-page step (offset) so you can walk a >limit closure without re-sending rows. Use get_term_parents for only the immediate parents. Signature: get_term_ancestors(hpo_id, limit=, offset=, response_mode=).

Return all transitive is_a ancestors (broader phenotype terms) of an HPO term via the precomputed closure, with a pagination block {total, returned, limit, offset, truncated, next_offset}. When truncated, next_commands carries a forward-page step (offset) so you can walk a >limit closure without re-sending rows. Use get_term_parents for only the immediate parents. Signature: get_term_ancestors(hpo_id, limit=, offset=, response_mode=).

Input parameters

  • hpo_id(string) [required] — Canonical HP id for the resolved HPO term (HP:0000118). Legacy `term` arguments are accepted as an alias.
  • limit(integer) — Max rows returned (default 50).
  • offset(integer) — Rows to skip for forward paging (default 0).
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_term_descendantsReturn all transitive is_a descendants (more specific phenotype terms) of an HPO term via the precomputed closure, with a pagination block {total, returned, limit, offset, truncated, next_offset}. When truncated, next_commands carries a forward-page step (offset) so you can walk a >limit closure without re-sending rows. Use get_term_children for only the immediate children. Signature: get_term_descendants(hpo_id, limit=, offset=, response_mode=).

Return all transitive is_a descendants (more specific phenotype terms) of an HPO term via the precomputed closure, with a pagination block {total, returned, limit, offset, truncated, next_offset}. When truncated, next_commands carries a forward-page step (offset) so you can walk a >limit closure without re-sending rows. Use get_term_children for only the immediate children. Signature: get_term_descendants(hpo_id, limit=, offset=, response_mode=).

Input parameters

  • hpo_id(string) [required] — Canonical HP id for the resolved HPO term (HP:0000118). Legacy `term` arguments are accepted as an alias.
  • limit(integer) — Max rows returned (default 50).
  • offset(integer) — Rows to skip for forward paging (default 0).
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_term_parentsReturn the direct is_a parents (immediate broader phenotype terms) of an HPO term. Use get_term_ancestors for the full transitive set. Signature: get_term_parents(hpo_id, response_mode=).

Return the direct is_a parents (immediate broader phenotype terms) of an HPO term. Use get_term_ancestors for the full transitive set. Signature: get_term_parents(hpo_id, response_mode=).

Input parameters

  • hpo_id(string) [required] — Canonical HP id for the resolved HPO term (HP:0000118). Legacy `term` arguments are accepted as an alias.
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_term_childrenReturn the direct is_a children (immediate more-specific phenotype terms) of an HPO term. Use get_term_descendants for the full transitive set. Signature: get_term_children(hpo_id, response_mode=).

Return the direct is_a children (immediate more-specific phenotype terms) of an HPO term. Use get_term_descendants for the full transitive set. Signature: get_term_children(hpo_id, response_mode=).

Input parameters

  • hpo_id(string) [required] — Canonical HP id for the resolved HPO term (HP:0000118). Legacy `term` arguments are accepted as an alias.
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
resolve_xrefResolve an external cross-reference CURIE (UMLS/SNOMEDCT_US/NCIT/MEDDRA/ICD-10/ICD-9/MONDO/DOID/ORPHA) back to the HPO term(s) that cross-reference it. Returns matches[] plus a pagination block {total, returned, limit, offset, truncated, next_offset}; when truncated, next_commands carries a forward-page step (offset). Signature: resolve_xref(xref_id, limit=, offset=, response_mode=).

Resolve an external cross-reference CURIE (UMLS/SNOMEDCT_US/NCIT/MEDDRA/ICD-10/ICD-9/MONDO/DOID/ORPHA) back to the HPO term(s) that cross-reference it. Returns matches[] plus a pagination block {total, returned, limit, offset, truncated, next_offset}; when truncated, next_commands carries a forward-page step (offset). Signature: resolve_xref(xref_id, limit=, offset=, response_mode=).

Input parameters

  • limit(integer) — Max matches (default 25).
  • offset(integer) — Rows to skip for forward paging (default 0).
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
  • xref_id(string) [required] — An external cross-reference CURIE (prefix:local), e.g. UMLS/SNOMED/NCIT/MEDDRA, to resolve back to the HPO term(s) that cross-reference it.
map_cross_ontologyList an HPO term's cross-references to other ontologies/vocabularies, grouped by target prefix (UMLS/SNOMEDCT_US/NCIT/MEDDRA/ICD-10/ICD-9/MONDO/DOID/ORPHA/EFO/MSH/MESH). Optionally restrict to a subset of prefixes. Signature: map_cross_ontology(hpo_id, prefixes=, response_mode=, fields=).

List an HPO term's cross-references to other ontologies/vocabularies, grouped by target prefix (UMLS/SNOMEDCT_US/NCIT/MEDDRA/ICD-10/ICD-9/MONDO/DOID/ORPHA/EFO/MSH/MESH). Optionally restrict to a subset of prefixes. Signature: map_cross_ontology(hpo_id, prefixes=, response_mode=, fields=).

Input parameters

  • fields(any) — Sparse fieldset: return ONLY these top-level keys (for map_cross_ontology, dot into the grouped object, e.g. 'mappings.UMLS'). Identity anchors (hpo_id, name, hpo_version) are always included. An unrecognised field is rejected with invalid_input. Omit for the full payload.
  • hpo_id(string) [required] — Canonical HP id for the resolved HPO term (HP:0000118). Legacy `term` arguments are accepted as an alias.
  • prefixes(any) — Restrict to these target prefixes, e.g. ['UMLS','SNOMEDCT_US'].
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_phenotypes_for_geneReturn the HPO phenotype terms annotated to a gene (symbol or NCBI id). Signature: get_phenotypes_for_gene(gene, limit=, offset=, response_mode=).

Return the HPO phenotype terms annotated to a gene (symbol or NCBI id). Signature: get_phenotypes_for_gene(gene, limit=, offset=, response_mode=).

Input parameters

  • gene(string) [required] — A gene symbol (e.g. 'PAX6') or NCBI gene CURIE (e.g. 'NCBIGene:5080'). Bare NCBI numeric ids (e.g. '5080') are also accepted.
  • limit(integer) — Max phenotypes to return (default 25).
  • offset(integer) — Rows to skip for forward paging (default 0).
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_genes_for_phenotypeReturn the genes annotated to an HPO phenotype term, optionally expanded to include descendants. Signature: get_genes_for_phenotype(hpo_id, include_descendants=, limit=, offset=, response_mode=).

Return the genes annotated to an HPO phenotype term, optionally expanded to include descendants. Signature: get_genes_for_phenotype(hpo_id, include_descendants=, limit=, offset=, response_mode=).

Input parameters

  • hpo_id(string) [required] — Canonical HP id for the resolved HPO phenotype (HP:0000118). Legacy `term` arguments are accepted as an alias.
  • include_descendants(boolean) — When true, unions the term's transitive descendants so genes annotated to any child term are included (default false).
  • limit(integer) — Max genes to return (default 25).
  • offset(integer) — Rows to skip for forward paging (default 0).
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_phenotypes_for_diseaseReturn the HPO phenotype terms annotated to a disease CURIE (e.g. OMIM:106210, ORPHA:550). Signature: get_phenotypes_for_disease(disease_id, limit=, offset=, response_mode=).

Return the HPO phenotype terms annotated to a disease CURIE (e.g. OMIM:106210, ORPHA:550). Signature: get_phenotypes_for_disease(disease_id, limit=, offset=, response_mode=).

Input parameters

  • disease_id(string) [required] — A disease CURIE, e.g. 'OMIM:106210' (MIM Morbid) or 'ORPHA:550' (Orphanet). The prefix is case-sensitive.
  • limit(integer) — Max phenotypes to return (default 25).
  • offset(integer) — Rows to skip for forward paging (default 0).
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_diseases_for_phenotypeReturn diseases annotated to an HPO phenotype term, optionally expanded to include descendants. Signature: get_diseases_for_phenotype(hpo_id, include_descendants=, limit=, offset=, response_mode=).

Return diseases annotated to an HPO phenotype term, optionally expanded to include descendants. Signature: get_diseases_for_phenotype(hpo_id, include_descendants=, limit=, offset=, response_mode=).

Input parameters

  • hpo_id(string) [required] — Canonical HP id for the resolved HPO phenotype (HP:0000118). Legacy `term` arguments are accepted as an alias.
  • include_descendants(boolean) — When true, unions the term's transitive descendants so diseases annotated to any child term are included (default false).
  • limit(integer) — Max diseases to return (default 25).
  • offset(integer) — Rows to skip for forward paging (default 0).
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_genes_for_diseaseReturn genes associated with a disease CURIE (e.g. OMIM:106210, ORPHA:550). Signature: get_genes_for_disease(disease_id, limit=, offset=, response_mode=).

Return genes associated with a disease CURIE (e.g. OMIM:106210, ORPHA:550). Signature: get_genes_for_disease(disease_id, limit=, offset=, response_mode=).

Input parameters

  • disease_id(string) [required] — A disease CURIE, e.g. 'OMIM:106210' (MIM Morbid) or 'ORPHA:550' (Orphanet). The prefix is case-sensitive.
  • limit(integer) — Max genes to return (default 25).
  • offset(integer) — Rows to skip for forward paging (default 0).
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).
get_diseases_for_geneReturn diseases associated with a gene (symbol or NCBI id). Signature: get_diseases_for_gene(gene, limit=, offset=, response_mode=).

Return diseases associated with a gene (symbol or NCBI id). Signature: get_diseases_for_gene(gene, limit=, offset=, response_mode=).

Input parameters

  • gene(string) [required] — A gene symbol (e.g. 'PAX6') or NCBI gene CURIE (e.g. 'NCBIGene:5080'). Bare NCBI numeric ids (e.g. '5080') are also accepted.
  • limit(integer) — Max diseases to return (default 25).
  • offset(integer) — Rows to skip for forward paging (default 0).
  • response_mode(string) — Verbosity: minimal|compact|standard|full (default compact).

Database & release provenance

Data mode
external-reference
Attestation
attested-reference
Data release tag
db-v2026-06-23
Release version
v0.4.6
sha256:d677a96efd8c274045241934c33b25dfb6fc9a6414c27bed7ae3334d05d4c9f6
ghcr.io/berntpopp/hpo-link@sha256:ecd703a96a43737b2b601b1de14561d79ae56bf8125a9ff9cabe63999feaff5d

Review the response

Keep the source record link and submitted identifiers with your notes. Record the dataset version and retrieval date when available. This page does not contain a captured Human Phenotype Ontology response.