Console

Console

The API, made operable

Every view here is one endpoint, rendered the way that endpoint's answer is actually shaped. Depth-based traversals get a 3D graph; ordered chains stay flat and readable. The graph holds npm and PyPI side by side.

Services0
Production0
Ecosystemsnpm · pypinpm: / pypi: key prefixes
Graph modelwhat every query walks
(:Package)-[:HAS_VERSION]->(:Version)
(:Version)-[:DEPENDS_ON]->(:Version)
(:Service)-[:DEPENDS_ON_VERSION]->(:Version)
(:Maintainer)-[:MAINTAINS]->(:Package)

Traversal runs level by level rather than as a variable-length Cypher path, which is why every response carries an explicit hop depth — and why this console can lay it out in space. Version keys are prefixed npm: or pypi:, which is the only thing separating the two ecosystems in the graph.

Rest of the surface
routedoes
GET /healthliveness
GET /packages/:namepackage info and known versions
GET /versions/:key/dependenciesdirect dependencies of one version
GET /packages/:name/:version/riskrisk addressed by package and version
GET /packages/:name/:version/ingestcrawl npm and write the graph (writes)
GET /pypi/:name/:version/ingestcrawl PyPI and write the graph (writes)
POST /servicesregister a service and its dependencies (writes)