---
title: "List Scenarios"
method: GET
path: "/scenarios"
tags: ["scenarios"]
---

# List Scenarios

`GET /scenarios`

## Request

- Base URL: `https://dev.whispa.net` (the document declares no server; this is the origin it was published from)
- URL: `https://dev.whispa.net/scenarios`
- Auth: one of:
  - OAuth 2
    - Password
    - Token URL: `auth/bearer/login`
  - API key in cookie `access_token`

List all scenarios with summary information.

When the voice-agent feature is off (``VOICE_AGENT_ENABLED`` is false,
the default), ``ai_agent`` scenarios are filtered out of the API surface
entirely. This is defense in depth on top of the seed-time skip: it hides
the demo scenarios even in DBs that were seeded before the flag existed,
so they never reach a client UI or get enumerated.

## Response `200`

Successful Response

- ScenarioListResponse[]
  - `id` string, uuid, required
  - `name` string, required
  - `display_name` string, required
  - `description` string, required
  - `tool_count` integer, required
  - `scenario_metadata` object, required
  - `is_active` boolean, required
  - `is_default` boolean, required
  - `mode` string, required
  - `scorecard_template_key` string, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

---

[API](https://skmtc.dev/whispa/apis/whispa-api.md) - [All operations](https://skmtc.dev/whispa/apis/whispa-api/llms.txt) - [OpenAPI document](https://skmtc.dev/whispa/apis/whispa-api/revisions/12c2e4aca43c?raw)
