Create an item
POST /boards/{boardId}/items
Any creatable type. type selects the schema for data: a frame's schema is the MCP render tool's own, a primitive's is below. Omit position and the item goes below everything on the board. A connector needs no position; its data names the two items it joins.
The item is drawn by a browser, which mints its id. When the draw has landed within a few seconds the answer is 201 with the item; otherwise 202 with a Job whose result.itemIds carries the id once it appears. A board open in the editor draws it live either way.
Authorization
AuthorizationstringheaderrequiredBearer <key>. The key needs boards:write scope. Create and manage keys in the developer console; what each scope unlocks is on the scopes page.
Path parameters
boardIdstringpathrequiredHeaders
Idempotency-KeystringheaderA unique key per logical request. Replays within 24 hours return the original response.
Body
typeenum<string>requiredItem types, generated from the MockFlow component registry. Primitive types are drawn by the editor; frame types are rich components whose data schema is the same one the MCP render_* tool accepts.
positionPointChild attributes
xnumberrequiredynumberrequiredsizeSizeChild attributes
widthnumberheightnumberdataItemDatarequiredSelected by the sibling type. One schema per item type, generated from the component registry.
Response
idstringtypestringAn ItemType, or other for an editor widget the API has no type for.
componentTypestringThe editor's own class name, exact where type is a family.
boardIdstringsectionIdstring | nullThe section the item sits inside, by position.
groupIdstring | nullpositionPointChild attributes
xnumberrequiredynumberrequiredsizeSizeChild attributes
widthnumberheightnumberrotationnumberzIndexintegerlockedbooleantextstringPlain text extracted from the item, for search and the outline.
readbackenum<string>One of exact, unwrapped, text, pointer, parts or none.
dataItemDataSelected by the sibling type. One schema per item type, generated from the component registry.
fromstring | nullConnectors only: the item or group: the line starts at.
tostring | nullConnectors only.
directedbooleanConnectors only.
labelstringConnectors only.
urlstringOpens the board focused on this item.
Errors
validation_failedThe body did not match the schema for this item type.
rate_limitedToo many requests.