Skip to content

Audit log export

GET /v1/audit/export?from=2026-01-01T00:00:00Z&to=2026-04-01T00:00:00Z&format=csv
Authorization: Bearer fmk_...

Streams a downloadable file with one row per chain operation:

ColumnNotes
idInternal audit row UUID. Use for deduplication if reconciling against the chain.
createdAtISO 8601 (UTC).
eventTypeattestation.created, attestation.revoked, or batch.completed.
modeonchain or offchain.
schemaTypehuman or ai.
uid, contentHash, attesterEAS fields.
modelId, provider, promptHashAI Proof fields.
refUIDParent attestation, if any.
txHashOn-chain transaction hash. Empty for off-chain envelopes.
  • Defaults: last 90 days → now.
  • Maximum range per request: 90 days. Paginate older history by adjusting from and to.
  • Order: oldest-first inside the response.
?format=csv # default; comma-separated, RFC 4180 escaping
?format=json # { range: { from, to }, items: [...] }

Per-key isolation is enforced: you only see your own key’s events. The exported records are derived from the API’s local DB; the chain remains the source of truth, and the on-chain record can always be cross-checked via verify(uid) or block explorers.

The columns are chosen to satisfy the documentation requirements of EU AI Act Art. 12 (record-keeping) and Art. 50 (transparency obligations for AI-generated content). Each AI Proof row carries modelId, provider, and promptHash: sufficient to demonstrate which model produced which artifact and that the prompt has been preserved (hashed) for downstream audit.

Disclaimer: this is implementation-aligned, not legally certified. Get your own counsel.