Skip to content

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.