Skip to content

One saved version of the matrix, with its content

GET
/v1/matrix-versions/{id}
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.

id
required
string

The version

Media type application/json
object
id
required

Stable: it names this snapshot for good, so a link can point at it (#1266).

string format: uuid
number
required

V1, v2, … within the project; a number is never reused.

integer
>= 1
periodFrom
required

The start of the period the coverage was counted over.

string format: date-time
periodTo
required

The end of the period, included.

string format: date-time
builtAt
required

When the snapshot was saved.

string format: date-time
authorName
required

Whoever saved it: their name, or their address when they have none; as it was then.

string
requirements
required

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.

Array<object>
object
id
required
string
key
required
string
type
required
string
Allowed values: user_story feature epic
status
required
string
Allowed values: draft active done
title
required
string
priority
required
string
nullable
category
required
string
nullable
Allowed values: functional non-functional other
coverage
required

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
total
required

M — the live cases linked to the requirement.

integer
passed
required

N — the cases whose newest result is passed.

integer
failed
required
integer
broken
required
integer
blocked
required
integer
skipped
required
integer
muted
required

Muted cases whose newest result failed or broke.

integer
notRun
required

Cases with no result in a run that is not in the Bin.

integer
automated
required

Of total, the cases of kind automated — the numerator of «9 of 14 cases are automated»; the denominator is total.

integer
cases
required
Array<object>
object
id
required
string
title
required
string
suiteId
required
string
nullable
priority
required
string
latestStatus
required

The status the coverage counted the case under; null — no result yet.

string
nullable
Allowed values: passed failed broken blocked skipped muted
latestRunId
required

The run that result is in; null — no result yet.

string
nullable
archivedAt
required
string format: date-time
nullable
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

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}