Module · Machine access
API-Spine
The machine-readable spine (OpenAPI) behind this website's facades.
prepared Machine access licence not declared in the crate (corpus: Apache-2.0) no public endpoint Source on GitHub
L2.5 · registry/api
Start now
Requirements:
- Rust (stable via rustup) and Git; every command runs from the root of the corpus checkout.
cargo run --locked --manifest-path registry/api/spine/Cargo.toml -- serve --root . --port 8710Expected: oh-api serving on 127.0.0.1:8710
Download
- Source
- https://github.com/OpenHelvetia/api-spine-oh · registry/api
- Release
- not yet No tagged release yet; the first follows the publication lane.
- Container image
- not yet No container image published yet.
- Crate
- not applicable — the module is not a library crate
git clone https://github.com/OpenHelvetia/api-spine-oh
Dependencies
- Needs
- Registry-Standard draft
- Needed by
- MCP-Gateway prepared · A2A-Agent prepared
- Documentation
- the page in the documentation
State and evidence
prepared — built and tested, not publicly served.
Every piece of evidence carries its source. Values marked «recounted» are counted from the source at every build; if the figure differs, the build fails.
| Measure | Value | Source |
|---|---|---|
| Operations | 14 14 Operationen in openapi.json (OpenAPI 3.0.3, 19 Komponenten-Schemas), 14 Zeilen im Fähigkeitsregister, 1:1 durch einen Test bewiesen recounted: jq '[.paths[] | to_entries[] | select(.key | IN("get","post","put","delete","patch"))] | length' registry/api/openapi.json |
registry/api/openapi.json |
| Generated client | generated from the specification (progenitor =0.14.0), never touched by hand, 1462 lines; the specification itself comes from the code (dropshot =0.17.1) | registry/api |
| Drift gates on every commit | four emitted-against-committed comparisons, all four green: OpenAPI specification, generated client, RFC 9728 metadata, tool inventory | registry/api |
| Data source | the register repository itself, strictly read-only — no write path in the code; /directory serves the two own entries in the shape of the directory schema, /ns/artifacts mirrors the 8 rows of the seal register | registry/api |
| Shared contract | the API's directory envelope is validated against the same registry/standard/directory.schema.json from which the website stamps its own envelope — a shared schema instead of copied logic | registry/api |
| Capability register | 14 rows: 8 covered over MCP and the client, 6 login rows (REST and UI, never MCP); the tests check against the register, not against a fixed number | registry/api/spine/src/lib.rs |
What is missing
- until in operation: The spine is reachable at no public address: oh-api serve binds to 127.0.0.1, serving rides the ld.* switch-on, and the website shares only the schema with it. The published coverage number is currently unproven — the end-to-end test that walks every register row through the generated client fails on a hardcoded 8, and registry/api/README.md still names five capabilities and «api-client 5/5 = 100 %» while the register holds fourteen rows.
History
- 2026-09-03 Source published as its own repository on GitHub (publication lane, wave 2).
Documentation
- API-Spine in the documentation: what it does, run, test, call
- Run it yourself · Test · Call