# API reference

> Every endpoint of the MockFlow Boards API, generated from the OpenAPI contract.

Source: https://mockflow.com/developers/reference

62 operations across 10 groups, on version 2026-10-01 of the contract. Every page here is generated from the OpenAPI document the API serves, so it cannot disagree with the running API.

### Authentication

- `Authorization` (string, required): `Bearer <key>` on every request. Create a key in the [developer console](/developers/console/): it acts as you, with the scopes you choose, and is shown once. Keep it out of client side code.
- `Base URL`: `https://api.mockflow.com/v1`. Every path below is relative to it.
- `OpenAPI`: `https://api.mockflow.com/v1/openapi.json`. The machine readable contract, for generating a client or importing into a tool.
- `Scopes`: Each operation lists the scope it needs. See [scopes](/developers/concepts/scopes), and [errors](/developers/concepts/errors), [pagination](/developers/concepts/pagination), [rate limits](/developers/concepts/rate-limits), [idempotency](/developers/concepts/idempotency) and [versioning](/developers/concepts/versioning) for the rules every call shares.

## Endpoints

### Me

- [Get the current user](/developers/reference/me/get-me) (GET /me): The person behind the token, the workspace they belong to, and its plan.
- [Get AI credits](/developers/reference/me/get-credits) (GET /me/credits): The AI credit wallet and the Mida message quota, both metered per workspace and reset monthly.
- [Get plan limits](/developers/reference/me/get-limits) (GET /me/limits): What the workspace plan allows before you try.
- [Notification settings](/developers/reference/me/get-notification-settings) (GET /me/notification-settings): Whether the workspace receives notification emails.
- [Change notification settings](/developers/reference/me/set-notification-settings) (PUT /me/notification-settings)
- [My notifications](/developers/reference/me/list-notifications) (GET /me/notifications): The notification stream the product emails from, newest first: comments and updates on boards shared with you.
- [Mark a notification read](/developers/reference/me/read-notification) (POST /me/notifications/{notificationId}/read)
- [Sources Mida can read from](/developers/reference/me/list-sources) (GET /me/sources): The connectors (Jira, Trello, Slack, Notion and the rest) Mida can pull from in the editor, and which ones this person has connected.

### Spaces

- [List design spaces](/developers/reference/spaces/list-spaces) (GET /spaces): Every space the token can see, in dashboard order: the workspace's own, the ones shared with the person, and the two built-in spaces default (boards in no space) and trash.
- [Create a design space](/developers/reference/spaces/create-space) (POST /spaces): Basic accounts have one space; the cap answers 402.
- [Get a space](/developers/reference/spaces/get-space) (GET /spaces/{spaceId})
- [Rename or reorder a space](/developers/reference/spaces/update-space) (PATCH /spaces/{spaceId}): Rename is open to a shared admin or editor.
- [Move a space to trash](/developers/reference/spaces/delete-space) (DELETE /spaces/{spaceId}): The space and every board in it go to the trash for 30 days, as in the app.
- [List space members](/developers/reference/spaces/list-space-members) (GET /spaces/{spaceId}/members): Sharing happens on the space.
- [Share a space with a person](/developers/reference/spaces/add-space-member) (POST /spaces/{spaceId}/members): Adds or updates the person's role.
- [Change a member's role](/developers/reference/spaces/update-space-member) (PATCH /spaces/{spaceId}/members/{email})
- [Remove a member](/developers/reference/spaces/remove-space-member) (DELETE /spaces/{spaceId}/members/{email})
- [Get the space's public link](/developers/reference/spaces/get-space-public-link) (GET /spaces/{spaceId}/public-link)
- [Enable, configure or disable the space's public link](/developers/reference/spaces/set-space-public-link) (PUT /spaces/{spaceId}/public-link)
- [Restore a space from trash](/developers/reference/spaces/restore-space) (POST /spaces/{spaceId}/restore): Brings the space and the boards that went with it back.

### Boards

- [List boards](/developers/reference/boards/list-boards) (GET /boards): Boards the token can read: the workspace's own, boards shared with the person, and boards in spaces shared with them.
- [Create a board](/developers/reference/boards/create-board) (POST /boards): A new board in a space, or in the default space when spaceId is omitted.
- [Recently updated boards](/developers/reference/boards/list-recent-boards) (GET /boards/recent): The dashboard's Recent strip, the ten most recently updated boards across everything the token can see.
- [Get a board](/developers/reference/boards/get-board) (GET /boards/{boardId})
- [Rename, lock, reorder or move a board](/developers/reference/boards/update-board) (PATCH /boards/{boardId}): Rename and lock need admin.
- [Trash or delete a board](/developers/reference/boards/delete-board) (DELETE /boards/{boardId}): On Plus and Max the board goes to the trash for 30 days.
- [The board's activity feed](/developers/reference/boards/list-activity) (GET /boards/{boardId}/activity): The same rows the Activity panel shows, newest first.
- [Duplicate a board](/developers/reference/boards/duplicate-board) (POST /boards/{boardId}/duplicate): A copy titled "Copy_" plus the title, in the same space, with its pages, uploaded images, fonts, prototypes and artifacts.
- [The board as text](/developers/reference/boards/get-board-outline) (GET /boards/{boardId}/outline): The board the way the product's own board scan reads it: sections with the items inside them in reading order, standalone items, and the connections between items.
- [Restore a board from trash](/developers/reference/boards/restore-board) (POST /boards/{boardId}/restore): Plus and Max only.
- [The board's structure](/developers/reference/boards/get-board-structure) (GET /boards/{boardId}/structure): The machine view behind the outline.

### Items

- [List items](/developers/reference/items/list-items) (GET /boards/{boardId}/items): Every item on the board in z-order, flat: sections contain items by position, which sectionId reports.
- [Create an item](/developers/reference/items/create-item) (POST /boards/{boardId}/items): Any creatable type.
- [Get an item](/developers/reference/items/get-item) (GET /boards/{boardId}/items/{itemId}): Geometry, where it sits, and data decoded per the type's readback.
- [Move, resize, replace data or reply](/developers/reference/items/update-item) (PATCH /boards/{boardId}/items/{itemId}): position and size move and resize any item.
- [Delete an item](/developers/reference/items/delete-item) (DELETE /boards/{boardId}/items/{itemId}): Deleting a comment pin is how a comment is resolved, as in the app.
- [Convert an item to another type](/developers/reference/items/convert-item) (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.
- [An item's content as numbered lines](/developers/reference/items/get-item-text) (GET /boards/{boardId}/items/{itemId}/text): The whole content of one item, paged by line, the way the product's own read tool hands it to an agent.
- [Create, move, resize or delete many items in one draw](/developers/reference/items/batch-items) (POST /boards/{boardId}/items:batch): Up to 100 operations, validated together before anything is drawn, then drawn as one action.
- [The item type catalog](/developers/reference/items/list-item-types) (GET /item-types): Every item type, generated from the component registry.
- [One item type, with its schema and an example](/developers/reference/items/get-item-type) (GET /item-types/{type}): The JSON schema for that type's data, exactly what POST /boards/{boardId}/items validates against, plus an example payload and the types it can be converted to.
- [Check a payload without drawing it](/developers/reference/items/validate-item-data) (POST /item-types/{type}:validate): Runs the same validation a create would, and answers 422 with the field that is wrong, or 200.

### Members

- [Who can open this board](/developers/reference/members/list-members) (GET /boards/{boardId}/members): The effective members: the owner, people the space is shared with (inheritedFrom is the space), and people the board itself was shared with from the editor.
- [Get the public link](/developers/reference/members/get-public-link) (GET /boards/{boardId}/public-link)
- [Enable, configure or disable the public link](/developers/reference/members/set-public-link) (PUT /boards/{boardId}/public-link): Admin and above.

### AI

- [Ask Mida about the board](/developers/reference/ai/ai-ask) (POST /boards/{boardId}/ai/ask): Answers from the board's own content, the same text the outline shows, and cites the items it used.
- [Generate items from a prompt](/developers/reference/ai/ai-generate) (POST /boards/{boardId}/ai/generate): Mida turns a prompt into one or more items on the board.
- [Rewrite one item from an instruction](/developers/reference/ai/ai-modify) (POST /boards/{boardId}/ai/modify): Mida rewrites a frame in place, as the component's own "modify with AI" does.
- [What Mida would build, without building it](/developers/reference/ai/ai-plan) (POST /boards/{boardId}/ai/plan): The planner's proposal for a prompt, the same one the editor shows for approval before it generates.
- [Mida's review of the board](/developers/reference/ai/ai-review) (POST /boards/{boardId}/ai/review): Feedback on the board's content, scored per aspect and overall, in the shape the editor's AI review uses.

### Skills

- [Generate on a board with a skill](/developers/reference/skills/apply-skill) (POST /boards/{boardId}/skills/{skillId}/apply): Runs a generation with the skill's instructions appended to the prompt and its output type forced, as the editor does when a skill is active.
- [List skills](/developers/reference/skills/list-skills) (GET /skills): scope=public (default) is the curated library.
- [Create a skill](/developers/reference/skills/create-skill) (POST /skills): Plus and Max only.
- [Have Mida draft a skill](/developers/reference/skills/draft-skill) (POST /skills/draft): Returns a draft (name, description, system prompt, placeholder, tags) for a description and an output type.
- [Get a skill](/developers/reference/skills/get-skill) (GET /skills/{skillId})
- [Update a skill you made](/developers/reference/skills/update-skill) (PATCH /skills/{skillId})
- [Delete a skill you made](/developers/reference/skills/delete-skill) (DELETE /skills/{skillId})

### Collaboration

- [Team chat history](/developers/reference/collaboration/list-chat) (GET /boards/{boardId}/chat): The board's team chat, oldest first within a page.
- [Post to the team chat](/developers/reference/collaboration/post-chat-message) (POST /boards/{boardId}/chat): Posts as the token's owner.
- [Who has the board open right now](/developers/reference/collaboration/get-presence) (GET /boards/{boardId}/presence)

### Jobs

- [Get a job](/developers/reference/jobs/get-job) (GET /jobs/{jobId})

### Search

- [Search boards and items](/developers/reference/search/search) (GET /search): Two searches in one.

### Item types

- [Item types](/developers/reference/item-types): Every `type` an item can have, its `data` schema and the MCP tool that renders the same payload.
