What the plan collects right now
const url = 'https://beta-api.plune.ai/v1/plans/example/cases';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://beta-api.plune.ai/v1/plans/example/cases \ --header 'Authorization: Bearer <token>'The union of the plan’s collections, then the kind’s rule: a manual plan keeps manual cases (and automated ones when asManual), automated keeps automated, mixed both; evals never. Tree order, no duplicates, deleted cases excluded. This is the list a launch turns into expected, and the list plune plan grep joins into a reporter filter.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Responses
Section titled “ Responses ”The cases
object
Tree order, no duplicates — a case two collections both match is listed once.
A case as the plan lists it — what a run needs of it, and the keys a reporter greps by.
object
An identifier another tool already uses for this test, so a report can find its case without anyone typing a Plune id. The order of kind is load-bearing: it is the ranking that decides which key wins when several match different cases.
object
Who holds it now (B8-team T4) — what assignment: prefer-assignee copies at launch.
Example
{ "cases": [ { "id": "6f1c2b3a-0000-4000-8000-0000000000c1", "title": "Checkout — empty cart @smoke @checkout", "type": "automated", "priority": "high", "state": "draft", "suiteId": "6f1c2b3a-0000-4000-8000-0000000000a1", "externalKeys": [ { "kind": "path-title", "value": "e2e/checkout.spec.ts > Checkout — empty cart" } ] } ], "count": 1}No / invalid token or session
No such plan in your projects
object
Example generated
{ "error": "example"}