---
title: "Export project traces (async)"
method: POST
path: "/v1/projects/{projectSlug}/traces/export"
tags: ["Traces"]
---

# Export project traces (async)

`POST /v1/projects/{projectSlug}/traces/export`

Enqueues a CSV export of the traces matched by `traces`. The export runs asynchronously; a download link is emailed to `recipient` when the file is ready. The response returns immediately with `status = "queued"`. The recipient must already be a member of the requesting organization.

## Path parameters

- `projectSlug` string, required — Project slug (human-readable identifier)

## Request body

- ExportTracesBody
  - `traces` union, required — Which traces to include in the export — either explicit ids or a filter set.
    - object
      - `by` 'ids', required — Match an explicit list of traces by their identifiers. Pair with `ids`.
      - `ids` string[], required — Non-empty list of trace identifiers.
    - object
      - `by` 'filters', required — Match every trace produced by a filter set. Pair with `filters`; result count is not bounded.
      - `filters` FilterSet, required — Filter set keyed by field name. Each entry holds an array of conditions ANDed together for that field; field-level groups are also ANDed across the set.
  - `recipient` string, email, required — Email address the export download link is sent to. Must belong to a member of the requesting organization — otherwise the request is rejected with 400.

## Response `202`

Export enqueued

- ExportTracesResponse
  - `status` 'queued', required — Always `"queued"`. The CSV is built asynchronously and emailed to `recipient` when ready.

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `404` — Not found
- `429` — Export rate limit exceeded

---

[API](https://skmtc.net/latitude-dev/apis/latitude.md) · [All operations](https://skmtc.net/latitude-dev/apis/latitude/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/latitude-dev/latitude/versions/6a8789c59a5c/schema)
