---
title: "Export audit entries as NDJSON"
method: GET
path: "/v1/projects/{project_id}/audit-log/export"
tags: ["Audit Log"]
---

# Export audit entries as NDJSON

`GET /v1/projects/{project_id}/audit-log/export`

## Request

- Base URL: `https://api.naturali.ai`
- URL: `https://api.naturali.ai/v1/projects/{project_id}/audit-log/export`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.naturali.ai/authorize`, token URL `https://api.naturali.ai/token`, scopes: `mcp:access`)

Streams a project's audit-log entries as newline-delimited JSON — one entry object per line, oldest first — for archival before the retention window expires, or for shipping into an external system. `project_id` is required: the export is per-project by design. Filters behave exactly as they do on the list endpoint.

## Query parameters

- `action` string
- `principal_id` string
- `resource_public_id` string
- `resource_srn` string
- `from` string, date-time
- `to` string, date-time

## Response `200`

A newline-delimited stream of audit entries. Each line is a JSON object with the same fields as `AuditEntry`.

## Other responses

- `400`: `project_id` is required, or `from`/`to` is present but not a valid ISO 8601 date
- `401`: Unauthorized
- `403`: Forbidden

---

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