Skip to content
All connectors
Miro logo

Miro

Project & work management

Turn requests and orders into Miro work, and keep status in step across your tools.

25 ways to read, 29 ways to write, each write switched on by you.

Quality checks

Built and tested with example responses.

  1. Ready to connect: doneEvery listed action is built in.
  2. Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Miro with Nexra

Connected, approved, proven.

The things teams do most with Miro, an example flow with a person in the loop, and what Nexra keeps as proof.

Top actions

  • Create app cardapp_cards.createApproval by rule
  • Copy boardboard_copies.createApproval by rule
  • List board membersboard_members.listRead

Example flow

  1. Miro · List board membersboard_members.listDone
  2. Miro · Create app cardapp_cards.createMaker-checker
  3. Nexra · Record the decision and result in the evidence chainProven

Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Miro.

What gets logged

  • Whether it ran on its own or who approved it, and under which rule
  • A fingerprint of the exact request sent to Miro
  • Miro's reply: what it created or changed
  • One entry in the evidence chain, linked to the one before

Try this in the sandbox

Run the whole flow with test data in your sandbox, then connect a Miro test account before you go live.

For developers

Technical detail

Read and write Miro boards, sticky notes, cards, shapes, text, frames, images, documents, embeds, app cards, doc items, groups, tags and connectors, and read board members, items and token details.

Miro API docs
Source actions
25
Destination actions
29
Data types
21

What you can map

Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.

app cards3
  • Create app cardDestinationNot retried automaticallyApproval before production

    Add an app card to a board.

  • Get app cardSource

    One app card with its data, position and geometry.

  • Update app cardDestinationProvider duplicate protectionApproval before production

    Update the supplied data, position or size of an app card.

board copies1
  • Copy boardDestinationNot retried automaticallyApproval before production

    Copy a board (for example a workshop template) with a new name.

board members2
  • Get board memberSource

    One board member and role.

  • List board membersSource

    Users with access to a board and their roles; read only.

boards4
  • Create boardDestinationNot retried automaticallyApproval before production

    Create a board with Miro's default sharing policy.

  • Get boardSource

    One board with owner, team, space and last-opened details.

  • List boardsSource

    Boards the user can access, optionally within a team or space.

  • Update boardDestinationProvider duplicate protectionApproval before production

    Rename a board, change its description or move it to another team or space.

cards3
  • Create cardDestinationNot retried automaticallyApproval before production

    Add a card to a board.

  • Get cardSource

    One card with its data, style, position and geometry.

  • Update cardDestinationProvider duplicate protectionApproval before production

    Update the supplied data, style, position or geometry of a card.

connectors4
  • Create connectorDestinationNot retried automaticallyApproval before production

    Connect two items on a board (frames are not supported as endpoints).

  • Get connectorSource

    One connector.

  • List connectorsSource

    Lines that connect items on a board.

  • Update connectorDestinationProvider duplicate protectionApproval before production

    Change a connector's endpoints, shape, captions or style.

doc items2
  • Create doc itemDestinationNot retried automaticallyApproval before production

    Add a doc format item written in Markdown to a board.

  • Get doc itemSource

    One doc format item with its content as HTML or Markdown.

documents3
  • Create documentDestinationNot retried automaticallyApproval before production

    Add a document to a board.

  • Get documentSource

    One document with its data, position and geometry.

  • Update documentDestinationProvider duplicate protectionApproval before production

    Update the supplied data, position or size of a document.

embeds3
  • Create embedDestinationNot retried automaticallyApproval before production

    Add a embed to a board.

  • Get embedSource

    One embed with its data, position and geometry.

  • Update embedDestinationProvider duplicate protectionApproval before production

    Update the supplied data, position or size of a embed.

frames3
  • Create frameDestinationNot retried automaticallyApproval before production

    Add a frame to a board.

  • Get frameSource

    One frame with its data, style, position and geometry.

  • Update frameDestinationProvider duplicate protectionApproval before production

    Update the supplied data, style, position or geometry of a frame.

group items1
  • List group itemsSource

    Items that belong to a group, with their data and position.

groups2
  • Create groupDestinationNot retried automaticallyApproval before production

    Group items on a board so they move together.

  • List groupsSource

    Groups on a board with the IDs of the items in each group.

images3
  • Create imageDestinationNot retried automaticallyApproval before production

    Add a image to a board.

  • Get imageSource

    One image with its data, position and geometry.

  • Update imageDestinationProvider duplicate protectionApproval before production

    Update the supplied data, position or size of a image.

item tags2
  • Attach tag to itemDestinationProvider duplicate protectionApproval before production

    Attach an existing tag to a card or sticky note (up to 8 tags per item).

  • List item tagsSource

    Tags attached to a card or sticky note.

items3
  • Get board itemSource

    One item of any type.

  • List board itemsSource

    All items on a board, optionally of one type, or the items inside a frame.

  • Move board itemDestinationProvider duplicate protectionApproval before production

    Change an item's position or the frame that contains it.

shapes3
  • Create shapeDestinationNot retried automaticallyApproval before production

    Add a shape to a board.

  • Get shapeSource

    One shape with its data, style, position and geometry.

  • Update shapeDestinationProvider duplicate protectionApproval before production

    Update the supplied data, style, position or geometry of a shape.

sticky notes3
  • Create sticky noteDestinationNot retried automaticallyApproval before production

    Add a sticky note to a board.

  • Get sticky noteSource

    One sticky note with its data, style, position and geometry.

  • Update sticky noteDestinationProvider duplicate protectionApproval before production

    Update the supplied data, style, position or geometry of a sticky note.

tagged items1
  • List items with tagSource

    Cards and sticky notes that carry a tag.

tags4
  • Create tagDestinationNot retried automaticallyApproval before production

    Create a tag on a board. Titles are case-sensitive and must be unique.

  • Get tagSource

    One board tag.

  • List tagsSource

    Tags defined on a board.

  • Update tagDestinationProvider duplicate protectionApproval before production

    Rename or recolour a board tag.

texts3
  • Create text itemDestinationNot retried automaticallyApproval before production

    Add a text item to a board.

  • Get text itemSource

    One text item with its data, style, position and geometry.

  • Update text itemDestinationProvider duplicate protectionApproval before production

    Update the supplied data, style, position or geometry of a text item.

token info1
  • Get token detailsSource

    The user, team, organization and scopes of the connected access token.

Access and limits

Authentication
Miro OAuth app with expiring access tokens and a refresh token
Plans and access
All Miro plans can use the REST API through an app created in the developer settings; Free plans are limited to three editable team boards. Calls act as the user who installed the app and see only boards that user can access; board content edits require editor rights on the board.
Test environment
Create a free Developer team in Miro to test apps without affecting production boards.
Rate limits
Credit based: 100,000 credits per minute per user and app; level 1 calls cost 50 credits, level 2 cost 100, level 3 cost 500 and level 4 (board copy) cost 2,000. HTTP 429 with X-RateLimit-Reset when exceeded.
Pagination
Boards, members, tags and items by tag use offset and limit (max 50) with total; items and connectors use cursor with limit 10-50.
Provider events
Board subscriptions (experimental webhooks) for board item events. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.

Before you build a flow

  • Board sharing is never changed: inviting members (share board), changing member roles, removing members and editing sharing or permission policies are not implemented. Boards are created and copied with Miro's default policy.
  • Deleting boards, items, tags or connectors, removing tags from items, and ungrouping are not implemented.
  • Images and documents are added from public HTTPS URLs only; uploading local files, mind maps (experimental API), flowchart shapes and code widgets (experimental), and bulk item creation are not implemented.
  • Groups can be listed, read and created. Replacing a group (which assigns a new group ID), ungrouping and deleting groups are not implemented.
  • Doc items can be created from Markdown and read as HTML or Markdown; Miro has no update endpoint for doc items.
  • Organization, team and user-management (SCIM) APIs, audit logs and board export are Enterprise administration features and are not implemented.
  • Miro has no modified-since filter on items; flows must read whole boards and compare modifiedAt.
  • Tag changes made through the API appear on open boards only after a refresh, as Miro documents.
  • Miro documents passing refresh credentials as query parameters; Nexra sends them in the form-encoded request body instead, which the token endpoint accepts, so no secret appears in a URL.
  • Miro has no idempotency key; uncertain creates are not repeated automatically.
  • Miro's 429 responses carry X-RateLimit-Reset (a Unix epoch timestamp) rather than Retry-After; Nexra waits until that reset, up to its 20-second in-process limit, and otherwise reports the reset time for a later retry.

Developer reference

  1. Create the Miro credentials described above with the narrowest permissions your flows need.
  2. In Nexra, open Connect, then Connections, then New connection, choose Miro, enter its settings and credentials, and tick only the write actions you need. Connection guide
  3. Test the connection, then use its actions as flow sources and destinations. Flow guide

Machine-readable detail: GET /api/public/connect/connectors/miro and the Connections API.