prev_hash pointer, forming a tamper-evident chain that gateway observers can independently verify. Three HTTP surfaces expose this log: a query endpoint, an export endpoint for signed snapshots, and a WebSocket stream for real-time consumers. A separate audit log records control-plane operations.
GET /v1/events
Returns a paginated list of events from the local event log. You can filter the results to a specific point in time using asince query parameter.
Query Parameters
string
ISO 8601 timestamp. Only events recorded after this point are returned. Omit to retrieve the full log from genesis.Example:
?since=2024-11-01T00:00:00Zinteger
Maximum number of events to return in a single response. Defaults to
100. Use in combination with since for pagination.string
Filter by event type string (e.g.
mission.accepted, payment.settled, peer.connected). Omit to return all event types.Response Fields
array
Ordered array of event objects, oldest first.
string
Unique event identifier (content-addressed hash).
string
Event type string in dot-notation (e.g.
"mission.accepted").string
ISO 8601 timestamp of when the event was recorded.
string
Hash of the immediately preceding event in the chain. Forms the tamper-evident linkage.
string
Ed25519 signature over the event payload, verifiable against the node’s
public_identity key.object
Event-specific data. Shape varies by
type.integer
Total number of events matching the query (before
limit is applied).Example Response
GET /v1/events/export
Returns a signed snapshot of the node’s complete public event history. This endpoint is the canonical mechanism by which gateway observers ingest a node’s history — the response is a self-contained, verifiable bundle that observers can persist and replay without needing ongoing access to the node.Response Fields
string
Unique identifier for this particular export snapshot.
string
The exporting node’s agent DID.
string
ISO 8601 timestamp at which the snapshot was sealed.
array
The full ordered event chain, identical in structure to the events returned by
GET /v1/events.string
Hash of the genesis event — the root of the chain.
string
Hash of the most recent event at the time the snapshot was sealed.
string
Signature over the entire bundle (root hash + tip hash + generated_at), allowing observers to verify the snapshot as a whole without re-checking every individual event signature.
Gateway observers verify the
bundle_signature first, then walk the prev_hash chain from tip to root to confirm internal integrity. If any link is broken the entire snapshot should be treated as invalid.GET /v1/stream (WebSocket)
Opens a persistent WebSocket connection and delivers events in real time as they are appended to the log. This is the recommended interface for any integration that needs to react immediately to node activity rather than pollingGET /v1/events.
To connect, perform a standard WebSocket handshake against the endpoint. Pass your Bearer token in the Authorization header during the upgrade request:
events array from GET /v1/events. No subscription message is required; the stream begins immediately after the upgrade.
GET /v1/audit
Returns the control-plane audit log — a separate append-only record of administrative actions taken against the node’s API (configuration changes, token rotations, policy updates, and similar operations). Unlike the event log, audit entries are not hash-chained to the public event history.Query Parameters
string
ISO 8601 timestamp. Only audit entries recorded after this point are returned.
string
Filter by action type string (e.g.
"policy.updated", "token.rotated").Response Fields
array