---
title: List a cascade's registered test-case subjects
description: GET /workflows/{id}/test_cases returns the sandbox subjects registered for a cascade's products, each with a payload ready for trigger.
canonical_url: "https://cascades.crscreditapi.com/docs/changelog/2026-09-04-test-cases-endpoint"
doc_version: "1.0.0"
last_updated: "2026-09-23T19:55:02Z"
source: docs/changelog/2026-09-04-test-cases-endpoint.md
---

# List a cascade's registered test-case subjects

## What changed

New endpoint [`GET /workflows/{id}/test_cases`](/docs/api/workflows/list-workflow-test-cases) (`workflows:read`). It walks the cascade's product nodes, maps each product to its family in the CRS test-case registry, and returns every registered subject with a `payload` shaped for `POST /workflows/{id}/trigger` — the same subjects the visual builder's sandbox tests panel runs. In test mode the subjects return schema mocks like any applicant (set `payload.scenario` to `fail_path` for decline branches); registry replay applies to live-mode sandbox runs.

```json
{
  "data": {
    "object": "test_case_list",
    "workflow_id": 27,
    "test_cases": [
      { "id": 54, "case_name": "Cascades_Credit_660_Inq0", "product_code": "TUC1001", "payload": { "applicant": { "…": "…" }, "property": { "…": "…" } } }
    ]
  }
}
```

The endpoint is best-effort: an unreachable registry returns an empty list, never a 5xx. The MCP server exposes it as `cascades_list_test_cases`.

Also in this release:

- A **test-mode trigger on a draft cascade now runs** instead of being refused; live triggers on drafts still return `409 workflow_inactive` (2026-09-03).
- **Cascade activation over the API is gated on production access**: sandbox accounts create drafts and get a `note`; `PATCH` with `active: true` returns `403 activation_forbidden` (2026-09-03).

See [Test identities](/docs/sandbox/test-identities) and [Sandbox vs live](/docs/concepts/sandbox-vs-live).

## Sitemap

See the full [sitemap](https://cascades.crscreditapi.com/sitemap.md) for all pages.
