One saved version of the matrix, with its content
const url = 'https://beta-api.plune.ai/v1/matrix-versions/example';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/matrix-versions/example \ --header 'Authorization: Bearer <token>'The snapshot as it was saved: requirements, each with its cases and coverage. It never changes, so an address built from the id keeps showing the same matrix.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Responses
Section titled “ Responses ”The version
object
Stable: it names this snapshot for good, so a link can point at it (#1266).
V1, v2, … within the project; a number is never reused.
The start of the period the coverage was counted over.
The end of the period, included.
When the snapshot was saved.
Whoever saved it: their name, or their address when they have none; as it was then.
The live requirements as they stood when saved, each with its cases and coverage. The description, acceptanceCriteria, projectId, createdAt and updatedAt of a requirement are not kept in the copy.
object
How the linked cases stand, counted from their RESULTS, never from a flag: each live case once, under the status of its newest result in a run that is not in the Bin (newest by when the run was created) — the status the run counters count it under, so a muted case’s failure is muted. A case with no result is notRun; a case in the Bin is not counted. total is the sum of the rest; «N of M cases passed» is passed of total.
object
M — the live cases linked to the requirement.
N — the cases whose newest result is passed.
Muted cases whose newest result failed or broke.
Cases with no result in a run that is not in the Bin.
Of total, the cases of kind automated — the numerator of «9 of 14 cases are automated»; the denominator is total.
object
The status the coverage counted the case under; null — no result yet.
The run that result is in; null — no result yet.
Example
{ "id": "6f1c2b3a-0000-4000-8000-0000000000b3", "number": 3, "periodFrom": "2026-09-16T00:00:00.000Z", "periodTo": "2026-10-15T23:59:59.999Z", "builtAt": "2026-09-16T09:12:04.151Z", "authorName": "Dana", "requirements": [ { "id": "6f1c2b3a-0000-4000-8000-0000000000f5", "key": "REQ-214", "type": "user_story", "status": "active", "title": "A buyer pays by card", "priority": "Must-have", "category": "functional", "coverage": { "total": 3, "passed": 2, "failed": 1, "broken": 0, "blocked": 0, "skipped": 0, "muted": 0, "notRun": 0, "automated": 0 }, "cases": [], "archivedAt": null } ]}No / invalid token or session
No such version in your projects
object
Example generated
{ "error": "example"}