Components
Tools for creating components, variants, and instances
2 tools in this domain.
components
Section titled “components”CRUD endpoint for components. create → {type, items, depth?} → {results: [{id}, ...]} type 'component': create from scratch with layout/style params type 'from_node': convert existing nodes to components. Text children are auto-exposed as editable properties by default (exposeText: true) — instances can set text directly via properties. type 'variant_set': combine components into variant sets get → {id, fields?} → component object (full detail, field-filterable) list → {name?, setsOnly?, fields?, offset?, limit?} → paginated stubs update → {items: [{id, propertyName, type, defaultValue}]} → creates property AND binds matching text node automatically
| Parameter | Type | Required | Description |
|---|---|---|---|
method | "create" | "get" | "list" | "update" | ✓ | |
id | string | ✗ | Resource ID (get, delete) |
fields | string[] | ✗ | Property whitelist (get/list). Identity fields (id, name, type) always included. Omit for stubs on list, full detail on get. Pass ["*"] for all fields. |
offset | number | ✗ | Skip N items for pagination (default 0) |
limit | number | ✗ | Max items per page (default 100) |
items | array | ✗ | create (component): [{name, parentId?, ...layout}]. create (from_node): [{nodeId, exposeText?}]. create (variant_set): [{componentIds, name?}]. update: [{id, propertyName, type, defaultValue}]. |
type | "component" | "from_node" | "variant_set" | ✗ | Create type. Required for create: 'component' (from scratch), 'from_node' (convert existing), 'variant_set' (combine as variants). |
depth | number | ✗ | Response detail: omit for id+name only. 0=properties + child stubs. N=recurse N levels. -1=unlimited. |
name | string | ✗ | Filter list by name (case-insensitive substring). |
setsOnly | boolean | ✗ | If true, list returns only COMPONENT_SET nodes. |
JSON Schema
{
"type": "object",
"properties": {
"method": {
"type": "string",
"enum": [
"create",
"get",
"list",
"update"
]
},
"id": {
"description": "Resource ID (get, delete)",
"type": "string"
},
"fields": {
"description": "Property whitelist (get/list). Identity fields (id, name, type) always included. Omit for stubs on list, full detail on get. Pass [\"*\"] for all fields.",
"type": "array",
"items": {
"type": "string"
}
},
"offset": {
"description": "Skip N items for pagination (default 0)",
"type": "number"
},
"limit": {
"description": "Max items per page (default 100)",
"type": "number"
},
"items": {
"description": "create (component): [{name, parentId?, ...layout}]. create (from_node): [{nodeId, exposeText?}]. create (variant_set): [{componentIds, name?}]. update: [{id, propertyName, type, defaultValue}].",
"type": "array",
"items": {}
},
"type": {
"description": "Create type. Required for create: 'component' (from scratch), 'from_node' (convert existing), 'variant_set' (combine as variants).",
"type": "string",
"enum": [
"component",
"from_node",
"variant_set"
]
},
"depth": {
"description": "Response detail: omit for id+name only. 0=properties + child stubs. N=recurse N levels. -1=unlimited.",
"type": "number"
},
"name": {
"description": "Filter list by name (case-insensitive substring).",
"type": "string"
},
"setsOnly": {
"description": "If true, list returns only COMPONENT_SET nodes.",
"type": "boolean"
}
},
"required": [
"method"
]
} Response reference only — not included in tool definitions
No parameters
Example response
{
"totalCount": 2,
"returned": 2,
"offset": 0,
"limit": 100,
"items": [
{
"id": "20:3",
"name": "Button",
"type": "COMPONENT_SET",
"variantCount": 4,
"pageId": "0:1",
"pageName": "Components"
},
{
"id": "20:10",
"name": "Icon/Star",
"type": "COMPONENT",
"pageId": "5:0",
"pageName": "Icons"
}
]
} Response JSON Schema
{
"type": "object",
"description": "Response varies by method. create → {results: [{id}]}. get → component object (full detail, field-filterable). list → paginated stubs. update → {results: ['ok', ...]}."
} instances
Section titled “instances”CRUD endpoint for component instances. create → {items: [{componentId, variantProperties?, x?, y?, parentId?}], depth?} → {results: [{id}]} get → {id} → {mainComponentId, overrides: [{id, fields}]} update → {items: [{id, properties}]} → {results: ['ok', ...]}
| Parameter | Type | Required | Description |
|---|---|---|---|
method | "create" | "get" | "update" | ✓ | |
id | string | ✗ | Resource ID (get, delete) |
fields | string[] | ✗ | Property whitelist (get/list). Identity fields (id, name, type) always included. Omit for stubs on list, full detail on get. Pass ["*"] for all fields. |
items | array | ✗ | create: [{componentId, variantProperties?, x?, y?, parentId?}]. update: [{id, properties}]. |
depth | number | ✗ | Response detail: omit for id+name only. 0=properties + child stubs. N=recurse N levels. -1=unlimited. |
JSON Schema
{
"type": "object",
"properties": {
"method": {
"type": "string",
"enum": [
"create",
"get",
"update"
]
},
"id": {
"description": "Resource ID (get, delete)",
"type": "string"
},
"fields": {
"description": "Property whitelist (get/list). Identity fields (id, name, type) always included. Omit for stubs on list, full detail on get. Pass [\"*\"] for all fields.",
"type": "array",
"items": {
"type": "string"
}
},
"items": {
"description": "create: [{componentId, variantProperties?, x?, y?, parentId?}]. update: [{id, properties}].",
"type": "array",
"items": {}
},
"depth": {
"description": "Response detail: omit for id+name only. 0=properties + child stubs. N=recurse N levels. -1=unlimited.",
"type": "number"
}
},
"required": [
"method"
]
} Response reference only — not included in tool definitions
No parameters
Example response
{
"results": [
{
"id": "21:1"
}
]
} Response JSON Schema
{
"type": "object",
"description": "Response varies by method. create → {results: [{id}]}. get → {mainComponentId, overrides: [{id, fields}]}. update → {results: ['ok', ...]}."
}