Skip to content

Replace the project's own sub-statuses under one status

PUT
/v1/settings/sub-statuses/{status}
curl --request PUT \
--url https://beta-api.plune.ai/v1/settings/sub-statuses/passed \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "names": [ "Test is outdated", "Flaky test" ] }'

Add, rename and remove are this one write: the list is what the owner wants under the status now, and an empty one removes them all. A result keeps the name it was marked with, so nothing is carried over and no past run changes. At most 10 of the project’s own per status — the built-ins are on top — each 1–40 characters after trimming; none twice and none a built-in’s, both in any case. The project owner’s alone (403 for a member and a reader). One audit entry, the settings before and after. The CLI and the reporters set no sub-status.

status
required
string
Allowed values: passed failed broken blocked skipped
Media type application/json
object
names
required
Array<string>
<= 10 items
Example
{
"names": [
"Test is outdated",
"Flaky test"
]
}

Every sub-status of the project, as GET answers

Media type application/json
object
subStatuses
required

Per status in the order passed, failed, broken, blocked, skipped: the built-ins first, then the project’s own in the order the owner set them.

Array<object>

One row of Settings → Statuses (#1231).

object
status
required
string
Allowed values: passed failed broken blocked skipped
name
required

As a result stores it. A built-in’s is its English name; the dashboard shows it in its own language.

string
<= 40 characters
builtIn
required

Comes with every project; nobody renames or removes it.

boolean
results
required

The project’s results that carry this name under this status — a result keeps the name it was marked with, so a renamed one starts at 0.

integer
Example
{
"subStatuses": [
{
"status": "passed"
}
]
}

Not one of the five statuses, or a list the settings cannot hold — too long a name, too many, one twice, a built-in’s

Media type application/json
object
error
required
string
Example
{
"error": "validation failed — failed.1: 'flaky' is there twice"
}

No / invalid token or session

Not the project’s owner

Media type application/json
object
error
required
string
Example
{
"error": "project owner only"
}

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