audit_export
Returns NDJSON (one JSON object per line) of audit log entries. Each entry records
the operation called, the identity, hashes of the request and response, duration,
and an Ed25519 signature over the canonical entry JSON. Entries are hash-chained:
each entry's prev_entry_hash is SHA-256 of the previous entry's signature,
making deletion of any entry detectable offline.
Authenticated callers receive only their own entries (identity_sub match).
Admin key holders receive all entries.
Use this tool when:
You want a tamper-evident record of your own API calls.
You are auditing a sequence of requests for compliance or debugging.
You want to verify the audit chain integrity offline.
Do NOT use this tool when:
You are anonymous — authentication is required.
You want task status — use
get_taskinstead.
Inputs:
from(query, optional): ISO 8601 start datetime. Default: 7 days ago.to(query, optional): ISO 8601 end datetime. Default: now.limit(query, optional): Max entries. 1–5000, default 1000.
Returns:
NDJSON stream, one
AuditEntryper line.X-Total-Countresponse header with entry count.X-Took-Msresponse header.
Verify the chain offline:
For each consecutive pair (A, B):
SHA-256(A.signature) == B.prev_entry_hash.For each entry: verify Ed25519 signature against public key in
/.well-known/atap.json.
Cost:
Counts as one request against the daily limit.
Latency:
Typical: <300ms for 1000 entries, p99: <1s.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | ||
| from | No | ||
| limit | No |