get_data_model
Return a reference for DEON canvas items: item types, the coordinate system, per-type fields and value shapes, and the shape catalogue - every shape name by group, what the non-obvious ones look like and which way each arrow points. Call this when unsure how to create or update an item, or which shape to pick. Includes the server build; if tools described here are missing from your tool list, the client's tool cache is stale - ask the user to restart the client.
Tool name: get_data_model
Parameters
None.
Returns
A JSON reference document. The key sections:
server— which build answers:version(release tag such asv0.4.35, orr<revision>for development builds),commit(short hash),builtAt(UTC),environment(production,staging,dev, orlocal) andtoolsetHash(a hash of the server'stools/list). If a tool this reference describes is missing from the agent's tool list, the client is holding a stale tool cache — restarting the client refreshes it.overview— the coordinate system: world units,position= top-left{x,y},size={width,height},anglein degrees (0–360), colors as hex strings ("#RRGGBB"or"#AARRGGBB").itemTypes— the eight item types (label,sticky-note,shape,connector,image,web,svg,document) and which tool creates each.web,svganddocumentitems can be read here, but only the REST API creates them.commonFields—position,size,scale,anglewith their value shapes and defaults.label,shape,connector,image— per-type fields and constraints (e.g. the labelautoSizemodes that decide whether its text wraps, grows or is clipped, connector start/end points).updateItemProperty— example property names and value shapes forupdate_item_property.shapes— the shape catalogue forcreate_shape:groupslists every shape name in one line per group (basic, rectangle variants, polygons, stars, block arrows, misc), anddetailshas one line for each shape whose name does not say what it looks like — which corners are snipped or rounded, which way each arrow points atangle0, whatPlaque,FrameorCornerrender as.
Excerpt:
{
"server": {
"version": "v0.4.35",
"commit": "a1b2c3d",
"builtAt": "2026-09-26T10:00:00Z",
"environment": "staging",
"toolsetHash": "3f9c2a71b0de"
},
"overview": "A DEON project is a map of items on an infinite 2D canvas. ...",
"itemTypes": {
"label": "text; wraps at size.width when a size is given, otherwise one growing line ...",
"sticky-note": "preset note with background (create_item kind=\"sticky\")",
"shape": "geometric shape (create_shape)",
"connector": "line/arrow between items (connect_items)",
"image": "raster image (upload_image)",
"web": "embedded web page",
"svg": "vector image",
"document": "document file (PDF/Word/PowerPoint)"
},
"commonFields": {
"position": "{ x: number, y: number } — top-left in world units (default 0,0)",
"size": "{ width: number, height: number } — min 5 per dimension. On a label or sticky, 0 on an axis means that axis auto-sizes to the text.",
"scale": "number > 0 (default 1)",
"angle": "number 0–360 degrees (default 0)"
},
"shapes": {
"note": "create_shape takes exactly one of these names ... `angle` (degrees, clockwise) rotates any shape ...",
"groups": {
"basic": "Rectangle, RoundedRectangle, Ellipse, Triangle, RightTriangle, Diamond, Parallelogram, Trapezoid",
"blockArrows": "RightArrow, LeftArrow, … - filled arrows that stand on their own, not attached to items",
"…": "…"
},
"details": {
"NotchedRightArrow": "points right, with a V-notch cut into the tail",
"DirectionArrowLeft": "does NOT point left: V-notched left edge, flat right edge - the last step of a chevron process chain",
"Plaque": "rectangle with concave (inward-curved) corners, like a name plaque or certificate",
"…": "…"
}
}
}
Example
Called automatically by an agent before an unfamiliar
update_item_propertycall.
{}