Ontology directory

List all supported ontologies, or fetch one ontology's hierarchy, definitions, coverage statistics, and example events.

GET/api/ontology

Authorizations

Bearer
Authorizationstringrequiredheader

Required Bearer API key. Programmatic access to the World API needs a key; browsing nosible.world in a browser does not.

Example: Bearer nos_sk_...

Parameters

query & path
ontologystringquery

Optional ontology id or slug. Omit it to list every supported ontology; use emdat for the full EM-DAT reference.

Example: emdat

How to use this endpoint

guidance

Call without parameters to list every supported ontology. Add ontology=emdat for the nested EM-DAT tree, definitions, example events, and live coverage statistics.

Response body

application/json

These are the fields you can build against. Nested names use dot notation; optional sections are called out in their descriptions.

schemastring

Stable ontology reference contract identifier.

Example: nosible_world_ontology_reference_v1

ontologiesobject[]

Supported ontology summaries.

Example: [{ id, slug, name, levels, category_count, leaf_count, coverage, details_url }]

ontologyobject|null

Selected ontology metadata, present when ontology is supplied.

Example: { "id": "emdat", "name": "EM-DAT Disaster Classification", "levels": ["disaster_group", "disaster_subgroup", "disaster_type"] }

coverageobject

Live indexed event counts and shares for the selected ontology.

Example: { "labelled_events": 1393908, "world_events": 15311040, "share_of_world": 0.091 }

hierarchyobject[]

Nested tree preserving parent-child paths such as Natural → Meteorological → Storm.

Example: [{ name: "Natural", children: [{ name: "Meteorological", children: [{ name: "Storm", path: ["Natural", "Meteorological", "Storm"] }] }] }]

as_ofobject

Current index build and cutoff used for the statistics.

Example: { "archive_cutoff": "2026-09-16" }

Responses and errors

HTTP
200Request succeeded. The response body is shown in the panel on the right.
400invalid_requestThe date, filter, cursor, identifier, or request combination is invalid.
403access_deniedThe requested archive date is outside the caller's World tier.
404not_foundThe requested date, entity, ticker, or event does not exist in the accessible index.
410cursor_expiredThe cursor was minted against a replaced index build. Restart pagination from the first page.
429rate_limitedThe request exceeded the endpoint or account rate limit. Respect Retry-After when supplied.
501backend_not_configuredThe World backend is not configured for this deployment.
502backend_errorThe BFF could not obtain a valid response from the World backend.
504backend_timeoutThe World backend or an upstream data source timed out.
404unknown_ontologyThe ontology id or slug is not in the supported ontology directory.
503inverted_index_unavailableCurrent ontology counts cannot be served until the live World index is loaded.