---
title: "The units of work a run's steps do, one page at a time"
method: GET
path: "/agents/sessions/{session_id}/runs/{run_id}/units"
tags: ["AI", "Agents"]
---

# The units of work a run's steps do, one page at a time

`GET /agents/sessions/{session_id}/runs/{run_id}/units`

## Request

- Base URL: `https://app.mammoth.io/api/v2`
- URL: `https://app.mammoth.io/api/v2/agents/sessions/{session_id}/runs/{run_id}/units`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-KEY` and API key in header `X-API-SECRET` and API key in header `X-WORKSPACE-ID`

Each unit (a dataset to delete, say) with its state: queued, running, done, failed or skipped. Pages of 50, oldest first; pass next_cursor back as cursor. step and state narrow the list.

## Path parameters

- `session_id` string, required
- `run_id` integer, required

## Query parameters

- `step` integer, nullable
- `state` 'queued' | 'running' | 'done' | 'failed' | 'skipped' | 'null', nullable
- `cursor` integer

## Response `200`

Request fulfilled, document follows

- AgentRunUnitsResponse
  - `units` AgentRunUnitItem[], required
    - `id` integer, required
    - `step_n` integer, required
    - `kind` string, required
    - `object_id` integer, required
    - `name` string, nullable
    - `project_id` integer, nullable
    - `state` 'queued' | 'running' | 'done' | 'failed' | 'skipped', required
    - `error` string, nullable
    - `job_id` integer, nullable
    - `action_id` integer, nullable
    - `finished_at` string, date-time, nullable
  - `next_cursor` integer, nullable

## Other responses

- `400`: Bad request syntax or unsupported method
- `403`: Request forbidden -- authorization will not help

---

[API](https://skmtc.dev/mammoth/apis/mammoth-analytics.md) · [All operations](https://skmtc.dev/mammoth/apis/mammoth-analytics/llms.txt) · [OpenAPI document](https://skmtc.dev/mammoth/apis/mammoth-analytics/revisions/fe078afe239b?raw)
