---
title: "List playbook cases"
method: GET
path: "/v1/projects/{project_id}/playbook-cases"
tags: ["Playbooks"]
---

# List playbook cases

`GET /v1/projects/{project_id}/playbook-cases`

## Request

- Base URL: `https://api.naturali.ai`
- URL: `https://api.naturali.ai/v1/projects/{project_id}/playbook-cases`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.naturali.ai/authorize`, token URL `https://api.naturali.ai/token`, scopes: `mcp:access`)

Returns a project's cases, newest first, without node states; read one case for those.

## Query parameters

- `playbook_id` string
- `automation_status` PlaybookAutomationStatus[]
- `limit` integer
- `offset` integer

## Response `200`

List of cases

- object
  - `data` PlaybookCaseSummary[], required
    - `id` string
    - `project_id` string
    - `playbook_id` string
    - `playbook_version` integer: The version the case was created on and is evaluated against
    - `subject` string
    - `revision` integer: The case's revision counter; every entry takes the next value
    - `automation_status` 'idle' | 'running' | 'waiting' | 'paused': `paused` while a pause of the case or of its project stands, else `running` while an execution is queued or runs its executor, else `waiting` while every execution in flight waits on a workflow task or orchestration run it started, else `idle`
    - `pause_requested_at` string, date-time, nullable: When the case was paused; null while it runs
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `total` integer, required
  - `limit` integer, required
  - `offset` integer, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden

---

[API](https://skmtc.dev/naturali/apis/naturali-ai-api.md) · [All operations](https://skmtc.dev/naturali/apis/naturali-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/naturali/apis/naturali-ai-api/revisions/e4905b78f422?raw)
