---
title: "Export the activity feed as NDJSON"
method: GET
path: "/v1/projects/{project_id}/activity/export"
tags: ["Activity"]
---

# Export the activity feed as NDJSON

`GET /v1/projects/{project_id}/activity/export`

## Request

- Base URL: `https://api.naturali.ai`
- URL: `https://api.naturali.ai/v1/projects/{project_id}/activity/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 activity entries as newline-delimited JSON — one entry object per line, **oldest first**, where the feed itself reads newest first: a feed answers what just happened, and a file is read start to end. `project_id` is required: the export is per-project by design. Filters behave exactly as they do on the list endpoint.

## Query parameters

- `kind` string
- `severity` string
- `agent_id` string
- `generation_id` string
- `orchestration_run_id` string

## Response `200`

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

## Other responses

- `400`: `project_id` is required
- `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)
