Read the AI audit log
const url = 'https://api.aletheia-ops.com/api/v1/ai/audit';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.aletheia-ops.com/api/v1/ai/audit \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”OK
A page of AI audit exchanges.
object
One question-and-answer exchange, with every grounding query it ran.
object
One message in a conversation.
object
Answer text. Citation markers appear as [n] and refer to evidence entries.
One citation backing a claim in an answer. The superscript [n] in the message content refers to this entry.
object
Citation number, 1-based.
In-product path to the cited record.
When the cited record was last observed. Null when the record carries no freshness.
Confidence of the underlying record, where it has one.
Grounding tool that returned this record.
A structured region of an answer, built from query results rather than composed freely.
object
One column header in a structured answer block.
object
Rows of cells, in column order.
Token and tool-round accounting for one assistant message.
object
Grounding steps behind this message. Present on the conversation detail response only.
One grounding query the assistant ran while answering. Inputs and results are omitted here — they are in the AI audit log.
object
Human-readable name for the step.
A conversation as it appears in the rail — no messages.
object
First line of the last message.
Present only on archived conversations.
One recorded grounding query, with its input and a summary of what it returned.
object
object
object
Pass as cursor for the next page. Empty when there are no more.
Example
{ "exchanges": [ { "message": { "role": "user", "evidence": [ { "entity_type": "resource" } ], "steps": [ { "status": "ok" } ] } } ]}No valid credential was presented, or it has expired.
object
Stable, machine-readable identifier. Branch on this.
Human-readable explanation. Safe to display; do not parse.
Examples
{ "code": "unauthorized", "message": "authentication required"}{ "code": "invalid_credentials", "message": "invalid email or password"}{ "code": "invalid_token", "message": "invalid or expired token"}{ "code": "token_reuse", "message": "session revoked"}{ "code": "webhook_unauthorized", "message": "webhook verification failed"}Authenticated, but not permitted to perform this action.
object
Stable, machine-readable identifier. Branch on this.
Human-readable explanation. Safe to display; do not parse.
Examples
{ "code": "forbidden", "message": "you do not have permission to perform this action"}{ "code": "csrf_failed", "message": "missing or invalid CSRF token"}{ "code": "account_deactivated", "message": "your account is deactivated; contact your administrator"}{ "code": "ai_disabled", "message": "the AI assistant is disabled for this organization"}An unexpected failure. Diagnostic detail is logged server-side and
deliberately not returned. Quote the X-Request-Id response header when
reporting one.
object
Stable, machine-readable identifier. Branch on this.
Human-readable explanation. Safe to display; do not parse.
Examples
{ "code": "internal_error", "message": "internal server error"}