Declare a role on a standard
const url = 'https://example.com/api/v1/standards/example/roles/example';const options = { method: 'PUT', headers: {'Content-Type': 'application/json'}, body: '{"capabilities":["example"],"display_name":"example","impact":"outage","quorum":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The standard id
The standard id
The role name
The role name
Request Body required
Section titled “Request Body required ”object
A URL to the JSON Schema for this object.
The capabilities a component must ALL provide; replaces the required set wholesale
The role’s human label; defaults to the role name
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
How many components must fill the role; omit for one
Responses
Section titled “ Responses ”OK
object
A URL to the JSON Schema for this object.
The capabilities a component must ALL provide to fill it
The role’s human label
What an impaired role means for its system: outage, degraded, or none
The role’s name within its owner (the address)
How many components must fill the role
Example
{ "$schema": "/api/v1/schemas/SystemRoleBody.json"}default
Section titled “default ”Error
object
A URL to the JSON Schema for this object.
A human-readable explanation specific to this occurrence of the problem.
Optional list of individual error details
object
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
HTTP status code
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
A URI reference to human-readable documentation for the error.
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"}