Create a system type
const url = 'https://example.com/api/v1/system-types';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"abbrev":"example","icon":"example","label":"example","label_rule":"example","name":"example","parent_id":"example","stem":"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/system-types \ --header 'Content-Type: application/json' \ --data '{ "abbrev": "example", "icon": "example", "label": "example", "label_rule": "example", "name": "example", "parent_id": "example", "stem": "example" }'Creates a custom (non-official) system_type, optionally under a parent and optionally with the label_rule systems of that type get. A root type must carry a stem, since it has no ancestor to inherit one from. An unparseable label_rule is a 422. Gated by system_type:create.
Request Body required
Section titled “Request Body required ”object
A URL to the JSON Schema for this object.
A compact form of label; omit to inherit the parent’s
A glyph key; omit to inherit the parent’s
What an operator reads in pickers and lists
The label template systems of this type get, a Go text/template over the system data map; omit to inherit the nearest ancestor’s. Refused (422) if it does not compile
The globally unique name
The parent system_type, by name or uuid; omit for a root type
The prefix a generated system name is built from; omit to inherit the parent’s. Lowercase letters, digits, and hyphens. Required for a root type, which has no ancestor to inherit one from.
Responses
Section titled “ Responses ”Created
object
A URL to the JSON Schema for this object.
A compact form of label; empty inherits the nearest ancestor’s
A glyph key; empty inherits the nearest ancestor’s
The system_type’s uuid, the stable handle that survives a rename
The abbrev this type would take if it stated none: the nearest ancestor’s. Absent when no ancestor states one. Served on the registry listing, on the same terms as resolved_icon
The name of the ancestor system_type inherited_abbrev comes from, which may be further up the chain than the parent
The glyph this type would take if it stated none: the nearest ancestor’s. Absent when no ancestor states one. Served on the registry listing, on the same terms as resolved_icon
The name of the ancestor system_type inherited_icon comes from, which may be further up the chain than the parent
The stem this type would take if it stated none: the nearest ancestor’s. Absent when no ancestor states one. Served on the registry listing, on the same terms as resolved_icon
The name of the ancestor system_type inherited_stem comes from, which may be further up the chain than the parent
The label template systems of this type get; empty inherits the nearest ancestor’s, then the global rule for systems
The name an operator reads and types; renameable
The parent system_type’s name, for display; absent for a root type
The parent system_type’s id, the canonical handle; absent for a root type
The glyph this type shows: its own icon, else the nearest ancestor’s. Served on the registry listing, where the whole chain is already in hand; a single-row write response does not carry it
The prefix a generated system name is built from; empty inherits the nearest ancestor’s
Example
{ "$schema": "/api/v1/schemas/SystemTypeBody.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"}