---
title: "List All Insights"
method: GET
path: "/tokenwise/insights/all"
---

# List All Insights

`GET /tokenwise/insights/all`

Every insight for the workspace in one read, newest first, with an optional
``agent_id`` filter that rides through on the query string.

Backs the overview roster's recommendations pill, which needs a count per
agent and would otherwise fan out one request per row (OPSS-328).

Unlike :func:`list_insights` this is NOT published-only — it forwards the
upstream's authoring view verbatim, so ``draft`` / ``dismissed`` / ``applied``
rows reach the client, which filters to the states it wants to show.

## Response `200`

Successful Response

- InsightOut[]
  - `id` string, uuid, required — A unique ID for the request (not the message). Repeated identical requests get different IDs. However, for a streaming response, the ID will be the same for all responses in the stream.
  - `workspace_id` string, uuid, required
  - `agent_id` string, required
  - `state` string, required
  - `source` string, required
  - `kind` string, required
  - `author` string
  - `title` string, required
  - `narrative` string, required
  - `projected_savings` string
  - `optimization_id` string
  - `config_suggestion` object
  - `feedback_verdict` string
  - `feedback_comment` string
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

---

[API](https://skmtc.net/ai21/apis/ai21-studio-api.md) · [All operations](https://skmtc.net/ai21/apis/ai21-studio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ai21/ai21-studio-api/versions/4cf5219c90d1/schema)
