> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs-beta.getzep.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs-beta.getzep.com/_mcp/server.

# List trajectory import runs

GET https://api.getzep.com/api/v4/agents/{agent_uuid}/trajectory-imports/{import_uuid}/runs

List runs that belong to this trajectory import.

Reference: https://docs-beta.getzep.com/sdk-reference/agent/trajectory-import/run/list

## Authentication

- `Authorization` header (required) (prefixed with ` Api-Key  `) — Type "Api-Key" followed by a space and the project API key.

## Request

### Path parameters

- `agent_uuid` (string, required) — Agent UUID
- `import_uuid` (string, required) — Trajectory import UUID

### Query parameters

- `limit` (integer, optional) — Page size
- `cursor` (string, optional) — Opaque page cursor

## Response

### 200

OK

- `items` (list of v4.TrajectoryImportRun, optional) — Items contains runs on this page. Example: \[\{"uuid":"ea7e2724-9bfd-4ca1-aa5c-40a1dd72a688","status":"pending"}].
- `next_cursor` (string, optional) — NextCursor is the cursor for the next page.
- `total_size` (integer, optional) — TotalSize is the number of matching runs.

## Errors

### 401 Unauthorized Error

Unauthorized

- `error` (v4.ErrorBody, optional)

### 403 Forbidden Error

Forbidden

- `error` (v4.ErrorBody, optional)

### 404 Not Found Error

Not Found

- `error` (v4.ErrorBody, optional)

## Types

### v4.TrajectoryImportRun

- `completed_at` (string, optional) — CompletedAt is the run completion time, when present.
- `counts` (map from string to integer, optional) — Counts contains run totals by result type.
- `created_at` (string, optional) — CreatedAt is the run creation time.
- `due_at` (string, optional) — DueAt is the scheduled run time, when present.
- `error_code` (string, optional) — ErrorCode is the safe run error code, when present.
- `import_uuid` (string, optional) — ImportUUID is the owning import identifier.
- `more_available` (boolean, optional) — MoreAvailable reports whether more matching traces remain.
- `skip_reasons` (map from string to integer, optional) — SkipReasons contains skip totals by reason.
- `started_at` (string, optional) — StartedAt is the run start time, when present.
- `status` (string, optional) — Status is the run status.
- `task_uuid` (string, optional) — TaskUUID is the Task identifier.
- `trigger` (string, optional) — Trigger is the event that created the run.
- `uuid` (string, optional) — UUID is the run identifier.

### v4.ErrorBody

- `code` (string, optional)
- `details` (map from string to any, optional)
- `message` (string, optional)
- `param` (string, optional)
- `request_id` (string, optional)

## Examples

**Response**

```json
{
  "items": [
    {
      "completed_at": "2026-01-01T00:01:00Z",
      "counts": {
        "imported": 10
      },
      "created_at": "2026-01-01T00:00:00Z",
      "due_at": "2026-01-01T04:00:00Z",
      "error_code": "credential_rejected",
      "import_uuid": "332c28e1-e6a7-4bca-97b2-ef1ec82c65fa",
      "more_available": false,
      "skip_reasons": {
        "trace_not_closed": 1
      },
      "started_at": "2026-01-01T00:00:01Z",
      "status": "pending",
      "task_uuid": "3124c01a-8f49-4bfd-9758-6ce491a377c1",
      "trigger": "create",
      "uuid": "ea7e2724-9bfd-4ca1-aa5c-40a1dd72a688"
    }
  ],
  "next_cursor": "eyJvZmZzZXQiOjI1fQ",
  "total_size": 1
}
```