Draft the name and label a system create would store
const url = 'https://example.com/api/v1/systems:renderLabel';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"location":"example","name":"example","parent":"example","standard_id":"example","system_type_id":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/systems:renderLabel \ --header 'Content-Type: application/json' \ --data '{ "location": "example", "name": "example", "parent": "example", "standard_id": "example", "system_type_id": "example" }'The system tier of :renderLabel on components. Drafts the name and the label a system create would stamp, allocating nothing: the ordinal is read from the placement bucket and the drafted name is posted back as expected_name on the create. A system suppresses the first ordinal in a bucket, so the first boardroom in a room drafts as boardroom and the second as boardroom-2. Omitting name drafts the name the platform would mint and refuses (422) an unclassified system, the same refusal a nameless create gives, since the stem lives on the system_type. Gated by system:create; the parent resolves within the caller’s system:create scope and the location ref within location:read, because a system’s label can carry its location’s. Omitting parent is the parentless bucket, refused (403) without an all-scoped create grant, exactly as the create refuses it.
Request Body required
Section titled “Request Body required ”object
A URL to the JSON Schema for this object.
The location this system will sit at, by name or uuid. Resolved within the caller’s location:read scope.
The name the row will carry. Omit it to draft the name and label the platform would produce; supply it to draft the label an operator-named row would carry, which has no ordinal at all.
The parent system, by name or uuid. Part of the placement bucket a generated name’s ordinal is read from. Resolved within the caller’s system:create scope.
The standard this system conforms to, by name or uuid; omit for a one-off system
The system_type this system is classified by, by name or uuid. Required to render a generated name’s label: the stem lives on that registry row.
Responses
Section titled “ Responses ”OK
object
A URL to the JSON Schema for this object.
The label the create would store. Empty means no label is stored and the surface falls back to the name.
The name the create would stamp: the one you supplied, or the one the platform would mint. Generated names carry the ordinal that is free in the placement bucket right now.
The ordinal that name was minted from, absent when you supplied the name (an operator-named row carries no ordinal). Informational: what a form posts back as the create’s precondition is the NAME above, since that carries the stem and the suppression rule as well as this number.
The label rule that produced it, resolved through the same tiers the create uses. Empty means no tier carries a rule for this classification.
Example
{ "$schema": "/api/v1/schemas/DraftLabelOutputBody.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"}