{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/lightspeed/main/json-schema/lightspeed-button-layout-schema.json", "title": "ButtonLayout", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/lightspeed-registers-api-openapi.yml#/components/schemas/ButtonLayout", "properties": { "deletedAt": { "format": "date-time", "type": [ "string", "null" ] }, "id": { "description": "Autogenerated object identifier.", "type": "string" }, "name": { "description": "The name of the button layout.", "type": "string" }, "nodes": { "description": "The nodes that make up the button layout.", "items": { "$ref": "#/$defs/ButtonLayoutNode" }, "type": "array" }, "version": { "description": "Auto-incrementing object version number.", "format": "int64", "type": "integer" } }, "required": [ "id", "name", "nodes", "version" ], "type": "object", "$defs": { "ButtonLayoutNode": { "properties": { "attributes": { "description": "The attributes associated with this node.", "items": { "$ref": "#/$defs/ButtonLayoutNodeAttribute" }, "type": "array" }, "id": { "description": "Autogenerated object identifier.", "type": "string" }, "parentNodeId": { "description": "The ID of the parent node, if applicable.", "format": "uuid", "type": [ "string", "null" ] }, "position": { "description": "The position of the node within its parent.", "type": "integer" }, "productId": { "description": "The product ID associated with this node, if applicable.", "type": [ "string", "null" ] } }, "required": [ "id", "position", "attributes" ], "type": "object" }, "ButtonLayoutNodeAttribute": { "properties": { "key": { "description": "The attribute key.", "type": "string" }, "value": { "description": "The attribute value.", "type": "string" } }, "required": [ "key", "value" ], "type": "object" } } }