Documentation

Overview

Tutorials
How-to guides
Infrastructure
Reference
Explanation
On this page

What it does

The API spine is the one typed core behind the facades: the REST specification is emitted from code, the client is generated from the specification, and the MCP tool surface binds to the same functions — never a second implementation of the same semantics. Fourteen operations, each mapped to exactly one row of a capability register that lives in code; a test proves register and specification cover each other exactly rather than asserting it in prose. The data source in this phase is the registry repository itself, strictly read-only: there is no write path in the code, and /directory serves zero entries today. On every commit four comparisons run between what the code emits and what is committed — specification, generated client, RFC 9728 metadata and the tool inventory; any difference stops the commit. What the spine does not do: serve anything outwards — oh-api serve binds to 127.0.0.1, and the website builds its facades statically and never calls it; what they share is the schema, not the process.

Run it yourself

You need:

  • Rust (stable via rustup) and Git; every command runs from the root of the corpus checkout.

From the root of the corpus checkout, line by line:

cargo run --locked --manifest-path registry/api/spine/Cargo.toml -- serve --root . --port 8710

Then you should see:

oh-api serving on 127.0.0.1:8710

Test

cargo test --locked --manifest-path registry/api/spine/Cargo.toml
  • Runs without network: every answer comes from the repository, the result is the same every run.

Call

  • Public: not yet — No public endpoint: zone, route and deployment are not switched on.
  • Local: http://127.0.0.1:8710

Contracts

  • OpenAPI 3.0.3 registry/api/openapi.json
  • Generated client registry/api/client

The capability register

curl -s http://127.0.0.1:8710/capabilities

Response (excerpt):

[{"id":"meta.capabilities","operation_id":"get_capabilities","method":"GET","path":"/capabilities","summary":"The machine-readable capability register with published client coverage", …}, … 14 rows]

Usage and options

usage: oh-api emit-openapi | serve --root <dir> [--port <n>]

Contribute

Changes go through merge requests and the same gates as the association's own: formatting, Clippy without warnings, tests, seal and drift checks. Security reports, in confidence, to [email protected].

The base tier costs nothing; what the operation lives on is under About us, Financing.

Module card

State, evidence, download and dependencies are on the infrastructure page: API-Spine.