List component types
const url = 'https://example.com/api/v1/component-types';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/v1/component-typesLists the component_type registry (the taxonomy a product is classified under: mic, camera, wireless-mic under mic), ordered alphabetically by label. Each row carries its parent link, so the console reconstructs the tree client-side. Gated by component_type:read.
Responses
Section titled “ Responses ”OK
object
A URL to the JSON Schema for this object.
object
A URL to the JSON Schema for this object.
A compact form of label; empty inherits the nearest ancestor’s
Tags every instance of this type (or a descendant that does not override) starts with
True when this shipped row carries changes of yours overriding it. Restore discards them
A glyph key; empty inherits the nearest ancestor’s
The component_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 component_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 component_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 component_type inherited_stem comes from, which may be further up the chain than the parent
The label template instances of this type get; empty inherits the nearest ancestor’s, then the global rule for components
The name an operator reads and types; renameable
True for a row this release ships. A shipped row is never written by an operator: an edit forks it
The parent component_type’s name, for display; absent for a root type
The parent component_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 auto-generated component name’s prefix; empty inherits the nearest ancestor’s
Example
{ "$schema": "/api/v1/schemas/ListComponentTypesOutputBody.json", "component_types": [ { "$schema": "/api/v1/schemas/ComponentTypeBody.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"}