Skip to main content
Returns a tar.gz of a FactBlock bundle in the JSONL profile: a manifest with the declarations, plus nodes.jsonl, edges.jsonl, and resolutions.jsonl. The factblock library converts it to the Parquet profile. Every row carries known_at and the backfill batch that attests it, so the file answers as-of reads without this server. Unlike the other reads, export does not select on validity. A bundle is the ledger, not a view of it; the reader applies valid_at itself.

Query parameters

timestamp or date
required
Only rows learned at or before this instant are exported. Rows learned later are absent from the file, so a bundle exported as of T never leaks what was learned after T.
string
Scope to one space: its nodes, the edges between them, and the resolutions on them. Omit for the whole tenant.
string
Scope to one topic label: those nodes, the edges between them, and the resolutions on them. Combines with space.

Response

200 application/gzip, Content-Disposition: attachment; filename="factblock.tar.gz". The archive unpacks to one directory, factblock/. Embeddings are not exported. The bundle declares no embedding model, so the vectors would not be usable (declarations.embedding is null).
The validator checks the five FactBlock invariants (three clocks, attested knowledge time, append-only, typed edges, declared facts). An export from tckg passes all of them; the smoke suite proves the round trip on every commit.