Convert an item to another type
POST /boards/{boardId}/items/{itemId}/convert
Mida rebuilds the item's content as the target type and, once the new item has landed, deletes the source unless keepSource is true. See convertibleTo on GET /item-types/{type} for sensible targets.
Authorization
AuthorizationstringheaderrequiredBearer <key>. The key needs ai:generate and boards:write scopes. Create and manage keys in the developer console, or use an OAuth app to act for other people; what each scope unlocks is on the scopes page.
Path parameters
boardIdstringpathrequireditemIdstringpathrequiredBody
callbackUrlstringOptional. When the job this request starts finishes or fails, a short body is POSTed here once: { eventId, status, boardId, boardUrl, imageUrl }, where status is succeeded or failed and imageUrl is a picture of what the job drew, or null. Signed with the workspace's callback secret (GET /webhooks/callback-secret). https to a public host. The full job is on GET /jobs/{jobId}.
toenum<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.
keepSourcebooleanDefaults to false.
Response
idstringkindenum<string>One of item.create, item.update, item.delete, item.batch, ai.generate, ai.modify, skill.apply or board.export.
statusenum<string>One of queued, running, succeeded or failed.
progressintegermessagestringHuman readable progress, for example "Placing kanban".
resultobject | nullChild attributes
itemIdsstring[]updatedstring[]deletedstring[]creditsUsedintegerboardTitlestring | nullskillstring | nullconvertedFromstringsourceDeletedbooleantargetenum<string>board.export. What was drawn. One of board, frame or item.
formatenum<string>board.export. One of png.
scaleenum<integer>board.export. One of 1 or 2.
imageUrlstringboard.export. The PNG. Anyone with this URL can open it.
widthintegerboard.export. The image's width in pixels.
heightintegerboard.export. The image's height in pixels.
errorerrorChild attributes
codeenum<string>requiredOne of unauthorized, forbidden, not_found, validation_failed, conflict, plan_limit, rate_limited or internal.
messagestringrequireddetailsobject[]docsUrlstringupgradeUrlstringcreatedAtstringfinishedAtstring | nullcallbackUrlstring | nullWhere the job's result is POSTed
callbackobject | nullThe newest delivery to callbackUrl, once the job has finished. Null until then, and when there is no callbackUrl.
Child attributes
urlstringdeliveryIdstringstatusenum<string>One of pending, retrying, succeeded, failed or cancelled.
attemptsintegerresponseStatusinteger | nullerrorstring | nulldeliveredAtstring | nullnextRetryAtstring | nullErrors
plan_limitThe workspace plan does not allow this, or AI credits are exhausted.
rate_limitedToo many requests.