---
title: "List trace deletions"
method: GET
path: "/v1/projects/{projectSlug}/trace-deletions"
tags: ["Trace deletions"]
---

# List trace deletions

`GET /v1/projects/{projectSlug}/trace-deletions`

## Request

- Base URL: `https://api.latitude.so`
- URL: `https://api.latitude.so/v1/projects/{projectSlug}/trace-deletions`
- Auth: HTTP bearer

Returns the project's trace deletions, newest first. Each one records what was selected, who requested it, and how much was deleted, so it can serve as evidence of erasure.

## Path parameters

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

## Query parameters

- `cursor` string: Opaque cursor returned in a previous response's `nextCursor`. Omit on the first page.
- `limit` integer: Page size. Defaults to 20; max 100.

## Response `200`

Page of trace deletions

- ListTraceDeletionsResponse
  - `items` TraceDeletion[], required: The project's trace deletions, newest first.
    - `id` string, required: Trace deletion identifier. Use it to poll the deletion with `getTraceDeletion`.
    - `status` 'pending' | 'running' | 'completed' | 'failed', required: `pending` until work starts, `running` while traces are being deleted, then `completed` or `failed`. Deletion is irreversible: traces deleted before a failure stay deleted.
    - `filters` object, required: The trace filter the deletion selects with, including any explicit trace ids as a `traceId` condition. Only traces that started before `createdAt` are deleted.
    - `includeDatasetRows` boolean, required: Whether dataset rows copied from the deleted traces are deleted too.
    - `requestedBy` object, required: Who requested the deletion.
      - `type` 'user' | 'api_key' | 'staff', required: `user` for a person, `api_key` for an API key, `staff` for Latitude support.
      - `id` string, required: Identifier of the user or API key that requested the deletion.
    - `matchedTraceCount` integer, required: Traces deleted so far. Final once `status` is `completed` or `failed`.
    - `deletedRecordCount` integer, required: Records deleted so far across the traces, their spans, and everything derived from them (scores, annotations, search indexes, session analyses).
    - `error` string, nullable, required: Why the deletion failed. `null` unless `status` is `failed`.
    - `createdAt` string, required: ISO-8601 time the deletion was requested.
    - `startedAt` string, nullable, required: ISO-8601 time work started, or `null` while pending.
    - `completedAt` string, nullable, required: ISO-8601 time the deletion completed or failed, or `null` while it is still in progress.
  - `nextCursor` string, nullable, required: Opaque cursor for the next page. `null` when there are no more pages.

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `404`: Not found

## Changes

- **2026-10-27** `0685be1cbf9f`: 1 info
  - added the required property `items/items/includeDatasetRows` to the response with the `200` status
- **2026-10-27** `15073decd632`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/latitude-dev/apis/latitude/changes/v1/projects/:projectSlug/trace-deletions/get.md)

---

[API](https://skmtc.dev/latitude-dev/apis/latitude.md) - [All operations](https://skmtc.dev/latitude-dev/apis/latitude/llms.txt) - [OpenAPI document](https://skmtc.dev/latitude-dev/apis/latitude/revisions/0685be1cbf9f?raw)
