Skip to content

Replace the settings

PATCH
/v1/settings
curl --request PATCH \
--url https://beta-api.plune.ai/v1/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "statusMapping": { "additionalProperty": { "additionalProperty": "passed" } }, "trustedDiscoverySources": [ "example" ] }'

Replace, not merge: a key left out is one the owner removed. Every target of a status mapping must be one of the five statuses.

Media type application/json

Everything a project owner can configure. Two keys today; the shape makes room for the next without another table.

object
statusMapping

Per source, what each raw status means here. The source key is any string — a team on a runner nobody wrote defaults for can still say what its statuses mean.

object
key
additional properties
object
key
additional properties
string
Allowed values: passed failed broken blocked skipped
trustedDiscoverySources

Sources whose discovered tests become cases WITHOUT passing through the review queue. The permission is granted to the source, not to each test: a discovered test already exists in your repository, so approving it one page at a time is a formality that costs ceil(N/200) decisions. Listing a source here answers all of them at once, and every case it creates carries trusted-source as the reason in the audit log.

Array<string>

The settings as stored

Media type application/json

Everything a project owner can configure. Two keys today; the shape makes room for the next without another table.

object
statusMapping

Per source, what each raw status means here. The source key is any string — a team on a runner nobody wrote defaults for can still say what its statuses mean.

object
key
additional properties
object
key
additional properties
string
Allowed values: passed failed broken blocked skipped
trustedDiscoverySources

Sources whose discovered tests become cases WITHOUT passing through the review queue. The permission is granted to the source, not to each test: a discovered test already exists in your repository, so approving it one page at a time is a formality that costs ceil(N/200) decisions. Listing a source here answers all of them at once, and every case it creates carries trusted-source as the reason in the audit log.

Array<string>
Example
{
"statusMapping": {
"additionalProperty": {
"additionalProperty": "passed"
}
}
}

A target status that does not exist; the message names the five

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

Rate-limited: either the per-route throttle or a tenant quota. 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