Skip to content
Get an API key

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

Updated 16 Sep 20265 min read

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

Authorizationstringheaderrequired

Bearer <key> on every request. Create a key in the developer 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, and errors, pagination, rate limits, idempotency and versioning for the rules every call shares.

Endpoints

Me

The person behind the token, the workspace they belong to, and its plan.

Get AI creditsGET /me/credits

The AI credit wallet and the Mida message quota, both metered per workspace and reset monthly.

Get plan limitsGET /me/limits

What the workspace plan allows before you try.

Notification settingsGET /me/notification-settings

Whether the workspace receives notification emails.

Change notification settingsPUT /me/notification-settings
My notificationsGET /me/notifications

The notification stream the product emails from, newest first: comments and updates on boards shared with you.

Mark a notification readPOST /me/notifications/{notificationId}/read

The connectors (Jira, Trello, Slack, Notion and the rest) Mida can pull from in the editor, and which ones this person has connected.

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.

Basic accounts have one space; the cap answers 402.

Get a spaceGET /spaces/{spaceId}
Rename or reorder a spacePATCH /spaces/{spaceId}

Rename is open to a shared admin or editor.

Move a space to trashDELETE /spaces/{spaceId}

The space and every board in it go to the trash for 30 days, as in the app.

List space membersGET /spaces/{spaceId}/members

Sharing happens on the space.

Share a space with a personPOST /spaces/{spaceId}/members

Adds or updates the person's role.

Change a member's rolePATCH /spaces/{spaceId}/members/{email}
Remove a memberDELETE /spaces/{spaceId}/members/{email}
Get the space's public linkGET /spaces/{spaceId}/public-link
Restore a space from trashPOST /spaces/{spaceId}/restore

Brings the space and the boards that went with it back.

Boards

List boardsGET /boards

Boards the token can read: the workspace's own, boards shared with the person, and boards in spaces shared with them.

Create a boardPOST /boards

A new board in a space, or in the default space when spaceId is omitted.

Recently updated boardsGET /boards/recent

The dashboard's Recent strip, the ten most recently updated boards across everything the token can see.

Get a boardGET /boards/{boardId}

Rename and lock need admin.

Trash or delete a boardDELETE /boards/{boardId}

On Plus and Max the board goes to the trash for 30 days.

The board's activity feedGET /boards/{boardId}/activity

The same rows the Activity panel shows, newest first.

Duplicate a boardPOST /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 textGET /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 trashPOST /boards/{boardId}/restore

Plus and Max only.

The board's structureGET /boards/{boardId}/structure

The machine view behind the outline.

Items

List itemsGET /boards/{boardId}/items

Every item on the board in z-order, flat: sections contain items by position, which sectionId reports.

Create an itemPOST /boards/{boardId}/items

Any creatable type.

Get an itemGET /boards/{boardId}/items/{itemId}

Geometry, where it sits, and data decoded per the type's readback.

Move, resize, replace data or replyPATCH /boards/{boardId}/items/{itemId}

position and size move and resize any item.

Delete an itemDELETE /boards/{boardId}/items/{itemId}

Deleting a comment pin is how a comment is resolved, as in the app.

Convert an item to another typePOST /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 linesGET /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.

Up to 100 operations, validated together before anything is drawn, then drawn as one action.

The item type catalogGET /item-types

Every item type, generated from the component registry.

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 itPOST /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 boardGET /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 linkGET /boards/{boardId}/public-link
Enable, configure or disable the public linkPUT /boards/{boardId}/public-link

Admin and above.

AI

Ask Mida about the boardPOST /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 promptPOST /boards/{boardId}/ai/generate

Mida turns a prompt into one or more items on the board.

Rewrite one item from an instructionPOST /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 itPOST /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 boardPOST /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 skillPOST /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 skillsGET /skills

scope=public (default) is the curated library.

Create a skillPOST /skills

Plus and Max only.

Have Mida draft a skillPOST /skills/draft

Returns a draft (name, description, system prompt, placeholder, tags) for a description and an output type.

Get a skillGET /skills/{skillId}
Update a skill you madePATCH /skills/{skillId}
Delete a skill you madeDELETE /skills/{skillId}

Collaboration

Team chat historyGET /boards/{boardId}/chat

The board's team chat, oldest first within a page.

Post to the team chatPOST /boards/{boardId}/chat

Posts as the token's owner.

Who has the board open right nowGET /boards/{boardId}/presence

Jobs

Get a jobGET /jobs/{jobId}

Two searches in one.

Item types

Every type an item can have, its data schema and the MCP tool that renders the same payload.

Was this page helpful?

Sign in to MockFlow

The same account you use in the app and on the API.

Forgot your password?
or
Continue with GoogleContinue with Microsoft