---
title: "List audit-log entries"
method: GET
path: "/v1/audit-log"
tags: ["Audit Log"]
---

# List audit-log entries

`GET /v1/audit-log`

## Request

- Base URL: `https://api.chronary.ai`
- URL: `https://api.chronary.ai/v1/audit-log`
- Auth: HTTP bearer

Returns mutating API operations and auth lifecycle events for the calling organization, clamped to the per-tier retention window (Free: 7d, Pro: 90d, Custom: per-contract). Only org-level API keys may call this endpoint — agent-scoped keys receive 403.

## Query parameters

- `from` string, date-time: Lower bound (inclusive). Clamped to retention window if older.
- `to` string, date-time: Upper bound (inclusive). Defaults to now.
- `action` string: Filter by exact action name, e.g. `agent.create`.
- `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: Page size (1–200). Defaults to 50.

## Response `200`

Audit-log page

- AuditLogResponse
  - `data` AuditLogEntry[], required
    - `id` string, required
    - `action` string, required
    - `actor_key_prefix` string, nullable, required
    - `agent_id` string, nullable, required
    - `resource` string, nullable, required
    - `ip` string, nullable, required
    - `status` integer, required
    - `method` string, required
    - `path` string, required: Route template (entity IDs replaced with `:id`).
    - `duration_ms` integer, required
    - `request_id` string, nullable, required
    - `created_at` string, date-time, required
  - `pagination` object, required
    - `next_cursor` string, nullable, required: Opaque cursor for the next page. Null if no more results.
  - `retention_days` integer, nullable, required: Audit-log retention window for the caller plan (days). Null = unlimited (Custom plan).
  - `range_clamped` boolean, required: True when the requested `from` was outside the retention window and the server clamped it. UI uses this to render an upgrade hint.

## Other responses

- `400`: Invalid query parameters
- `401`: Unauthorized — missing or invalid API key
- `403`: Agent-scoped key cannot access this resource
- `429`: Rate limited — 10 requests per second per key exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/chronary/apis/chronary-api.md) · [All operations](https://skmtc.dev/chronary/apis/chronary-api/llms.txt) · [OpenAPI document](https://skmtc.dev/chronary/apis/chronary-api/revisions/0d1a330294ae?raw)
