Docs/Core Concepts/Audit Logging
Core Concepts6 min read

Audit Logging

Every query executed through conexor.io is logged with a full trace — who called it, when, what tool, and what the outcome was.

What is logged

Every MCP tool call that results in a query execution produces an audit log entry. Entries are immutable — once written, they cannot be modified or deleted before the retention period expires.

FieldTypeDescription
timestampdatetimeUTC time the query was executed
actionenumType of event (e.g. QueryExecuted, SchemaDiscovered)
modelstring?AI model that triggered the query (e.g. claude-opus-4-5)
user_emailstring?Email of the user associated with the request
plugin_iduuidThe plugin that executed the query
data_source_iduuidWhich data source was queried
query_template_hashstringSHA hash of the query template (not the full SQL)
parameter_countintegerNumber of parameters passed
row_countintegerNumber of rows returned
execution_time_msintegerQuery execution time in milliseconds
successbooleanWhether the query succeeded
error_messagestring?Error details if success = false
INFOThe actual query result data (rows) is never stored in the audit log. Only metadata is retained — row count, execution time, and whether the query succeeded.

Event types

The action field distinguishes between different types of events:

QueryExecutedA parameterized SELECT query ran successfully
ParameterizedQueryExecutedExplicit parameterized execution (v1.3+)
QueryFailedA query ran but returned an error
QueryRejectedA non-SELECT query was blocked by write protection
SchemaDiscoveredSchema sync completed for a data source
ApiRequestExecutedAn API data source request completed
PluginConnectedA agent agent came online
PluginDisconnectedA agent agent went offline (graceful or error)

Viewing logs in the dashboard

Go to Audit Log in the sidebar. Logs are displayed in reverse-chronological order and can be filtered by:

  • Date range
  • Agent
  • Data source
  • Action type
  • Success / failure

Querying logs via API

List audit logs

bash
curl -X GET "https://app.conexor.io/api/audit-logs?page=1&pageSize=50" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Response format

json
{
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "timestamp": "2026-02-19T14:22:01Z",
      "action": "QueryExecuted",
      "pluginId": "...",
      "dataSourceId": "...",
      "queryTemplateHash": "A3F9C21B",
      "parameterCount": 2,
      "rowCount": 47,
      "executionTimeMs": 12,
      "success": true
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "total": 1284
  }
}

Retention and export

Audit log retention is determined by your plan:

Free7 days
Pro90 days
Team1 year
EnterpriseConfigurable

You can export the full audit log as CSV or JSON from the dashboard (Audit Log → Export) or via the API. Exports are scoped to your retention window.

TIPIf you need to retain logs beyond your plan limit for compliance reasons, use the export API to forward logs to your own storage (S3, Datadog, a SIEM) before they expire.

© 2026 conexor.io

All systems operational
Relay

Quick questions

Relay

Quick questions