HTTP API
The gateway's client-facing HTTP routes are JSON APIs. The generated
OpenAPI document is authoritative for schemas and response
codes. Hashes in documented requests and paths are 64-character hexadecimal
SHA-256 values without a 0x prefix.
Health and configuration
| Method | Path | Result |
|---|---|---|
GET |
/health |
{"status":"ok"} when healthy |
GET |
/v1/config |
Informational NetworkConfigPublic |
GET |
/v1/network |
Secret-free NetworkVerificationConfig |
Attestation and verification
| Method | Path | Result |
|---|---|---|
POST |
/v1/attestations |
Create or retrieve an idempotent attestation job |
GET |
/v1/attestations/{hash} |
Read a durable job snapshot |
POST |
/v1/verify |
Gateway verification opinion for a SignedAttestation |
POST /v1/attestations accepts {"hash":"<hex>","freebird_token":...}.
It returns 200 for a terminal job, 202 for pending/retryable work, and
may return 429 for rate limiting. The gateway receives the digest, not the
source content.
Proofs and anchors
| Method | Path | Result |
|---|---|---|
GET |
/v1/bundle/{hash} |
Full ProofBundle |
GET |
/v1/proof/{hash} |
Batch MerkleProofResponse |
GET |
/v1/anchors/{hash} |
External-anchor proof array |
The full bundle may be confirmed before batching; in that case its optional
batch inclusion is null. The anchors route returns [] for a known but
unbatched attestation and 404 for an unknown one.
Transparency log
| Method | Path | Result |
|---|---|---|
GET |
/v1/log/sth |
Latest signed tree head |
GET |
/v1/log/sth/{tree_size} |
Historical STH at an exact size |
GET |
/v1/log/consistency?first={first}&second={second} |
RFC 9162 consistency proof |
GET |
/v1/log/proof?hash={hash}&tree_size={tree_size} |
RFC 9162 inclusion proof |
For the WebSocket event stream, use /ws/events and the
AsyncAPI document. Operator-only federation, admin, and
metrics routes are outside this client-facing inventory.