API Reference
The real HTTP surfaces ABS Core exposes today, service by service — not a unified REST gateway.
API Reference
There is no single /v1/* REST gateway in this repository. ABS Core ships as several
independent services, each with its own HTTP surface, plus a client SDK that expects
you to run a governance-gateway endpoint. This page maps what actually exists in the
code today.
Services with a real HTTP API
| Service | Stack | Source | Purpose |
|---|---|---|---|
| LEDGER | Hono, Cloudflare Worker | LEDGER/src/index.ts | Immutable audit chain — write blocks, verify chain integrity, Merkle proofs, forensics reports. |
| QUORUM (approval router) | Hono | QUORUM/src/routes/approval.ts | M-of-N human approval requests for high-risk actions (Gate 08). |
| telemetry-svc | Rust / Axum | abs-core/modules/telemetry-svc | Ingests sanitized telemetry events. |
QUORUM ships two implementations side by side: a Hono router (routes/approval.ts,
routes/dashboard.ts) and a separate QuorumStore / QuorumRedisStore class in
QUORUM/src/index.ts — the file wrangler.toml actually points main at. As of this
audit, index.ts exports no fetch handler mounting the Hono routers. Verify wiring in
your deployment before depending on the approval endpoints documented here.
Authentication
- LEDGER:
x-api-keyheader, checked in constant time againstLEDGER_API_KEY(falls open with a warning if the env var is unset — development only). - Cross-service calls (LEDGER ↔ QUORUM, etc.):
X-ABS-IPC-HMAC/X-ABS-IPC-Timestampheaders per SI-003 — see Authentication. - SDK client:
X-ABS-API-Key/X-ABS-Agent-IDheaders, set once atABSClientconstruction.
The SDK is a client, not a hosted API
@abs-core/sdk (abs-core/packages/sdk/src/index.ts) does not talk to LEDGER, QUORUM,
or telemetry-svc directly. It expects a governance-gateway endpoint you deploy yourself
(ABSClientConfig.endpoint) implementing:
POST /v1/authorizePOST /v1/cognition/vaccinatePOST /v1/memory/memorizeGET /v1/heartbeat
No service in this repository currently implements that surface. abs-core/packages/mcp-gateway
is the closest analog, but it is an in-process library (AbsMcpGateway.interceptToolCall()),
not an HTTP server — see Proxy / MCP Gateway.
Decision pipeline
Governance decisions are not made over a documented HTTP endpoint. They happen in-process,
one function call per tool invocation — GatewayPipeline.execute() in
QUORUM/src/gateway/gateway-pipeline.ts, which runs the 11-gate pipeline. See
Decision Engine.
Explore the endpoints
Proxy / MCP Gateway
What mcp-gateway actually does — an in-process MCP tool-call interceptor, not an HTTP proxy.
Decision Engine
The real 11-gate GatewayPipeline.execute() call, not a /v1/decide HTTP endpoint.
Events (LEDGER)
POST /record, GET /verify, GET /blocks, GET /merkle/root, and the rest of LEDGER's real surface.
Authentication
LEDGER's x-api-key check, IPC-HMAC between services, and the SDK's client headers.
Policies
Why there is no policy CRUD API — policies are Rego bundles loaded by the WASM engine.
Agents & Approvals
QUORUM's M-of-N approval router and the SDK's heartbeat() / authorize() calls.