Skip to content

Audit Log

Query mutating API operations and auth lifecycle events for your organization. Entries are ordered newest-first and clamped to the per-tier retention window.

Retention windows

| Plan | Retention | |------|-----------| | Free | 3 days | | Pro | 90 days | | Custom | Per contract |

GET /v1/audit-log

| Parameter | Type | Description | |-----------|------|-------------| | from | ISO-8601 datetime | Lower bound (inclusive). Silently clamped to the retention window if older. | | to | ISO-8601 datetime | Upper bound (inclusive). Defaults to now. | | action | string | Filter by exact action (see Action types). | | actor_key_prefix | string | Filter by the first 20 chars of the actor API key. | | cursor | string | Opaque pagination cursor from a previous response. | | limit | integer (1–200) | Page size. Defaults to 50. |

| Action | Trigger | |--------|---------| | auth.signup | Organization registered | | auth.signin | Successful sign-in | | auth.signout | Sign-out | | auth.failure | Invalid API key on an authenticated route | | key.create | Agent-scoped key created | | key.delete | Agent-scoped key revoked | | key.regenerate | Org key regenerated | | org.update | Org name or settings changed | | account.delete | Account deleted | | agent.create / .update / .delete | Agent CRUD | | calendar.create / .update / .delete | Calendar CRUD | | event.create / .update / .delete | Event CRUD | | webhook.create / .update / .delete | Webhook subscription CRUD | | ical_subscription.create / .update / .delete | iCal subscription CRUD | | rate_limit.exceeded | Request throttled (429) |

Terminal window
curl "https://api.chronary.ai/v1/audit-log?limit=20" \
-H "Authorization: Bearer chr_sk_your_key_here"
{
"data": [
{
"id": "aud_abc123def456",
"action": "agent.create",
"actor_key_prefix": "chr_sk_abcdef12345678",
"agent_id": null,
"resource": "",
"ip": "203.0.113.10",
"status": 201,
"method": "POST",
"path": "/v1/agents",
"duration_ms": 42,
"request_id": "req_8e9f...",
"created_at": "2026-05-10T10:00:00.000Z"
}
],
"pagination": {
"next_cursor": null
},
"retention_days": 90,
"range_clamped": false
}

| Field | Type | Description | |-------|------|-------------| | data | array | Array of audit entries, newest first. | | pagination.next_cursor | string | null | Pass this as cursor to fetch the next page. null = no more results. | | retention_days | integer | null | Your plan’s retention window (days). null = unlimited. | | range_clamped | boolean | true when the requested from was outside the retention window and was automatically clamped. |