Skip to content

Declare a role on a standard

PUT
/standards/{id}/roles/{role}
curl --request PUT \
--url https://example.com/api/v1/standards/example/roles/example \
--header 'Content-Type: application/json' \
--data '{ "capabilities": [ "example" ], "display_name": "example", "impact": "outage", "quorum": 1 }'

Declares a role every conforming system needs filled, or revises it in place (the role is addressed by name, so the write is idempotent). The capability list replaces the required set wholesale. An unknown standard or capability is a 422. Gated by standard:update.

id
required

The standard id

string

The standard id

role
required

The role name

string

The role name

Media type application/json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
capabilities

The capabilities a component must ALL provide; replaces the required set wholesale

Array<string> | null
display_name

The role’s human label; defaults to the role name

string
impact

What an impaired role means for its system; omit for degraded. The same broken component matters differently depending on the slot it was filling: a dead confidence monitor is not a dead main display

string
Allowed values: outage degraded none
quorum

How many components must fill the role; omit for one

integer format: int64

OK

Media type application/json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
capabilities
required

The capabilities a component must ALL provide to fill it

Array<string> | null
display_name
required

The role’s human label

string
impact
required

What an impaired role means for its system: outage, degraded, or none

string
name
required

The role’s name within its owner (the address)

string
quorum
required

How many components must fill the role

integer format: int64
Example
{
"$schema": "/api/v1/schemas/SystemRoleBody.json"
}

Error

Media type application/problem+json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
detail

A human-readable explanation specific to this occurrence of the problem.

string
errors

Optional list of individual error details

Array<object> | null
object
location

Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’

string
message

Error message text

string
value

The value at the given location

instance

A URI reference that identifies the specific occurrence of the problem.

string format: uri
status

HTTP status code

integer format: int64
title

A short, human-readable summary of the problem type. This value should not change between occurrences of the error.

string
type

A URI reference to human-readable documentation for the error.

string format: uri
default: about:blank
Example
{
"$schema": "/api/v1/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}