Skip to content

The few causes behind a run’s failures

GET
/v1/runs/{id}/failure-groups
curl --request GET \
--url https://beta-api.plune.ai/v1/runs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/failure-groups \
--header 'Authorization: Bearer <token>'

A separate path rather than a field on the run: GET /v1/runs/{id} returns the CLI’s RunResult verbatim, and that round trip is the sync contract.

id
required
string format: uuid

Grouped failures (empty for a clean run)

Media type application/json
object
groups
required

Largest cause first; ties ordered by signature so the list is stable.

Array<object>

One cause behind several failures in a run. The signature hashes the reason with its numbers and quoted values replaced, so per-row differences collapse; it is mixed with the eval id, so identical wording in two evals stays two groups.

object
signature
required

Stable id for this kind of failure.

string
evalId
required
string
count
required

Dataset rows that failed this way.

integer
reason
required

One cause verbatim, as an example.

string
rows
required

Row indexes within the eval, for expanding the group.

Array<integer>
Example generated
{
"groups": [
{
"signature": "example",
"evalId": "example",
"count": 1,
"reason": "example",
"rows": [
1
]
}
]
}

No / invalid token or session

Not found or not yours

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