# Miro Developer Platform Documentation > The Miro Developer Platform enables developers to create apps and integrations on top of Miro boards to add extra or custom functionality, and to sync Miro with third-party products. Append .md to any documentation page URL to get its markdown version. ## Guides - [Introduction](https://developers.miro.com/docs/introduction.md): The Miro Developer Platform offers tools, documentation, and lots of sample apps to help you build apps that extend Miro board functionality. - [Web SDK vs REST API](https://developers.miro.com/docs/miro-web-sdk-vs-rest-apis.md) - [Developer team](https://developers.miro.com/docs/developer-team.md): Create a Developer team where you can safely test apps in isolation, as you develop them. - [Create a Developer team](https://developers.miro.com/docs/create-a-developer-team.md): Before you start building apps, create a Developer team: it's your sandboxed environment to develop and test apps. - [Change the Developer team name](https://developers.miro.com/docs/change-the-developer-team-name.md): You can change the default name assigned to the Developer team to a custom one. - [Delete the Developer team](https://developers.miro.com/docs/delete-the-developer-team.md): If you decide to delete the Developer team associated with your user account name, keep in mind that the operation is irreversible. - [Migrating a developer app](https://developers.miro.com/docs/migrating-a-developer-app.md): Developers may occasionally need to move an app from one Miro account or team to another during testing or staging. This guide covers best practices for migrating your app and its associated settings to another account or team. - [App manifest](https://developers.miro.com/docs/app-manifest.md): Reference documentation for the YAML app manifest and its fields. - [Boards](https://developers.miro.com/docs/boards.md): Miro apps can position and move items on a board by specifying coordinates, which can be relative to the board or to a parent item. - [Board items](https://developers.miro.com/docs/board-items.md): Board items help board users share information on a board. - [Children inside parent items](https://developers.miro.com/docs/children-inside-parent-items.md): Parent items can contain other board items as their children. The parent/child relationship affects the positioning reference and item resizing. - [App card](https://developers.miro.com/docs/app-card.md) - [App card use cases](https://developers.miro.com/docs/app-card-use-cases.md) - [Edit, update, and keep app cards synced](https://developers.miro.com/docs/edit-update-and-keep-app-cards-synced.md) - [Backend flow for app cards](https://developers.miro.com/docs/backend-flow-for-app-cards.md) - [Card](https://developers.miro.com/docs/card-1.md): Create cards to track task progress: who owns a task, and when it's due. - [Connector](https://developers.miro.com/docs/connector_intro.md): Create connectors to connect two items on a board, create diagrams, and map workflows in a visual manner. - [Embed](https://developers.miro.com/docs/embed-2.md): Embed external content from third-party providers to access it on a board. - [Events](https://developers.miro.com/docs/events.md): Understand the differences between all of the events offered, including: Board UI events, Realtime events, and others - [Frame](https://developers.miro.com/docs/frame-1.md): Frames group items on a board. - [Image](https://developers.miro.com/docs/image-1.md): Add images to a board: specify a URL or drop a file on a board. - [Mind map (Experimental)](https://developers.miro.com/docs/mind-maps.md): Create, read, update, or delete mind maps to programmatically represent and interact with complex structures of information into Miro boards. With minimal development effort, you can also seamlessly import and export from third-party tools, or transform mind map information into other item types in Miro. - [Preview](https://developers.miro.com/docs/preview-1.md): Preview external content in a tile. - [Shape](https://developers.miro.com/docs/shape-1.md): Draw geometric shapes on a board. - [Sticky note](https://developers.miro.com/docs/stickynote-1.md): Handy note-taking on a board. - [Storage](https://developers.miro.com/docs/storage.md): Understand the differences between the three different types of storage offered: App Metadata, Board Item Metadata, and Storage Collection. - [Text](https://developers.miro.com/docs/text-1.md): Add an input field to enter text on a board. - [Tag](https://developers.miro.com/docs/tag-concepts.md): Add tags to cards and sticky notes to sort information. - [Migrate from v1 to v2](https://developers.miro.com/docs/migrate-from-v1-to-v2.md): This guide helps you migrate to the newer and more robust Developer Platform v2, highlighting key changes and necessary steps for a smooth transition. - [Web SDK comparison guide](https://developers.miro.com/docs/web-sdk-comparison-guide.md) - [Web SDK reference guide](https://developers.miro.com/docs/web-sdk-reference-guide.md) - [REST API comparison guide](https://developers.miro.com/docs/rest-api-comparison-guide.md) - [REST API reference guide](https://developers.miro.com/docs/rest-api-reference-guide.md) - [Miro's MCP Server](https://developers.miro.com/docs/miro-mcp.md): Learn how to connect AI agents to your Miro team. - [Getting started with Miro's MCP Server](https://developers.miro.com/docs/connecting-to-miro-mcp.md): Learn how to connect Miro's MCP Server with your AI tool of choice. - [MCP use cases and example prompts](https://developers.miro.com/docs/mcp-use-cases-and-example-prompts.md): The jobs the Miro MCP server helps you get done, with prompts you can copy and adapt. - [Miro MCP Server Tools](https://developers.miro.com/docs/miro-mcp-tools.md): Learn what you can do with Miro's MCP Server via the tools we extend to agents. - [Connecting Miro's MCP Server to MCP Clients](https://developers.miro.com/docs/connecting-miro-mcp-to-ai-coding-tools.md): Step by step guides on how to configure Miro's MCP Server to MCP Clients. - [MCP Tutorials](https://developers.miro.com/docs/mcp-tutorials.md): MCP Tutorials to help you get started using Miro's MCP Server - [Tutorial: How to Build a Landing Page from a Miro Board w/ Lovable + Miro MCP](https://developers.miro.com/docs/tutorial-how-to-build-a-lovable-landing-page-based-on-miro-board-context.md): How to take a simple product idea, expanding it into a full product concept using Miro MCP + Lovable. - [Tutorial: Build a Node.js app from a Miro Board with Miro MCP + Cursor](https://developers.miro.com/docs/tutorial-build-a-nodejs-app-from-a-miro-board-with-miro-mcp-cursor.md): Use product requirements, diagrams, and architecture notes from a Miro board and automatically generate a running Node.js web application. - [Tutorial: How to Generate Diagrams from Code w/ Miro MCP & VSCode + GitHub Copilot](https://developers.miro.com/docs/guided-tutorial-generating-code-diagrams-with-miro-mcp-vs-code.md): Use Miro's MCP server within VSCode + GitHub Copilot to automatically generate technical diagrams from code. - [Miro MCP Server Troubleshooting](https://developers.miro.com/docs/miro-mcp-server-faq-and-troubleshooting.md): Find solutions to issues and common errors with Miro's MCP Server. - [Miro MCP Server — Frequently Asked Questions](https://developers.miro.com/docs/miro-mcp-server-frequently-asked-questions.md): Questions we hear most often about connecting AI tools to Miro through the MCP Server - [MCP Usage and Daily Limits](https://developers.miro.com/docs/mcp-usage-and-daily-limits.md): Understand MCP tool-call limits by plan and how to get more - [MCP Server vs REST API](https://developers.miro.com/docs/mcp-server-vs-rest-api.md): Differences between the MCP Server and REST APIs and when to use each one. - [OIDC support for Miro MCP](https://developers.miro.com/docs/oidc-support-for-miro-mcp.md): Keep your company data safe while connecting Miro to AI tools like Claude. - [Introduction](https://developers.miro.com/docs/miro-web-sdk-introduction.md): A full-fledged JavaScript/TypeScript SDK to build apps that interact with Miro boards to enhance the user experience. - [Miro Web SDK and board items](https://developers.miro.com/docs/miro-web-sdk-board-items-crud.md): A quick overview of the CRUD operations that the Web SDK can perform on supported board items. - [App panels and modals](https://developers.miro.com/docs/app-panels-and-modals.md): Apps run inside iframes on the board. App panels and modals help you structure the flow of user interaction in your app. - [Onboarding essentials](https://developers.miro.com/docs/guided-onboarding.md): A guided path with practical tasks to onboard you to the Miro Developer Platform. - [1) Create your first board item with the Web SDK](https://developers.miro.com/docs/task-1-create-your-first-board-item-with-the-web-sdk.md): Use the Miro Web SDK to create a board in the first onboarding task. - [2) Update an item's properties with `sync()`](https://developers.miro.com/docs/task-2-update-an-items-properties-with-sync.md): In the second task of the guided onboarding, you modify and then update board items with the `sync()` method. - [3) Run your first app in Miro](https://developers.miro.com/docs/task-3-run-your-first-app-in-miro.md): In the third task of the guided onboarding, you create and run an app on a board. - [4) Interact with your app in Miro](https://developers.miro.com/docs/task-4-interact-with-your-app-in-miro.md): In the fourth task of the guided onboarding, you interact as a board user with your running app. - [5) Join the conversation](https://developers.miro.com/docs/task-5-join-the-conversation.md): In the fifth task of the guided onboarding, you join the Miro Developer Community to ask questions and exchange ideas. - [6) Install a Marketplace app](https://developers.miro.com/docs/task-6-install-a-marketplace-app.md): In the sixth task of the guided onboarding, you install an app from the Miro Marketplace on a board. - [7) Add Mirotone to an existing app](https://developers.miro.com/docs/task-7-add-mirotone-to-an-existing-app.md): In the seventh task of the guided onboarding, you style the look and feel of an app using Mirotone components. - [Onboarding wrap-up](https://developers.miro.com/docs/onboarding-wrap-up.md): This is the wrap-up of the guided onboarding: congratulations! - [Challenge: Where's Miro?](https://developers.miro.com/docs/challenge-wheres-miro.md): Test out your Web SDK skills with this optional challenge. - [Submit and share your app](https://developers.miro.com/docs/submit-and-share-your-app.md): Learn how to publish your app to the Miro Marketplace and reach millions of Miro users. - [1) Share an app outside of a developer team](https://developers.miro.com/docs/share-an-app-outside-of-a-developer-team.md): Share the install link of your app so that other users can install and use it. - [2) Understand app submission requirements](https://developers.miro.com/docs/understand-app-submission-requirements.md): Get familiar with the app submission process, before you launch your app. - [3) Publish a Miro app](https://developers.miro.com/docs/publish-a-miro-app.md): Learn how to publish your app to the Miro Marketplace and reach millions of Miro users. - [4) Share your ideas with us](https://developers.miro.com/docs/share-your-ideas-with-us.md): Share ideas with and get inspiration from the community. - [Submit and share wrap-up](https://developers.miro.com/docs/submit-and-share-wrap-up.md): This is the wrap-up of the submit and share your app activities: congratulations! - [In-depth training modules](https://developers.miro.com/docs/in-depth-training-modules.md): Advanced trainings to learn more complex use cases that leverage the Miro Web SDK and REST API. - [1) Create your 1st Miro app locally](https://developers.miro.com/docs/training-1-create-your-1st-miro-app-locally.md): In this training you create, develop, and run a Miro app on your local machine. - [2) Build a full-stack Miro app](https://developers.miro.com/docs/2-build-a-fullstack-miro-app.md): In this training you leverage the Miro Web SDK and REST API to create a full-stack Miro app. - [Quickstart](https://developers.miro.com/docs/try-out-the-web-sdk.md): Get started, try the SDK in less than 1 minute, and use the Miro Web SDK in the developer console to get acquainted with its feature set. - [Video: try the Web SDK in less than 1 minute](https://developers.miro.com/docs/try-out-the-web-sdk-in-less-than-1-minute.md): Get started in less than 1 minute: watch the video walkthrough and use the Miro Web SDK in the developer console to get acquainted with its feature set. - [Build your first Hello World app](https://developers.miro.com/docs/build-your-first-hello-app.md): Learn how to build your first app with the Miro Developer Platform. - [Build a Web SDK app](https://developers.miro.com/docs/build-your-first-hello-world-app.md): The Miro Web SDK sample app includes boilerplate and scaffolding to make it fast and easy to run a Miro app on a board. - [Build a full-stack (Next.js) app](https://developers.miro.com/docs/build-your-first-full-stack-hello-world-app.md): This sample app includes boilerplate and scaffolding to make it fast and easy to run a full-stack (Next.js) Miro app on a board. - [Enable running apps as instant apps](https://developers.miro.com/docs/manually-create-an-app.md): Apps that use only the Miro Web SDK and that don't need OAuth are on a fast-lane to reach Miro users. - [How-Tos & tutorials](https://developers.miro.com/docs/web-sdk-how-tos.md): Short how-tos and step-by-step tutorials to walk you through typical use cases when working with the Miro Web SDK. - [Use the browser developer tools with the Miro Web SDK](https://developers.miro.com/docs/use-the-developer-tools-with-the-miro-web-sdk.md): Use the developer console to explore the Miro Web SDK, to experiment, and to debug your app. - [Update and sync item properties](https://developers.miro.com/docs/update-and-sync-item-properties.md): Update an item's properties, and then sync the item to propagate the changes to the board. - [Add icon click to your app](https://developers.miro.com/docs/add-icon-click-to-your-app.md): Enable clicking an icon to call a function that performs an action. - [Add an icon to your app](https://developers.miro.com/docs/add-a-logo-to-your-app.md): If your app includes a UI to complement the Miro UI, add a custom app icon to make it easy to visually identify your app. - [Add drag and drop to your app](https://developers.miro.com/docs/add-drag-and-drop-to-your-app.md): Enable dragging and dropping HTML elements from an open panel to the current board. - [Add permission scopes to your app](https://developers.miro.com/docs/add-permission-scopes-to-your-app.md): Add specific permission scopes to your app so that it can access only the user data it needs to work. - [Add search and filter to your app](https://developers.miro.com/docs/adding-search-and-filter-to-an-sdk-app.md): Add search and filter functionality to an app built with the Miro Web SDK. - [Build a calendar app in Miro](https://developers.miro.com/docs/building-a-calendar-app-in-miro.md): Use the Miro Web SDK to build a calendar app for Miro boards. - [Convert sticky notes to shapes](https://developers.miro.com/docs/converting-sticky-notes-to-shapes.md): Use the Miro Web SDK to build an app for Miro boards that converts user-selected sticky notes to shapes. - [Create mind map from CSV](https://developers.miro.com/docs/create-mind-map-from-csv.md): Use the Miro Web SDK to build an app that imports data from a CSV file and automatically creates a mind map on a Miro board. - [Add custom actions to your app](https://developers.miro.com/docs/add-custom-actions-to-your-app.md): Custom actions are a quick way to get one or more tasks done with your apps. Users can launch a custom action associated with your app through the context menu of a board item. - [Deploy a Miro app](https://developers.miro.com/docs/deploy-a-miro-app.md): Learn how to host your app publicly and distribute it through Miro's Marketplace. - [Log in to a third-party service using OAuth](https://developers.miro.com/docs/log-in-to-a-third-party-service-using-oauth.md): This guide teaches you to how to handle logging into a third-party service (Slack) using OAuth. The guide will teach you how to store user information using local storage. - [Enable 2-way sync between app cards and GitHub cards](https://developers.miro.com/docs/enable-2-way-sync-between-app-cards-and-github-cards.md): Use the Miro REST API and Web SDK to build an app that enables syncing data between Miro app cards on a Miro board and connected GitHub cards on a GitHub project board. - [Enable REST API authentication from Miro's Web SDK authorization](https://developers.miro.com/docs/enable_api_authentication_from_sdk_authorization.md) - [Integrate a digital asset manager in Miro](https://developers.miro.com/docs/integrate-a-digital-asset-manager-in-miro.md): Make the images, logos, and other assets you need available directly in a Miro board, when you need them. - [Convert frame coordinates to board coordinates](https://developers.miro.com/docs/frame-coordinates-to-board-coordinates.md): Convert `x` and `y` values of a board item from relative to the top-left corner of a parent frame to relative to the center of the board. - [SVG app icon optimization guidelines](https://developers.miro.com/docs/svg-app-icon-optimization.md): Guidelines and recommendations to optimize SVG files to be correctly displayed in apps and metadata. - [Upload images and SVGs as base64-encoded strings](https://developers.miro.com/docs/upload-images-and-svgs-as-base64-encoded-strings.md): Encode images and SVG files to base64 strings so that you can upload and use them as data URL strings with the Miro Web SDK. - [Connect the Miro Web SDK to a backend (Firebase)](https://developers.miro.com/docs/connect-the-miro-web-sdk-to-a-backend-firebase.md): Create a Node.js application that leverages the Miro Web SDK to send and retrieve data from a backend and populate a Miro board. - [Video: Deploy a Next.js App on AWS Amplify](https://developers.miro.com/docs/video-deploy-a-nextjs-app-on-aws-amplify.md): Deploy a Miro NextJS app to AWS Amplify with environment variables in under 10 minutes. - [Video: Integrate OpenAI + Miro](https://developers.miro.com/docs/video-integrate-openai-miro.md): Get started in just 15 minutes: unlock endless possibilities by integrating the Miro Web SDK with generative AI (OpenAI). - [Build collaborative app experiences](https://developers.miro.com/docs/build-collaborative-app-experiences.md): Use sessions, real-time storage, and events in the Web SDK to build an app that enables collaborative experiences between facilitators and participants on a Miro board. - [Display banner/modal on a Miro board using DynamoDB](https://developers.miro.com/docs/display-bannermodal-on-a-miro-board-using-dynamodb.md) - [Display banner/modal on a Miro board using AWS S3](https://developers.miro.com/docs/display-bannermodal-on-a-miro-board-using-aws-s3.md) - [Reference](https://developers.miro.com/docs/sdk-reference.md) - [Interact with boards and items](https://developers.miro.com/docs/websdk-reference-interact-with-boards-and-items.md) - [Rate limiting](https://developers.miro.com/docs/websdk-reference-rate-limiting.md) - [Error handling](https://developers.miro.com/docs/websdk-reference-error-handling.md) - [Board](https://developers.miro.com/docs/websdk-reference-board.md) - [Card](https://developers.miro.com/docs/websdk-reference-card.md) - [Board UI](https://developers.miro.com/docs/websdk-reference-ui.md) - [Viewport](https://developers.miro.com/docs/websdk-reference-viewport.md) - [Notifications](https://developers.miro.com/docs/websdk-reference-notifications.md) - [App card](https://developers.miro.com/docs/websdk-reference-app-card.md) - [Experimental](https://developers.miro.com/docs/websdk-reference-experimental.md) - [Realtime Events](https://developers.miro.com/docs/websdk-reference-events.md) - [Tag](https://developers.miro.com/docs/websdk-reference-tag.md) - [Custom Action Management](https://developers.miro.com/docs/websdk-reference-custom-action-management.md) - [Shape](https://developers.miro.com/docs/websdk-reference-shape.md) - [Frame](https://developers.miro.com/docs/websdk-reference-frame.md) - [Image](https://developers.miro.com/docs/websdk-reference-image.md) - [Sticky Note](https://developers.miro.com/docs/websdk-reference-sticky-note.md) - [Shape experimental](https://developers.miro.com/docs/websdk-reference-shape-experimental.md) - [Embed](https://developers.miro.com/docs/websdk-reference-embed.md) - [Connector](https://developers.miro.com/docs/websdk-reference-connector.md) - [Unsupported](https://developers.miro.com/docs/websdk-reference-unsupported.md) - [Mindmap Node](https://developers.miro.com/docs/websdk-reference-mindmap-node.md) - [Preview](https://developers.miro.com/docs/websdk-reference-preview.md) - [Text](https://developers.miro.com/docs/websdk-reference-text.md) - [Storage collection](https://developers.miro.com/docs/websdk-reference-collection.md) - [Storage](https://developers.miro.com/docs/websdk-reference-storage.md) - [Collaboration](https://developers.miro.com/docs/websdk-reference-collaboration.md) - [Session](https://developers.miro.com/docs/websdk-reference-session.md) - [Attention](https://developers.miro.com/docs/websdk-reference-attention.md) - [Group](https://developers.miro.com/docs/websdk-reference-group.md) - [History](https://developers.miro.com/docs/websdk-reference-history.md) - [Tools](https://developers.miro.com/docs/websdk-reference-tools.md) - [Introduction](https://developers.miro.com/docs/miro-rest-api-introduction.md): Learn what you can do with Miro's REST APIs. - [Quickstart](https://developers.miro.com/docs/rest-api-build-your-first-hello-world-app.md): Make your first REST API call in less than 3 minutes. - [Video: try the REST API in less than 3 minutes](https://developers.miro.com/docs/try-out-the-rest-api-in-less-than-3-minutes.md): Get started in less than 3 minutes: watch the video walkthrough and make your first REST API call to get acquainted with the API feature set. - [Build your first Hello World REST API app](https://developers.miro.com/docs/build-your-first-hello-world-rest-api-app.md): This guide shows you how to create a Miro app leveraging the REST API. - [How-To's & tutorials](https://developers.miro.com/docs/rest-api-how-tos.md): Short how-tos and step-by-step tutorials to walk you through typical use cases when working with the Miro REST API. - [Get started with OAuth 2.0 and Miro](https://developers.miro.com/docs/getting-started-with-oauth.md): A guide to authenticating a user in Miro with the OAuth 2.0 authorization code flow. - [Create sticky notes and tags](https://developers.miro.com/docs/working-with-sticky-notes-and-tags-with-the-rest-api.md): This guide walks you through a typical use case to create sticky notes with tags via Miro’s REST API. Code snippets shared in Node.js. - [Convert code to diagram with Miro PlantUML](https://developers.miro.com/docs/code-to-diagram-with-miro-plantuml.md) - [Get user info and email](https://developers.miro.com/docs/get-user-info-and-email.md): Use the Miro Enterprise REST API to retrieve a list of team members with their email information. - [Create an image from a data URL source](https://developers.miro.com/docs/create-an-image-from-a-data-url-source.md): Use the REST API to create an image item by passing a base64-encoded image in the API request. - [Work with connectors](https://developers.miro.com/docs/work-with-connectors.md) - [Securely manage boards and teams at scale](https://developers.miro.com/docs/teams-api-securely-manage-boards-teams-at-scale.md): Administrators can use Miro's Team API to manage user and team access rights in large organizations. - [Set up a test endpoint for webhooks with Pipedream](https://developers.miro.com/docs/set-up-a-test-endpoint-for-webhooks.md): Use the REST API webhooks and Pipedream to set up an endpoint for testing purposes. - [Troubleshoot OAuth2.0](https://developers.miro.com/docs/troubleshooting-oauth20.md): Common issues and solutions for errors encountered during implementation of the OAuth2.0 authorization flow and subsequent requests to a REST API. - [Video: OAuth Essentials for Frontenders](https://developers.miro.com/docs/video-oauth-essentials-for-frontenders.md): Learn the essentials of OAuth2.0 in order to retrieve an access token for requests to a REST API. - [Miro Node.js client](https://developers.miro.com/docs/miro-nodejs-api-client.md): A Node.js client library to use Miro REST API features and functionality in JavaScript apps based on Node.js. - [Miro Node.js client Readme](https://developers.miro.com/docs/miro-nodejs-readme.md): The Miro Node.js API client is a JavaScript library that enables Miro REST API functionality in Miro apps based on Node.js. - [Miro Node.js client quickstart for task automation](https://developers.miro.com/docs/miro-nodejs-quickstart.md): Build a simple app based on the Miro Node.js client library to implement basic task automation on a Miro board. - [Miro Node.js client quickstart with OAuth and Express](https://developers.miro.com/docs/miro-nodejs-quickstart-with-oauth-and-express.md): Build a simple app based on the Miro Node.js client library, the OAuth 2.0 code grant flow, and the [Express](http://expressjs.com/) JavaScript web framework. - [Implement data storage](https://developers.miro.com/docs/miro-nodejs-implement-storage-for-data-persistence.md): Implement a `Storage` interface to enable the `Miro` class to automatically manage access and refresh tokens. - [Miro Python client](https://developers.miro.com/docs/miro-python-client.md) - [Miro Marketplace](https://developers.miro.com/docs/miro-marketplace.md): Contribute to Miro’s public ecosystem of apps and integrations where you can reach 100+ million users. - [Get ready for Marketplace](https://developers.miro.com/docs/get-ready-for-marketplace.md): Learn about the process and requirements for submitting your app for review. - [App design guidelines](https://developers.miro.com/docs/design-guidelines.md): Learn how to create apps with a consistent and efficient user experience. - [App security guidelines](https://developers.miro.com/docs/security-guidelines.md): Learn about the security verification and approval process for apps on the Miro Marketplace. - [App development policy](https://developers.miro.com/docs/app-development-policy.md): Learn how to make sure your apps are secure, user-friendly, and compliant with Miro's Marketplace policies. - [App listing guidelines](https://developers.miro.com/docs/marketplace-listing-guidelines.md): Learn best practices for branding your app and optimizing your app's Marketplace listing. - [Build and deploy your app](https://developers.miro.com/docs/build-and-deploy-your-app.md): Learn about building and deploying your app for Miro before submission for review. - [Your Marketplace profile](https://developers.miro.com/docs/marketplace-profile.md): Learn about your Marketplace profile on Miro Marketplace and how it helps building recognition and your brand. - [Publish your app](https://developers.miro.com/docs/publish-your-app.md): Learn how we review and approve your app for publishing in Miro Marketplace. - [Monetization](https://developers.miro.com/docs/monetization.md): Build a business on top of Miro’s public Marketplace where you can distribute apps and integrations to a global audience of more than 70 million Miro users. - [Monetization with Miro + Stripe](https://developers.miro.com/docs/monetization-with-miro-stripe.md): Build your business on Miro and add monetization to your apps by integrating with Stripe. - [Monetization with Miro + Salable (Subscription Management)](https://developers.miro.com/docs/monetization-with-miro-salable.md): Leverage Salable to create Miro apps with advanced monetization features. - [Provide pricing details for your app](https://developers.miro.com/docs/provide-pricing-details-for-your-app.md): Leverage the Miro Marketplace’s native pricing feature to transparently display the cost of your app to Miro users and potential customers. - [Introduction](https://developers.miro.com/docs/scim.md) - [User lifecycle management](https://developers.miro.com/docs/scim-api-user-lifecycle-management.md): Learn about managing user access with the Miro SCIM API. - [Getting started](https://developers.miro.com/docs/how-to-enable-scim.md) - [Rate limits](https://developers.miro.com/docs/scim-rate-limits.md) - [Users](https://developers.miro.com/docs/users.md) - [Groups](https://developers.miro.com/docs/groups.md) - [Discovery features](https://developers.miro.com/docs/discovery-features.md) - [Introduction](https://developers.miro.com/docs/miro-live-embed-introduction.md): Miro Live Embed enables embedding a board in a website to collaborate with other users in real time or to showcase a portfolio. - [Authentication](https://developers.miro.com/docs/miro-live-embed-authentication.md): Understand board access rights and granting users permissions to view Miro Live Embed boards. - [oEmbed support](https://developers.miro.com/docs/oembed-live-embed.md): Miro boards support the oEmbed standard. It enables programmatically discovering and embedding Miro boards into third-party sites by fetching the board's URL. - [How-Tos & tutorials](https://developers.miro.com/docs/embed-tutorials.md): Short how-tos and step-by-step tutorials to walk you through typical use cases when embedding Miro boards on external websites with Miro’s Embed API (Miro Live Embed and BoardsPicker) - [Live Embed with a direct link](https://developers.miro.com/docs/miro-live-embed-with-a-direct-link.md): Embed a Miro board inside an iframe with a direct link. - [Live Embed view-only mode](https://developers.miro.com/docs/miro-live-embed-view-only-mode.md): Embed a Miro board in view-only mode with minimal UI inside an iframe with a direct link. - [Live Embed with BoardsPicker for registered users](https://developers.miro.com/docs/miro-live-embed-with-boardspicker-registered.md): Embed Miro boards in a website with BoardsPicker to enable setting additional access permissions for registered Miro users when they access the embedded boards. - [Live Embed with BoardsPicker for unregistered users](https://developers.miro.com/docs/miro-live-embed-with-boardspicker-unregistered.md): Embed temporary Miro boards in a website with BoardsPicker to share embedded boards with other users, without being in a partnership with Miro. - [Reference](https://developers.miro.com/docs/miro-live-embed-reference.md): A reference with an overview of the arguments of the `miroBoardsPicker.open` method: what they are, what values they accept, and how to pass them when using the method. - [Resources overview](https://developers.miro.com/docs/resources.md): Explore the essential resources for developers. - [Policies](https://developers.miro.com/docs/policies.md): Understand the Miro Developer Platform’s terms of use, app development policy, and more. - [Lifecycle policy](https://developers.miro.com/docs/lifecycle-policy.md): Learn to navigate Miro's product lifecycle stages. - [Deprecation policy](https://developers.miro.com/docs/miro-developer-platform-deprecation-policy.md) ## API Reference - [Introduction](https://developers.miro.com/reference/overview.md) - [Permission scopes](https://developers.miro.com/reference/scopes.md): Overview of Miro's user access control through scopes, defining app permissions for interacting with boards and resources via REST API and Web SDK. - [Rate limiting](https://developers.miro.com/reference/rate-limiting.md): Learn about rate limiting in our REST APIs, including usage guidelines, error handling, and best practices for developers. - [Step 3: Exchange authorization code with access token](https://developers.miro.com/reference/exchange-authorization-code-with-access-token.md): Exchange the authorization code returned to your redirect URI for an access token and a refresh token. - [Step 5: Get new access token using refresh token](https://developers.miro.com/reference/get-new-access-token-using-refresh-token.md) - [Get access token context](https://developers.miro.com/reference/get-access-token-context.md): Get information about an access token, such as the token type, scopes, team, user, token creation date and time, and the user who created the token. - [Revoke token (v2)](https://developers.miro.com/reference/revoke-token-v2.md): Revoke the current access token. Revoking an access token means that the access token will no longer work. When an access token is revoked, the refresh token is also revoked and no longer valid. This does not uninstall the application for the user. - [Create board](https://developers.miro.com/reference/create-board-1.md): Creates a board with the specified name and sharing policies.

Note

You can only create up to 3 team boards with the free plan.

Required scope

boards:write

Rate limiting

Level 3
- [Get boards](https://developers.miro.com/reference/get-boards-1.md): Retrieves a list of boards accessible to the user associated with the provided access token. This endpoint supports filtering and sorting through URL query parameters. Customize the response by specifying `team_id`, `project_id`, or other query parameters. Filtering by `team_id` or `project_id` (or both) returns results instantly. For other filters, allow a few seconds for indexing of newly created boards. When the `query` parameter is provided, results are capped at the first 10,000 matching boards (`offset` + `limit` must not exceed 10,000). To page through more boards, narrow the result set with `team_id`, `project_id`, or `owner` instead of relying on a higher `offset`. If you're an Enterprise customer with Company Admin permissions: - Enable **Content Admin** permissions to retrieve all boards, including private boards (those not explicitly shared with you). For details, see the [Content Admin Permissions for Company Admins](https://help.miro.com/hc/en-us/articles/360012777280-Content-Admin-permissions-for-Company-Admins). - Note that **Private board contents remain inaccessible**. The API allows you to verify their existence but prevents viewing their contents to uphold security best practices. Unauthorized access attempts will return an error.

Required scope

boards:read

Rate limiting

Level 1
- [Copy board](https://developers.miro.com/reference/copy-board-1.md): Creates a copy of an existing board. You can also update the name, description, sharing policy, and permissions policy for the new board in the request body.

Required scope

boards:write

Rate limiting

Level 4
- [Get specific board](https://developers.miro.com/reference/get-specific-board-1.md): Retrieves information about a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update board](https://developers.miro.com/reference/update-board-1.md): Updates a specific board.

Required scope

boards:write

Rate limiting

Level 2
- [Delete board](https://developers.miro.com/reference/delete-board-1.md): Deletes a board. Deleted boards go to Trash (on paid plans) and can be restored via UI within 90 days after deletion.

Required scope

boards:write

Rate limiting

Level 3
- [Create items in bulk using file from device](https://developers.miro.com/reference/bulk-operations-3.md): Adds different types of items to a board using files from a device. You can add up to 20 items of the same or different type per create call. For example, you can create 5 document items and 5 images in one create call. The bulk create operation is transactional. If any item's create operation fails, the create operation for all the remaining items also fails, and none of the items will be created. To try out this API in our documentation: 1. In the **BODY PARAMS** section, select **ADD FILE**, and then upload a local file. Repeat for each item that you want to add. 2. Upload a JSON file that contains the bulk data for the items you want to create.

Required scope

boards:write

Rate limiting

Level 2 per item
- [Create items in bulk](https://developers.miro.com/reference/create-items.md): Adds different types of items to a board. You can add up to 20 items of the same or different type per create call. For example, you can create 3 shape items, 4 card items, and 5 sticky notes in one create call. The bulk create operation is transactional. If any item's create operation fails, the create operation for all the remaining items also fails, and none of the items will be created.

To try out this API in our documentation:

1. In the **BODY PARAMS** section, scroll down until you see **ADD OBJECT** (Figure 1).

“add
Figure 1. Add object user interface in readme

2. Click **ADD OBJECT**, and then select or enter the appropriate values for parameters of the item that you want to add.

3. Repeat steps 1 and 2 for each item that you want to add.

Required scope

boards:write

Rate limiting

Level 2 per item. For example, if you want to create one sticky note, one card, and one shape item in one call, the rate limiting applicable will be 300 credits. This is because create item calls take Level 2 rate limiting of 100 credits each, 100 for sticky note, 100 for card, and 100 for shape item. - [JSON file example](https://developers.miro.com/reference/json-data-example.md) - [Create app card item](https://developers.miro.com/reference/create-app-card-item-1.md): Adds an app card item to a board.

Required scope

boards:write

Rate limiting

Level 2
- [Get app card item](https://developers.miro.com/reference/get-app-card-item-1.md): Retrieves information for a specific app card item on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update app card item](https://developers.miro.com/reference/update-app-card-item-1.md): Updates an app card item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
- [Delete app card item](https://developers.miro.com/reference/delete-app-card-item-1.md): Deletes an app card item from a board.

Required scope

boards:write

Rate limiting

Level 3
- [Create connector](https://developers.miro.com/reference/create-connector-1.md): Adds a connector to a board.

Required scope

boards:write

Rate limiting

Level 2
- [Get connectors](https://developers.miro.com/reference/get-connectors-1.md): Retrieves a list of connectors for a specific board. This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
- [Get specific connector](https://developers.miro.com/reference/get-connector-1.md): Retrieves information for a specific connector on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update connector](https://developers.miro.com/reference/update-connector-1.md): Updates a connector on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
- [Delete connector](https://developers.miro.com/reference/delete-connector-1.md): Deletes the specified connector from the board.

Required scope

boards:write

Rate limiting

Level 3
- [Create card item](https://developers.miro.com/reference/create-card-item-1.md): Adds a card item to a board

Required scope

boards:write

Rate limiting

Level 2
- [Get card item](https://developers.miro.com/reference/get-card-item-1.md): Retrieves information for a specific card item on a board

Required scope

boards:read

Rate limiting

Level 1
- [Update card item](https://developers.miro.com/reference/update-card-item-1.md): Updates a card item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
- [Delete card item](https://developers.miro.com/reference/delete-card-item-1.md): Deletes a card item from the board.

Required scope

boards:write

Rate limiting

Level 3
- [Doc Format](https://developers.miro.com/reference/doc-formats.md) - [Create doc format item](https://developers.miro.com/reference/create-doc-format-item.md): Adds a doc format item to a board.

Required scope

boards:write

Rate limiting

Level 2
- [Get doc format item](https://developers.miro.com/reference/get-doc-format-item.md): Retrieves information for a specific doc format item on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Delete doc format item](https://developers.miro.com/reference/delete-doc-format-item.md): Deletes a doc format item from the board

Required scope

boards:write

Rate limiting

Level 3
- [Create document item using file from device](https://developers.miro.com/reference/create-document-item-using-file-from-device.md): Adds a document item to a board by selecting file from device.

Required scope

boards:write

Rate limiting

Level 2
- [Update document item using file from device](https://developers.miro.com/reference/update-document-item-using-file-from-device.md): Updates a document item on a board by using file from a device.

Required scope

boards:write

Rate limiting

Level 2
- [Create document item using URL](https://developers.miro.com/reference/create-document-item-using-url-1.md): Adds a document item to a board by specifying the URL where the document is hosted.

Required scope

boards:write

Rate limiting

Level 2
- [Get document item](https://developers.miro.com/reference/get-document-item-1.md): Retrieves information for a specific document item on a board

Required scope

boards:read

Rate limiting

Level 1
- [Update document item using URL](https://developers.miro.com/reference/update-document-item-using-url-1.md): Updates a document item on a board

Required scope

boards:write

Rate limiting

Level 2
- [Delete document item](https://developers.miro.com/reference/delete-document-item-1.md): Deletes a document item from the board.

Required scope

boards:write

Rate limiting

Level 3
- [Create embed item](https://developers.miro.com/reference/create-embed-item-1.md): Adds an embed item containing external content to a board.

Required scope

boards:write

Rate limiting

Level 2
- [Get embed item](https://developers.miro.com/reference/get-embed-item-1.md): Retrieves information for a specific embed item on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update embed item](https://developers.miro.com/reference/update-embed-item-1.md): Updates an embed item on a board based on the data properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
- [Delete embed item](https://developers.miro.com/reference/delete-embed-item-1.md): Deletes an embed item from the board.

Required scope

boards:write

Rate limiting

Level 3
- [Get items within frame](https://developers.miro.com/reference/get-items-within-frame.md): Retrieves a list of items within a specific frame. A frame is a parent item and all items within a frame are child items. This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
- [Create frame](https://developers.miro.com/reference/create-frame-item.md): Adds a frame to a board.

Required scope

boards:write

Rate limiting

Level 2
- [Get frame](https://developers.miro.com/reference/get-frame-item.md): Retrieves information for a specific frame on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update frame](https://developers.miro.com/reference/update-frame-item.md): Updates a frame on a board based on the data, style, or geometry properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
- [Delete frame](https://developers.miro.com/reference/delete-frame-item.md): Deletes a frame from a board.

Required scope

boards:write

Rate limiting

Level 3
- [Update image item using file from device](https://developers.miro.com/reference/update-image-item-using-file-from-device.md): Updates an image item on a board.

Required scope

boards:write

Rate limiting

Level 2
- [Create image item using file from device](https://developers.miro.com/reference/create-image-item-using-local-file.md): Adds an image item to a board by specifying a file from device.

Required scope

boards:write

Rate limiting

Level 2
- [Create image item using URL](https://developers.miro.com/reference/create-image-item-using-url-1.md): Adds an image item to a board by specifying an image URL.

Required scope

boards:write

Rate limiting

Level 2
- [Get image item](https://developers.miro.com/reference/get-image-item-1.md): Retrieves information for a specific image item on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update image item using URL](https://developers.miro.com/reference/update-image-item-using-url-1.md): Updates an image item on a board.

Required scope

boards:write

Rate limiting

Level 2
- [Delete image item](https://developers.miro.com/reference/delete-image-item-1.md): Deletes an image item from the board.

Required scope

boards:write

Rate limiting

Level 3
- [Get items on board](https://developers.miro.com/reference/get-items-1.md): Retrieves a list of items for a specific board. You can retrieve all items on the board, a list of child items inside a parent item, or a list of specific types of items by specifying URL query parameter values. This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
- [Get specific item on board](https://developers.miro.com/reference/get-specific-item-1.md): Retrieves information for a specific item on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update item position or parent](https://developers.miro.com/reference/update-item-position-or-parent-1.md): Updates the position or the parent of an item on a board.

Required scope

boards:write

Rate limiting

Level 2
- [Delete item](https://developers.miro.com/reference/delete-item-1.md): Deletes an item from a board.

Required scope

boards:write

Rate limiting

Level 3
- [Create group](https://developers.miro.com/reference/creategroup.md): Creates a group of items on a board. The group is created with the items that are passed in the request body.

Required scope

boards:write

Rate limiting

Level 2
- [Get all groups on a board](https://developers.miro.com/reference/get-all-groups.md): Returns all the groups and the items of the respective groups within a specific board.
This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request.
For example, if you set the `limit` query parameter to `10` and the board contains 20 items that are a part of a group, the first call will return information about the first 10 items in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
- [Get items of a group by ID](https://developers.miro.com/reference/getitemsbygroupid.md): Returns a list of items that are a part of any group, within a specific board.
This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request.
For example, if you set the `limit` query parameter to `10` and the board contains 20 items that are a part of a group, the first call will return information about the first 10 items (not 10 groups) in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
- [Get a group by its ID](https://developers.miro.com/reference/getgroupbyid.md): Returns a list of items in a specific group.

Required scope

boards:read

Rate limiting

Level 2 per item ID - [Ungroup items](https://developers.miro.com/reference/ungroup.md): Ungroups items from a group.

Required scope

boards:write

Rate limiting

Level 3
- [Updates a group with new items](https://developers.miro.com/reference/updategroup.md): This endpoint updates an existing group by replacing it entirely with a new group. When the update is made, the original group is completely replaced, and a new group ID is assigned.

Required scope

boards:write

Rate limiting

Level 2
- [Deletes the group](https://developers.miro.com/reference/deletegroup.md): Deletes a group from a board. All the items in the group are deleted along with the group. Note - this endpoint will delete items which are locked as well.

Required scope

boards:write

Rate limiting

Level 3
- [Share board](https://developers.miro.com/reference/share-board-1.md): Shares the board and Invites new members to collaborate on a board by sending an invitation email. Depending on the board's Sharing policy, there might be various scenarios where membership in the team is required in order to share the board with a user.

Required scope

boards:write

Rate limiting

Level 3
- [Get all board members](https://developers.miro.com/reference/get-board-members-1.md): Retrieves a pageable list of members for a board.

Required scope

boards:read

Rate limiting

Level 1
- [Get specific board member](https://developers.miro.com/reference/get-specific-board-member-1.md): Retrieves information for a board member.

Required scope

boards:read

Rate limiting

Level 1
- [Update board member](https://developers.miro.com/reference/update-board-member-1.md): Updates the role of a board member.

Required scope

boards:write

Rate limiting

Level 2
- [Remove board member](https://developers.miro.com/reference/remove-board-member-1.md): Removes a board member from a board.

Required scope

boards:write

Rate limiting

Level 2
- [Create shape item](https://developers.miro.com/reference/create-shape-item-1.md): Adds a shape item to a board.

Required scope

boards:write

Rate limiting

Level 2
- [Get shape item](https://developers.miro.com/reference/get-shape-item-1.md): Retrieves information for a specific shape item on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update shape item](https://developers.miro.com/reference/update-shape-item-1.md): Updates a shape item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
- [Delete shape item](https://developers.miro.com/reference/delete-shape-item-1.md): Deletes a shape item from the board.

Required scope

boards:write

Rate limiting

Level 3
- [Create sticky note item](https://developers.miro.com/reference/create-sticky-note-item-1.md): Adds a sticky note item to a board.

Required scope

boards:write

Rate limiting

Level 2
- [Get sticky note item](https://developers.miro.com/reference/get-sticky-note-item-1.md): Retrieves information for a specific sticky note item on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update sticky note item](https://developers.miro.com/reference/update-sticky-note-item-1.md): Updates a sticky note item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
- [Delete sticky note item](https://developers.miro.com/reference/delete-sticky-note-item-1.md): Deletes a sticky note item from the board.

Required scope

boards:write

Rate limiting

Level 3
- [Update tag](https://developers.miro.com/reference/update-tag.md): Updates a tag based on the data properties provided in the request body.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Attach tag to item](https://developers.miro.com/reference/attach-tag-to-item), [Remove tag from item](https://developers.miro.com/reference/remove-tag-from-item), [Delete tag](https://developers.miro.com/reference/delete-tag).

Required scope

boards:write

Rate limiting

Level 1
- [Get tag](https://developers.miro.com/reference/get-tag.md): Retrieves information for a specific tag.

Required scope

boards:write

Rate limiting

Level 1
- [Get tags from board](https://developers.miro.com/reference/get-tags-from-board.md): Retrieves all the tags from the specified board.

Required scope

boards:read

Rate limiting

Level 1
- [Create tag](https://developers.miro.com/reference/create-tag.md): Creates a tag on a board.

Required scope

boards:write

Rate limiting

Level 1
- [Get tags from item](https://developers.miro.com/reference/get-tags-from-item.md): Retrieves all the tags from the specified item.

Required scope

boards:read

Rate limiting

Level 1
- [Remove tag from item](https://developers.miro.com/reference/remove-tag-from-item.md): Removes the specified tag from the specified item. The tag still exists on the board.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Attach tag to item](https://developers.miro.com/reference/attach-tag-to-item), [Update tag](https://developers.miro.com/reference/update-tag), [Delete tag](https://developers.miro.com/reference/delete-tag).

Required scope

boards:write

Rate limiting

Level 1
- [Attach tag to item](https://developers.miro.com/reference/attach-tag-to-item.md): Attach an existing tag to the specified item. Card and sticky note items can have up to 8 tags.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Remove tag from item](https://developers.miro.com/reference/remove-tag-from-item), [Update tag](https://developers.miro.com/reference/update-tag), [Delete tag](https://developers.miro.com/reference/delete-tag).

Required scope

boards:write

Rate limiting

Level 1
- [Get items by tag](https://developers.miro.com/reference/get-items-by-tag.md): Retrieves all the items that have the specified tag.

Required scope

boards:read

Rate limiting

Level 1
- [Create text item](https://developers.miro.com/reference/create-text-item-1.md): Adds a text item to a board.

Required scope

boards:write

Rate limiting

Level 2
- [Get text item](https://developers.miro.com/reference/get-text-item-1.md): Retrieves information for a specific text item on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update text item](https://developers.miro.com/reference/update-text-item-1.md): Updates a text item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
- [Delete text item](https://developers.miro.com/reference/delete-text-item-1.md): Deletes a text item from the board

Required scope

boards:write

Rate limiting

Level 3
- [Get specific mind map node](https://developers.miro.com/reference/get-mindmap-node-experimental.md): Retrieves information for a specific mind map node on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Delete mind map node](https://developers.miro.com/reference/delete-mindmap-node-experimental.md): Deletes a mind map node item and its child nodes from the board.

Required scope

boards:write

Rate limiting

Level 3
- [Get mind map nodes](https://developers.miro.com/reference/get-mindmap-nodes-experimental.md): Retrieves a list of mind map nodes for a specific board. This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
- [Create mind map node](https://developers.miro.com/reference/create-mindmap-nodes-experimental.md): Adds a mind map node to a board. A root node is the starting point of a mind map. A node that is created under a root node is a child node. For information on mind maps, use cases, mind map structure, and more, see the Mind Map Overview page.

Required scope

boards:write

Rate limiting

Level 2

Known limitations on node placement: Currently, the create API supports explicit positions for nodes. This means that users can only place nodes based on the x, y coordinates provided in the position parameters. If the position is not provided in the request, nodes default to coordinates x=0, y=0, effectively placing them at the center of the board.

Upcoming changes: We understand the importance of flexibility in node placement. We are actively working on implementing changes to support positioning nodes relative to their parent node as well. This enhancement offers a more dynamic and intuitive mind mapping experience.

Additionally, we are actively working on providing the update API, further enhancing the functionality of mind map APIs. - [Get items on board](https://developers.miro.com/reference/get-items-experimental.md): Retrieves a list of items for a specific board. You can retrieve all items on the board, a list of child items inside a parent item, or a list of specific types of items by specifying URL query parameter values. This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let's say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.

Required scope

boards:read

Rate limiting

Level 2
- [Get specific item on board](https://developers.miro.com/reference/get-specific-item-experimental.md): Retrieves information for a specific item on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Create shape item](https://developers.miro.com/reference/create-shape-item-flowchart.md): Adds a flowchart shape item to a board.

Required scope

boards:write

Rate limiting

Level 2
- [Get shape item](https://developers.miro.com/reference/get-shape-item-flowchart.md): Retrieves information for a specific shape item on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update shape item](https://developers.miro.com/reference/update-shape-item-flowchart.md): Updates a flowchart shape item on a board based on the data and style properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
- [Delete shape item](https://developers.miro.com/reference/delete-shape-item-flowchart.md): Deletes a flowchart shape item from the board.

Required scope

boards:write

Rate limiting

Level 3
- [Delete item](https://developers.miro.com/reference/delete-item-experimental.md): Deletes an item from a board.

Required scope

boards:write

Rate limiting

Level 3
- [Get code widget items](https://developers.miro.com/reference/get-code-widget-items.md): Retrieves a list of code widget items for a specific board. This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request.

Required scope

boards:read

Rate limiting

Level 2
- [Create code widget item](https://developers.miro.com/reference/create-code-widget-item.md): Adds a code widget item to a board.

Required scope

boards:write

Rate limiting

Level 2
- [Get code widget item](https://developers.miro.com/reference/get-code-widget-item.md): Retrieves information for a specific code widget item on a board.

Required scope

boards:read

Rate limiting

Level 1
- [Update code widget item](https://developers.miro.com/reference/update-code-widget-item.md): Updates a code widget item on a board based on the data properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
- [Delete code widget item](https://developers.miro.com/reference/delete-code-widget-item.md): Deletes a code widget item from the board.

Required scope

boards:write

Rate limiting

Level 3
- [Move code widget item](https://developers.miro.com/reference/move-code-widget-item.md): Updates the position of a code widget item on a board.

Required scope

boards:write

Rate limiting

Level 2
- [Get oEmbed data](https://developers.miro.com/reference/getembeddata.md): Retrieves information to embed a Miro board as a [live embed](doc:oembed-live-embed). - [Create project](https://developers.miro.com/reference/enterprise-create-project.md): Projects are essentially folders of boards with the option to manage user access for a smaller group of people within a team. Projects are here to help you organize your boards and make them easier to find and share. In other words, a project is a group of boards that you can share with your teammates all at once. For more information, see our Help Center page on Projects.

This API creates a new project in an existing team of an organization.

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [List of projects](https://developers.miro.com/reference/enterprise-get-projects.md): Retrieves the list of projects in an existing team of an organization. You can retrieve all projects, including all private projects (projects that haven't been specifically shared with you) by enabling Content Admin permissions. To enable Content Admin permissions, see [Content Admin permissions for Company Admins](https://help.miro.com/hc/en-us/articles/360012777280-Content-Admin-permissions-for-Company-Admins).

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get project](https://developers.miro.com/reference/enterprise-get-project.md): Retrieves project information, such as a name for an existing project.

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Update project](https://developers.miro.com/reference/enterprise-update-project.md): Update information about a project, such as the project name.

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Delete project](https://developers.miro.com/reference/enterprise-delete-project.md): Deletes a project. After a project is deleted, all boards and users that belong to the project remain in the team.

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get project settings](https://developers.miro.com/reference/enterprise-get-project-settings.md): Retrieves the project settings.

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Update project settings](https://developers.miro.com/reference/enterprise-update-project-settings.md): Updates the settings of a project.

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Add member in a project](https://developers.miro.com/reference/enterprise-add-project-member.md): Add a Miro user to a project.

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [List of project members](https://developers.miro.com/reference/enterprise-get-project-members.md): Retrieves the list of members for a specific project.

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get project member](https://developers.miro.com/reference/enterprise-get-project-member.md): Retrieves information for a specific project member.

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Update project member](https://developers.miro.com/reference/enterprise-update-project-member.md): Updates details of a project member, such as the member's role.

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Remove project member](https://developers.miro.com/reference/enterprise-delete-project-member.md): Remove a member from a project. The user remains in the team even after the member is removed from a project.

Note

Projects have been renamed to Spaces, and the terms can be used interchangeably.

Required scope

projects:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get organization info](https://developers.miro.com/reference/enterprise-get-organization.md): Retrieves organization information.

Required scope

organizations:read

Rate limiting

Level 3

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get organization members](https://developers.miro.com/reference/enterprise-get-organization-members.md): Retrieves organization members based on the organization ID and the cursor, or based on the user emails provided in the request.

Required scope

organizations:read

Rate limiting

Level 3

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get organization member](https://developers.miro.com/reference/enterprise-get-organization-member.md): Retrieves organization member information for an existing organization.

Required scope

organizations:read

Rate limiting

Level 3

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Create team](https://developers.miro.com/reference/enterprise-create-team.md): Creates a new team in an existing organization.

Required scope

organizations:teams:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [List teams](https://developers.miro.com/reference/enterprise-get-teams.md): Retrieves list of teams in an existing organization.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get team](https://developers.miro.com/reference/enterprise-get-team.md): Retrieves team information for an existing team.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Update team](https://developers.miro.com/reference/enterprise-update-team.md): Updates an existing team.

Required scope

organizations:teams:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Delete team](https://developers.miro.com/reference/enterprise-delete-team.md): Deletes an existing team.

Required scope

organizations:teams:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get default team settings](https://developers.miro.com/reference/enterprise-get-default-team-settings.md): Retrieves default team settings of an existing organization.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get team settings](https://developers.miro.com/reference/enterprise-get-team-settings.md): Retrieves team settings of an existing team.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Update team settings](https://developers.miro.com/reference/enterprise-update-team-settings.md): Updates team settings of an existing team.

Required scope

organizations:teams:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Invite team members](https://developers.miro.com/reference/enterprise-invite-team-member.md): Invites a new Miro user to an existing team. The user must exist in your Miro organization. Users who do not exist in your Miro organization can be invited to the team via [SCIM](https://developers.miro.com/docs/scim) and an external identity provider, such as Okta or Azure Active Directory.

Required scope

organizations:teams:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [List team members](https://developers.miro.com/reference/enterprise-get-team-members.md): Retrieves team members by cursor.

Required scope

organizations:teams:read

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get team member](https://developers.miro.com/reference/enterprise-get-team-member.md): Retrieves team member by id.

Required scope

organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Update team member](https://developers.miro.com/reference/enterprise-update-team-member.md): Updates team member role in team by id.

Required scope

organizations:teams:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Delete team member from team](https://developers.miro.com/reference/enterprise-delete-team-member.md): Deletes team member from team by id.

Required scope

organizations:teams:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Reset all sessions of a user](https://developers.miro.com/reference/enterprise-post-user-sessions-reset.md): Reset all sessions of a user. Admins can now take immediate action to restrict user access to company data in case of security concerns. Calling this API ends all active Miro sessions across devices for a particular user, requiring the user to sign in again. This is useful in situations where a user leaves the company, their credentials are compromised, or there's suspicious activity on their account.

Required scope

sessions:delete

Rate limiting

Level 3

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get organization settings](https://developers.miro.com/reference/enterprise-dataclassification-organization-settings-get.md): Retrieves board classification settings for an existing organization.

Required scope

organizations:read

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Bulk update boards classification](https://developers.miro.com/reference/enterprise-dataclassification-team-boards-bulk.md): Updates board classification for not-classified only or all boards in an existing team.

Required scope

boards:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get team settings](https://developers.miro.com/reference/enterprise-dataclassification-team-settings-get.md): Retrieves board classification settings for an existing team.

Required scope

organizations:teams:read

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Update team settings](https://developers.miro.com/reference/enterprise-dataclassification-team-settings-set.md): Updates board classification settings for an existing team.

Required scope

organizations:teams:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get board classification](https://developers.miro.com/reference/enterprise-dataclassification-board-get.md): Retrieves board classification for a board.

Required scope

boards:read

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Update board classification](https://developers.miro.com/reference/enterprise-dataclassification-board-set.md): Updates board classification for an existing board.

Required scope

boards:write

Rate limiting

Level 2

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Audit Logs](https://developers.miro.com/reference/audit-logs.md) - [Get audit logs](https://developers.miro.com/reference/enterprise-get-audit-logs.md): Retrieves a page of audit events from the last 90 days. If you want to retrieve data that is older than 90 days, you can use the CSV export feature.

Required scope

auditlogs:read

Rate limiting

Level 2 - [List of user groups](https://developers.miro.com/reference/enterprise-get-groups.md): Retrieves the list of user groups in an organization.

Required scope

organizations:groups:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Create user group](https://developers.miro.com/reference/enterprise-create-group.md): Creates a new user group in an organization.

Required scope

organizations:groups:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get user group](https://developers.miro.com/reference/enterprise-get-group.md): Retrieves a user group in an organization.

Required scope

organizations:groups:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Update user group](https://developers.miro.com/reference/enterprise-update-group.md): Updates a user group in an organization.

Required scope

organizations:groups:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Delete user group](https://developers.miro.com/reference/enterprise-delete-group.md): Deletes a user group from an organization.

Required scope

organizations:groups:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [List of user group members](https://developers.miro.com/reference/enterprise-get-group-members.md): Retrieves the list of members who are part of a team in an existing organization.

Required scope

organizations:groups:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Create user group member](https://developers.miro.com/reference/enterprise-create-group-member.md): Adds a member to a user group in an organization.

Required scope

organizations:groups:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Bulk edit of membership in user group](https://developers.miro.com/reference/enterprise-update-group-members.md): Add and remove members in one request. For example, remove user A and add user B. You can add or remove up to 500 users at a time.

Required scope

organizations:groups:write

Rate limiting

Level 1 per item. For example, if you want to add 10 users and remove 5, the rate limiting applicable will be 750 credits. This is because each user addition or deletion takes Level 1 rate limiting of 50 credits, so 15 * 50 = 750.

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get user group member](https://developers.miro.com/reference/enterprise-get-group-member.md): Retrieves information about a user group member in an organization.

Required scope

organizations:groups:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Delete user group member](https://developers.miro.com/reference/enterprise-delete-group-member.md): Removes a member from a user group in an organization.

Required scope

organizations:groups:write

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get teams of a user group](https://developers.miro.com/reference/enterprise-groups-get-teams.md): Retrieves the list of teams that the user group is a part of.

Required scope

organizations:groups:read
organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get user group team](https://developers.miro.com/reference/enterprise-groups-get-team.md): Retrieves information of a team that the user group is a part of in an organization.

Required scope

organizations:groups:read
organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get board user group assignments](https://developers.miro.com/reference/enterprise-boards-get-groups.md): Retrieves information about user groups invited to the specified board.

Required scope

organizations:groups:read
boards:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Create board user group assignments](https://developers.miro.com/reference/enterprise-boards-create-group.md): Shares a board with user groups with a specified role. Updates the role if already shared.

Required scope

organizations:groups:read
boards:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Delete board user group assignment](https://developers.miro.com/reference/enterprise-boards-delete-groups.md): Removes a user group from the specified board.

Required scope

organizations:groups:read
boards:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Get project user group assignments](https://developers.miro.com/reference/enterprise-projects-get-groups.md): Retrieves information about user groups invited to the specified project.

Required scope

organizations:groups:read
projects:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Create project user group assignments](https://developers.miro.com/reference/enterprise-project-create-group.md): Shares a project with user groups with a specified role. Updates the role if already shared.

Required scope

organizations:groups:read
projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Delete project user group assignment](https://developers.miro.com/reference/enterprise-project-delete-groups.md): Removes a user group from the specified project.

Required scope

organizations:groups:read
projects:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [List of user group to team connections](https://developers.miro.com/reference/enterprise-teams-get-groups.md): Retrieves the list of user groups that are part of a team in an organization.

Required scope

organizations:groups:read
organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Create user group to team connection](https://developers.miro.com/reference/enterprise-teams-create-group.md): Adds a user group to a team in an organization.

Required scope

organizations:groups:read
organizations:teams:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

' - [Get user group of a team](https://developers.miro.com/reference/enterprise-teams-get-group.md): Retrieves information about a specific user group of a team.

Required scope

organizations:groups:read
organizations:teams:read

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Delete user group to team connection](https://developers.miro.com/reference/enterprise-teams-delete-group.md): Removes a user group from a team in an existing organization.

Required scope

organizations:groups:read
organizations:teams:write

Rate limiting

Level 1

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin. You can request temporary access to Enterprise APIs using this form.

- [Board Export](https://developers.miro.com/reference/board-export.md) - [Create board export job](https://developers.miro.com/reference/enterprise-create-board-export.md): Creates an export job for one or more boards.

Required scope

boards:export

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin and eDiscovery is enabled in the Settings. You can request temporary access to Enterprise APIs using this form.

- [Get board export jobs list](https://developers.miro.com/reference/enterprise-board-export-jobs.md): Retrieves the list of board export jobs based on the filters provided in the request.

Required scope

boards:export

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin and eDiscovery is enabled in the Settings. You can request temporary access to Enterprise APIs using this form.

- [Get board export job status](https://developers.miro.com/reference/enterprise-board-export-job-status.md): Retrieves the status of the board export job.

Required scope

boards:export

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin and eDiscovery is enabled in the Settings. You can request temporary access to Enterprise APIs using this form.

- [Get results for board export job](https://developers.miro.com/reference/enterprise-board-export-job-results.md): Retrieves the result of the board export job. The response provides more information about the board export job, such as the S3 link to the files created.

Required scope

boards:export

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin and eDiscovery is enabled in the Settings. You can request temporary access to Enterprise APIs using this form.

- [Update board export job status](https://developers.miro.com/reference/enterprise-update-board-export-job.md): Updates the status of the board export job.
Currently, only the cancellation of an ongoing export job is supported.

Required scope

boards:export

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin and eDiscovery is enabled in the Settings. You can request temporary access to Enterprise APIs using this form.

- [Get board export job tasks list](https://developers.miro.com/reference/enterprise-board-export-job-tasks.md): Retrieves the list of tasks for the board export job.

Required scope

boards:export

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin and eDiscovery is enabled in the Settings. You can request temporary access to Enterprise APIs using this form.

- [Create task export link](https://developers.miro.com/reference/enterprise-create-board-export-task-export-link.md): Creates a link to download the results of a board export task.

Required scope

boards:export

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin and eDiscovery is enabled in the Settings. You can request temporary access to Enterprise APIs using this form.

- [Board Content Logs](https://developers.miro.com/reference/board-content-logs.md) - [Retrieve content change logs of board items](https://developers.miro.com/reference/enterprise-board-content-item-logs-fetch.md): Retrieves content changes for board items within your organization. Content changes are actions that users can perform on board items, such as updating a sticky note's text. You can retrieve results for a specific time period. You can also filter results based on the board IDs and the emails of users who created, modified, or deleted a board item. Additionally, results can be paginated for easier viewing and processing.

Required scope

contentlogs:export

Rate limiting

Level 4

Enterprise only

This API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin.

- [Legal holds](https://developers.miro.com/reference/legal-holds.md) - [Get all cases](https://developers.miro.com/reference/get-all-cases-1.md): Retrieves the list of eDiscovery cases in an organization.

Required scope

organization:cases:management

Rate limiting

Level 4

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Create case](https://developers.miro.com/reference/create-case-1.md): Creating a case for legal hold is the first critical step in the eDiscovery process when litigation or an investigation is anticipated. One of the purposes of creating a case is that it acts as a container that allows admins to group multiple legal holds under one case. For more information, see our Help Center page on creating a case.

This API creates a new case in an organization.

Required scope

organization:cases:management

Rate limiting

Level 4

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Close case](https://developers.miro.com/reference/delete-case-1.md): Closing a case is the final stage in the eDiscovery process, marking the conclusion of a legal matter or investigation. You must ensure that all associated legal holds within the case are closed before closing the case. Closing a case will permanently delete it. For more information, see our Help Center page on closing a case.

This API closes a case in an organization.

Required scope

organization:cases:management

Rate limiting

Level 4

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Get case](https://developers.miro.com/reference/get-case-1.md): Retrieves information about a case in an organization.

Required scope

organization:cases:management

Rate limiting

Level 3

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Edit case](https://developers.miro.com/reference/edit-case-1.md): Editing a case allows eDiscovery Admins to keep case details accurate and aligned with the evolving scope of a legal matter. As investigations progress, it may be necessary to update the case name or description to reflect changes in focus, terminology, or internal documentation standards. Since a case serves as the central container for one or more legal holds, keeping its information up to date helps ensure clarity, consistency, and easier navigation for all stakeholders involved in the legal process.

Required scope

organization:cases:management

Rate limiting

Level 3

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Get all legal holds within a case](https://developers.miro.com/reference/get-all-legal-holds-1.md): Retrieves the list of all legal holds within a case for an organization.

Required scope

organization:cases:management

Rate limiting

Level 4

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Create legal hold](https://developers.miro.com/reference/create-legal-hold-1.md): After creating a case it is possible to add one or multiple legal holds to the case. Creating a legal hold involves identifying the relevant users associated with a case and applying the hold to prevent permanent deletion of content that those users own, co-own, create, edit or access. For more information, see our Help Center page on adding a legal hold to a case.

This API creates a new legal hold in a case for an organization. Newly created legal holds could take up to 24 hours to be processed.

Required scope

organization:cases:management

Rate limiting

Level 4

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Get board export jobs of a case](https://developers.miro.com/reference/get-legal-hold-export-jobs-1.md): Retrieves board export jobs for a case.

Required scope

organization:cases:management

Rate limiting

Level 4

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Close legal hold](https://developers.miro.com/reference/delete-legal-hold-1.md): Closing a legal hold is one of the final steps in the eDiscovery process once the litigation or investigation has concluded. This process involves releasing the Miro boards and custodians that were under legal hold, allowing the preserved boards to return to normal operations. Closing a legal hold will permanently delete it. For more information, see our Help Center page on closing a legal hold.

This API closes a legal hold in a case for an organization. Once a legal hold is closed, it can take up to 24 hours to release the content items from the legal hold.

Required scope

organization:cases:management

Rate limiting

Level 4

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Get legal hold information](https://developers.miro.com/reference/get-legal-hold-1.md): Retrieves information about a legal hold within a case for an organization.

Required scope

organization:cases:management

Rate limiting

Level 3

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Edit legal hold](https://developers.miro.com/reference/edit-legal-hold-1.md): Editing a legal hold allows eDiscovery Admins to adjust and refine ongoing legal preservation efforts as case requirements evolve. Whether new custodians are identified, additional Miro boards become relevant, or existing boards or users are no longer in scope, editing a legal hold ensures that the correct data remains preserved and defensible throughout the legal process. Admins can update the legal hold’s name or description and add or remove users and boards as needed. This flexibility supports dynamic legal workflows and ensures that preservation stays precise, up to date, and aligned with the scope of the legal matter—maintaining compliance while avoiding unnecessary data retention.

When a legal hold is edited, boards newly added to the hold will begin having their versions preserved from that point forward, boards or users removed from the hold will stop being preserved, and their versions will no longer be preserved as part of that legal hold, boards that remain under hold will continue to have all versions preserved, including any deletions that occur after the hold was applied. This approach ensures organizations can respond to legal demands with accuracy and accountability as a case evolves.

Required scope

organization:cases:management

Rate limiting

Level 3

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Get content items under legal hold](https://developers.miro.com/reference/get-legal-hold-content-items-1.md): Once a legal hold is in place you can review or explore the preserved Miro boards to ensure that all relevant data is intact and ready for legal proceedings or investigations. For more information, see our Help Center page on reviewing boards under legal hold.

This API lists all content items under a specific legal hold in a case for an organization. Please verify that the legal hold is in 'ACTIVE' state to guarantee that the legal hold has finished processing the full list of content items under hold.

Required scope

organization:cases:management

Rate limiting

Level 3

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on. You can only use this endpoint if you have both the Company Admin and eDiscovery Admin roles. - [Introduction](https://developers.miro.com/reference/scim-introduction.md) - [Getting started](https://developers.miro.com/reference/scim-getting-started.md) - [User lifecycle management](https://developers.miro.com/reference/user-lifecycle-management.md): Learn about managing user access with the Miro SCIM API. - [Get Service Provider Config](https://developers.miro.com/reference/listserviceproviderconfigs.md): Retrieve supported operations and SCIM API basic configuration. - [List resource types](https://developers.miro.com/reference/listresourcetypes.md): Retrieve information about which SCIM resources are supported.

Currently, Miro supports Users and Groups as Resource Types. - [Get resource type](https://developers.miro.com/reference/getresourcetype.md): Retrieve metadata for the available resource types (User and Group) that are supported. - [List schemas](https://developers.miro.com/reference/listschemas.md): Retrieve metadata about Users, Groups, and extension attributes that are currently supported. - [Get schema](https://developers.miro.com/reference/getschema.md): Retrieve information about how users, groups, and enterprise-user attributes URIs that are formatted. - [List users](https://developers.miro.com/reference/listusers.md): Retrieves the list of users in your organization.

Note
: The API returns users that are members in the organization, it does not return users that are added in the organization as guests. - [Create user](https://developers.miro.com/reference/createuser.md): Creates a new user in the organization.


Note: All newly provisioned users are added to the default team. - [Get user](https://developers.miro.com/reference/getuser.md): Retrieves a single user resource.

Note
: Returns only users that are members in the organization. It does not return users that are added in the organization as guests. - [Replace user](https://developers.miro.com/reference/replaceuser.md): Updates an existing user resource. This is the easiest way to replace user information.

If the user is deactivated,
userName, userType, and roles.value cannot be updated.
emails.value, emails.display, emails.primary get ignored and do not return any error.

Note: If the user is not a member in the organization, they cannot be updated. Additionally, users with guest role in the organization cannot be updated. - [Patch user](https://developers.miro.com/reference/patchuser.md): Updates an existing user resource, overwriting values for specified attributes. Attributes that are not provided will remain unchanged. PATCH operation only updates the fields provided.

Note: If the user is not a member in the organization, they cannot be updated. Additionally, users with guest role in the organization cannot be updated. - [Delete user](https://developers.miro.com/reference/deleteuser.md): Deletes a single user from the organization.

Note: A user who is the last admin in the team or the last admin in the organization cannot be deleted. User must be a member in the organization to be deleted. Users that have guest role in the organization cannot be deleted.

After a user is deleted, the ownership of all the boards that belong to the deleted user is transferred to the oldest team member who currently has an admin role. - [List groups](https://developers.miro.com/reference/listgroups.md): Retrieves the list of groups (user groups) in the organization.

Note: Along with groups (user groups), the users that are part of those groups (user groups) are also retrieved. - [Get group](https://developers.miro.com/reference/getgroup.md): Retrieves a single Group resource. - [Patch group](https://developers.miro.com/reference/patchgroup.md): Updates an existing group resource, i.e. a Miro user group, overwriting values for the specified attributes. Patch operation for group can be used to add, remove, or replace user group members and to update the display name of the group (user group).

To add a user to the group (user group), use the add operation.
To remove a user from a group (user group), use the remove operation.
To update the display name, use the replace operation. The maximum length of the displayName is 60 characters; longer values are truncated.

Note: Attributes that are not provided will remain unchanged. The patch operation only updates the fields provided.

User group members removal specifics:
For remove or replace operations, the user is removed from the user group only. This does not remove the user from any team or from the organization, does not transfer board ownership, and does not change the user license. There is no last-admin restriction for user groups. Removing a user who is not a member of the user group is a no-op.

Add user group members specifics:
All added members are reactivated or recreated if they were deactivated or deleted earlier, and their license is upgraded to FULL. On organizations with verified SAML domains, the email of the added user is confirmed. Adding a user that is already a member of the user group is a no-op.

External users specifics:
When adding existing users with the role ORGANIZATION_EXTERNAL_USER or ORGANIZATION_TEAM_GUEST_USER to a user group, we set FULL license and ORGANIZATION_INTERNAL_USER roles. - [Create group](https://developers.miro.com/reference/createscimgroup.md): Creates a new Miro user group in the organization.

Note: The displayName must be unique within the organization. The maximum length of the displayName is 60 characters; longer values are truncated.

You can optionally provide an initial list of members. Adding members follows the same rules as the add operation in Patch group. - [Delete group](https://developers.miro.com/reference/deletescimgroup.md): Deletes a single group (user group) from the organization.

Note: Deleting a Miro user group removes the group and its memberships only. It does NOT delete the member users or remove them from the organization. - [Get Service Provider Config](https://developers.miro.com/reference/listserviceproviderconfigslegacy.md): Retrieve supported operations and SCIM API basic configuration. - [List resource types](https://developers.miro.com/reference/listresourcetypeslegacy.md): Retrieve information about which SCIM resources are supported.

Currently, Miro supports Users and Groups as Resource Types. - [Get resource type](https://developers.miro.com/reference/getresourcetypelegacy.md): Retrieve metadata for the available resource types (User and Group) that are supported. - [List schemas](https://developers.miro.com/reference/listschemaslegacy.md): Retrieve metadata about Users, Groups, and extension attributes that are currently supported. - [Get schema](https://developers.miro.com/reference/getschemalegacy.md): Retrieve information about how users, groups, and enterprise-user attributes URIs that are formatted. - [List users](https://developers.miro.com/reference/listuserslegacy.md): Retrieves the list of users in your organization.

Note
: The API returns users that are members in the organization, it does not return users that are added in the organization as guests. - [Create user](https://developers.miro.com/reference/createuserlegacy.md): Creates a new user in the organization.


Note: All newly provisioned users are added to the default team. - [Get user](https://developers.miro.com/reference/getuserlegacy.md): Retrieves a single user resource.

Note
: Returns only users that are members in the organization. It does not return users that are added in the organization as guests. - [Replace user](https://developers.miro.com/reference/replaceuserlegacy.md): Updates an existing user resource. This is the easiest way to replace user information.

If the user is deactivated,
userName, userType, and roles.value cannot be updated.
emails.value, emails.display, emails.primary get ignored and do not return any error.

Note: If the user is not a member in the organization, they cannot be updated. Additionally, users with guest role in the organization cannot be updated. - [Patch user](https://developers.miro.com/reference/patchuserlegacy.md): Updates an existing user resource, overwriting values for specified attributes. Attributes that are not provided will remain unchanged. PATCH operation only updates the fields provided.

Note: If the user is not a member in the organization, they cannot be updated. Additionally, users with guest role in the organization cannot be updated. - [Delete user](https://developers.miro.com/reference/deleteuserlegacy.md): Deletes a single user from the organization.

Note: A user who is the last admin in the team or the last admin in the organization cannot be deleted. User must be a member in the organization to be deleted. Users that have guest role in the organization cannot be deleted.

After a user is deleted, the ownership of all the boards that belong to the deleted user is transferred to the oldest team member who currently has an admin role. - [List groups](https://developers.miro.com/reference/listgroupslegacy.md): Retrieves the list of groups (teams) in the organization.

Note: Along with groups (teams), the users that are part of those groups (teams) are also retrieved. Only users that have member role in the organization are fetched. - [Get group](https://developers.miro.com/reference/getgrouplegacy.md): Retrieves a single Group resource.
Note: Along with groups (teams), the users that are part of those groups (teams) are also retrieved. Only users that have member role in the organization are fetched. - [Patch group](https://developers.miro.com/reference/patchgrouplegacy.md): Updates an existing group resource, i.e. a team, overwriting values for specified attributes. Patch operation for group can be used to add, remove, or replace team members and to update the display name of the group (team).

To add a user to the group (team), use add operation.
To remove a user from a group (team), use remove operation.
To update a user resource, use the replace operation.
The last team admin cannot be removed from the team.

Note: Attributes that are not provided will remain unchanged. PATCH operation only updates the fields provided.

Team members removal specifics:
For remove or replace operations, the team member is removed from the team and from all team boards. The ownership of boards that belong to the removed team member is transferred to the oldest team member who currently has an admin role. After you remove a team member, adding the team member again to the team does not automatically restore their previous ownership of the boards. If the user is not registered fully in Miro and is not assigned to any other team, the user is also removed from the organization.

Add team members specifics:
All added team members are reactivated or recreated if they were deactivated or deleted earlier.

External users specifics:
When adding existing users with the role ORGANIZATION_EXTERNAL_USER or ORGANIZATION_TEAM_GUEST_USER to a team, we set FULL license and ORGANIZATION_INTERNAL_USER roles. - [AI Interaction Logs](https://developers.miro.com/reference/ai-interaction-logs.md) - [Get AI interaction logs (Beta)](https://developers.miro.com/reference/enterprise-get-ai-interaction-logs.md): Retrieves AI interaction logs for your organization. AI interaction logs capture user interactions with AI features in Miro: the prompt received from the user, the response returned to them, and the model and tool calls made in between. You can retrieve results for a specific time period, and filter them by session, actor, affected object, or event type. Results are paginated: when more logs match than the page holds, the response carries a cursor you pass to the next request.

Required scope

aiinteractionlogs:read

Rate limiting

Level 4

Enterprise Guard only

This API is available only for Enterprise plan users with the Enterprise Guard add-on.

- [Delete tag](https://developers.miro.com/reference/delete-tag.md): Deletes the specified tag from the board. The tag is also removed from all cards and sticky notes on the board.
Note: Updates to tags made via the REST API will not be reflected on the board in realtime. To see REST API updates to tags on a board, you need to refresh the board. This applies to the following endpoints: [Attach tag to item](https://developers.miro.com/reference/attach-tag-to-item), [Remove tag from item](https://developers.miro.com/reference/remove-tag-from-item), [Update tag](https://developers.miro.com/reference/update-tag).

Required scope

boards:write

Rate limiting

Level 1
## Pages - [Announcing our Community Apps Contest!](https://developers.miro.com/page/announcing-our-community-apps-contest.md) - [Community](https://developers.miro.com/page/community.md) - [Developer Hub](https://developers.miro.com/page/developer-hub.md) - [Roadmap](https://developers.miro.com/page/roadmap.md) ## Changelog - [Canvas tools replace the layout tools](https://developers.miro.com/changelog/canvas-tools-replace-layout-tools.md) - [Changes to Miro Marketplace app submission requirements](https://developers.miro.com/changelog/changes-to-miro-marketplace-app-submissions.md) - [New Miro MCP Server Tools: Create items, boards, code widgets, read comments and more!](https://developers.miro.com/changelog/new-miro-mcp-server-tools-create-items-boards-code-widgets-read-comments-and-more.md) - [Updated Submission Process for the Miro Marketplace](https://developers.miro.com/changelog/updated-submission-process-for-the-miro-marketplace.md) - [New Endpoints: Create and Manage Code Widgets < ⁄ >](https://developers.miro.com/changelog/new-endpoints-create-and-manage-code-widgets.md) - [📊📄 New Tools: Tables & Docs for MCP Server](https://developers.miro.com/changelog/new-tools-tables-docs-for-mcp-server.md) - [New Endpoints: Doc Formats](https://developers.miro.com/changelog/new-endpoints-doc-formats.md) - [🚀 It’s here! The Miro MCP Server is now in Public Beta](https://developers.miro.com/changelog/its-here-the-miro-mcp-server-is-now-in-public-beta.md) - [Removed: Experimental Webhooks Support](https://developers.miro.com/changelog/removed-experimental-webhooks-support.md) - [2025-10-01](https://developers.miro.com/changelog/2025-10-01.md)