Skip to content

Save a version of the matrix

POST
/v1/matrix-versions
curl --request POST \
--url https://beta-api.plune.ai/v1/matrix-versions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "from": "2026-09-16T00:00:00+03:00", "to": "2026-10-15T23:59:59+03:00" }'

An owner’s or a member’s. Counts the matrix over from–to the way GET /v1/requirements?cases=true does, and freezes it as the next number of the project, with the date and the author; the open matrix stays live. The text of the requirements is not kept. A snapshot over 262144 bytes of JSON is a 413 naming the limit: choose a shorter period. Nothing in it changes afterwards.

Media type application/json
object
from
required

ISO 8601 with a zone, as on GET /v1/requirements.

string format: date-time
to
required

Included; not before from.

string format: date-time
Example
{
"from": "2026-09-16T00:00:00+03:00",
"to": "2026-10-15T23:59:59+03:00"
}

Saved

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
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"
}

Invalid body, or from later than to

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

No / invalid token or session

You are in the project as a reader

Another version was saved at the same moment: try again

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

The snapshot is over the limit

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

Rate-limited: the per-route throttle, or the per-minute request limit of the plan an API token counts by (#1442; the body names the plan, #2092). Retry-After carries the seconds until the window rolls over.

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

Seconds until the window rolls over