API for Developers

The same data that powers the Navigator and Matrix, exposed at stable, directly-fetchable JSON URLs — no key, no rate limit, no scraping required.

Who this is for

Anyone who wants to consume OpenHaven’s data programmatically — the entity/domain/affordance matrix, the Monetary Architecture mechanisms, or the Organization & Governance Models — building a tool on top of it, feeding it to an agent or MCP server, or writing a one-off script. This is a static, read-only, unauthenticated JSON API: no dynamic filtering or query parameters, no write access, no rate limit beyond normal static-hosting behavior.

Available endpoints

Every endpoint below returns the exact same data that drives openhaven.net, at a stable URL, grouped by the kind of thing it serves; each group ends with the data dictionary that explains its fields. Full machine-readable details — including the current endpoint list — live at the discovery document linked below.

Tech Tools (matrix entries)

The tech tools in the convergence matrix, which include protocols and the other entity types (platforms, applications, infrastructure and more): the full list, a single entry, a view filtered by entity type, and the definitions of their attributes. The URLs say "protocols" for historical reasons, but they cover every entity type.

/api/protocols.json

All entity entries in the matrix.

/api/protocols/{id}.json

A single entity entry by id.

/api/protocols/type/{id}.json

Entity entries filtered to a single entity type.

/api/tool-relationships.json

The reviewed relationships of each tech tool that has any (built on, requires, stewarded by, ...): one entry per tool, each relation with its type, direction, the other end and an optional brief note. Derived from the graph snapshot; reviewed relationships only.

/api/attribute-defs.json

Definitions and metadata for the attribute fields used on entity entries.

Reference data

The vocabularies the matrix is organized by: use-case domains, affordances and entity types.

/api/domains.json

Use-case domains that entities are mapped to.

/api/affordances.json

Affordances (capabilities) that entities provide.

/api/entity-types.json

Entity-type definitions (the categories entities are classified under).

Monetary Architecture

The monetary mechanisms: the full list, a single mechanism, and a data dictionary for their fields and values.

/api/monetary-architecture.json

All Monetary Architecture mechanism entries.

/api/monetary-architecture/{id}.json

A single Monetary Architecture mechanism entry by id.

/api/monetary-architecture-defs.json

Definitions of the Monetary Architecture mechanism fields and their values, in the order the schema declares them.

Organization & Governance Models

The organizational and governance model types: the full list, a single type, and a data dictionary for their fields and values.

/api/organization-types.json

All Organization & Governance Model types, with every field.

/api/organization-types/{id}.json

A single Organization & Governance Model type by id.

/api/organization-types-defs.json

Definitions of the Organization & Governance Model fields and their values, in the order the schema declares them, with the data file's title, summary, last-updated date and prose-dimension labels.

Site content (the text of every page)

The text of every public page, published as static files: an index of all pages, and one file per page and language for the prose pages. Pages that are views of a structured record (a tool, a domain) are listed with a pointer to their data file instead. Interactive views have no prose beyond what they say; images and diagrams are not interpreted; forms are described, not operated.

/api/site/index.json

The index of every public page and language: a stable page id (not the URL), title, description, kind (prose, data-derived, interactive, form), the heading outline, word count, whether the page is in the public sitemap (listed), the data file that holds its substance (dataTool), a content hash and the build time.

/api/site/pages/{locale}/{id}.json

The text of one page as ordered sections (heading, level, text) with the page ids it links to. locale is en, es or pt-BR; in the file name the slashes of the page id are written as two underscores (research/peerfunding is research__peerfunding.json). The index lists the exact file for each page.

The graph (relationships)

How the tech tools, use case domains, affordances, stack layers, organizations and suites connect: a reviewed snapshot of the OpenHaven graph, with the source, confidence and review status of each relationship. The core file is what the Graph Explorer loads first; the other relationship types are separate small files, fetched on demand.

/api/graph.json

The complete graph snapshot: every node and every relationship, with provenance (source, asserter, date, review status, confidence). Exported from the graph database and reviewed like any other data change.

/api/graph-core.json

The first-view subset: every node plus the core relationship types (suite membership, layer positions, affordance and use case domain links, entity types). Each node has relCounts: how many relationships of each type it has in the full graph.

/api/graph/manifest.json

The index of the graph files: each relationship type with its count, size and path, the core types, and the date of the snapshot.

/api/graph/index.json

The machine-readable description of the graph API: files, node kinds, relationship types, the query parameters (kinds, rel, q, node and hops, direction, review, limit and the connected-to filters), limits and rules. The Graph Explorer page uses the same parameters in its URL.

/api/graph/rel-{type}.json

All relationships of one non-core type, for example /api/graph/rel-standardized_at.json (type in lower case; the manifest lists them). Core types are in /api/graph-core.json.

/api/graph-defs.json

Definitions of the graph: what each node kind, field, vocabulary value and relationship type means. There is no rank, weight or score anywhere in the graph.

Graph query parameters

The Graph Explorer page and the graph API share one set of parameters, so a page URL means the same thing as an API query. There is no query language: only these parameters, and unknown ones are rejected. The parameter descriptions below are in English.

ParameterMeaningDefault
kindsNode kinds to include, comma separated. Concepts (vocabulary) are off by default. (tool, layer, domain, affordance, organization, suite, entityType, concept)tool,layer,domain,affordance,organization,suite,entityType
relRelationship types to include, comma separated, from the types listed here (for example BASED_ON). Omitted means every type that is loaded.every loaded relationship type
qText search over name, label and abbreviation. Matched literally, case-insensitively, never as an expression; at most 100 characters.
nodeStart of a neighbourhood query: a node iri (for example ohe:nostr) or its site id (nostr). An unknown node returns an empty result with a message.
hopsHow many relationship steps from node, 1 to 3 (larger values are capped). Needs node.1
directionWhich way a neighbourhood follows relationships: both ways, outgoing only, or incoming only. (any, out, in)any
entityTypeOnly tools connected to this entity type (id such as p2p-protocol, or the iri).
domainOnly tools connected to this use case domain (slug, or the iri).
affordanceOnly tools connected to this affordance (id, or the iri).
layerOnly tools connected to this stack layer (id such as l4, or the iri).
orgOnly tools connected to this organization (id, or the iri).
suiteOnly tools connected to this suite (id, or the iri).
reviewreviewed: a person approved the relationship, or it comes straight from the catalog. unreviewed: suggested by an agent and not yet reviewed. (any, reviewed, unreviewed)any
limitCap on nodes returned (maximum 1000). The result says when it was cut.200

Examples (open them in the Graph Explorer)

Where the data comes from

Every value served by this API traces back to the same human-verified, transparently-sourced, contributor-attributed data described on our process page — nothing here is generated or served differently than what you see on the site itself.

Read more about our process →

Machine-readable spec

The endpoint list above is for humans. For the canonical, machine-readable description of this API — endpoints, data governance, and access notes as JSON — use the discovery document:

/api/index.json →