---
title: "GET /projects/{projectId}/agent-runs/{runId}/case"
method: GET
path: "/projects/{projectId}/agent-runs/{runId}/case"
---

# GET /projects/{projectId}/agent-runs/{runId}/case

`GET /projects/{projectId}/agent-runs/{runId}/case`

## Request

- Base URL: `https://api.caveman.so/api/v1`
- URL: `https://api.caveman.so/api/v1/projects/{projectId}/agent-runs/{runId}/case`
- Auth: one of:
  - OAuth 2
    - Authorization code: `/api/v1/oauth/authorize`
    - Token URL: `/api/v1/oauth/token` scopes: `trace:read_metadata`
  - HTTP bearer
  - API key in cookie `cave_access`
  - API key in cookie `__Secure-cave_identity.session_token`

GET /api/v1/projects/{projectId}/agent-runs/{runId}/case on the Caveman Cloud control plane. Requires the trace:read_metadata scope. Not exposed to autonomous agents: Discloses protected native case context under current ownership and transactional payload audit. Native unscoped user endpoint. Returns only this user's owned chat run metadata. Results require separate current permission and source checks.

## Query parameters

- `after` string, uuid

## Response `200`

Bounded native user page.

- AgentCase
  - `case_id` string, uuid, required
  - `data` object[], required
    - `id` string, uuid, required
    - `case_id` string, uuid, required
    - `definition_id` string, required
    - `definition_version` string, required
    - `status` 'queued' | 'running' | 'completed' | 'incomplete' | 'cancelled' | 'stale', required
    - `reason` string, required
    - `created_at` string, date-time, required
    - `deadline` string, date-time, required
    - `chat_turn` boolean, required: True only for a chat turn owned by the current user.
    - `spent_micros` integer, required
    - `reserved_micros` integer, required

## Other responses

- `400`: Invalid cursor.
- `401`: Authentication required.
- `403`: Native user required.
- `404`: Project, cursor or current authority unavailable.
- `503`: Shared agent configuration unavailable.
- `4XX`: Structured failure. `error.code` is stable; `error.request_id` is echoed in the x-cave-request-id header.
- `5XX`: Structured failure. `error.code` is stable; `error.request_id` is echoed in the x-cave-request-id header.

---

[API](https://skmtc.dev/caveman/apis/caveman-cloud-api.md) - [All operations](https://skmtc.dev/caveman/apis/caveman-cloud-api/llms.txt) - [OpenAPI document](https://skmtc.dev/caveman/apis/caveman-cloud-api/revisions/508312d01cfc?raw)
