🏆 Make your 2026 football predictions with Miro — + win $400 in our June Challenge
Discuss everything related to Miro API, SDK, embedding and Miro Platform apps development.
Recently active
Hi I was looking for a solution to de-select currently selected widgets on the whiteboard here https://developers.miro.com/docs/interface-iboardwidgetscommands but couldn’t find a solution. I’m using a widget attribute of clientVisible: false . After I overwrtite a widget with this attribute it becomes invisible on the whiteboard but still can be manipulated with as it stays selected hence even while in clientVisible : false state the user is able to move it around, I would like to perform a de-select method after the clientVisible change, so that the user would either have to make the widget visible again to move it around or not be able to move it while it is invisible
Hello! I was versed in the API by following this documentation:I was able to build my development team and my floating decal board. However, I noticed that you cannot go to your main profile (which I work on) and connect the API to it. In the settings of your profile, when creating your application, you can select only the team profile, but you cannot choose your own.What does it mean? Can't I use the API on my board?
Hey, everyone!We’re excited to announce experimental support for creating, reading, and deleting Mind Maps via the REST API. Important!Mind Maps are not yet supported in production endpoints. You can use the experimental endpoint to explore these APIs.Ready to get started? Check out our API Reference here.Changelog entry:https://developers.miro.com/changelog/2023-11-3-changelog P.S., have feedback for us? Please share any and all of your feedback with us here in the thread below, or in the #experimental channel on our Discord server. 😎
Hi there, I want to get the share board link from a web whiteboard without pressing the button manually. Is there a way? When you go to https://webwhiteboard.com and press the button “share board” you get a shareable link like https://webwhiteboard.com/RrLhnFUb3lNDLSDxxx/.Is there a way to directly create a board and get a shareable link? I checked the Miro API, but it seems that you can’t use it to create web whiteboards. Thanks, Leif
Is there a way to change the layering of widgets on a board via the rest api?I get inconsistent layering, i think due to race conditions sending create widget requests. From what i can tell the more recently added widgets always end up on top, but i can’t find a way to add a widget behind ones that already appear on the board.I assume i’m missing something? Thanks for the helpMokes
There is a problem while i were interacting with the board T^TCurrently, the auto-save just like being activated randomly made me stop all the time so it indeed irritates me ;^; Thats the auto-save setting thing, i just want to manage the time like setting it myself.I had research where I could reach the auto-save setting before starting this topic. If its my mistake, please show me the way to manage it ;^; Im so sorry.If it isnt, please come up with some solutions ;^; Thank you.
Is there any way to list all boards in a Miro team and the permissions associated with them? The use case is to create an external search index for Miro boards for the entire team without every user needing to authorize separately. This would require having an app integration at admin/team-scope (as opposed to user-scope).
Hello, if i have a google sheet with many topics, how can i paste them into the miro mindmap as different branches?
I am working for a larger organization which has Domain SSO enabled for their users. We are working on building a custom app for Miro, but when I follow the instructions on the Getting Started page, and click the Get Dev Team to Create an App, I get an error that says: “Domain users are not allowed to create any accounts outside of their domain organization.” We have been building the tool in our own development project, but it’s now time to hand it over to the company and I don’t see how to add it in their organization’s settings. Our ‘API, SDK & Embed’ tab looks very different from theirs.Any help would be greatly appreciated.
Hi, Recently I have been testing my board extension in numerous real working enviroment boards instead of my test boards. The main difference was widget count on these boards, while I have made 20-30 widgets when testing these boards have 500+ widgets with some exceeding 5000 ( including handwriting where each stroke counts as a widget, these make up a lot of the total). The core of the problem is:miro.board.widgets.update({ "id" : widgetID2,// just a widget id the user assigns to a certain layer "clientVisible" : false // makes the widget not visible })when I do this, even if I only hide a few (4-5) widgets on a massive 1k+ widget board. The board becomes unresponsive after a few seconds prompts up a “syncing” modal like this:At this stage there are 2 outcomes: boards under 1k widgets: The sync takes it’s time anywhere from 2-3 seconds to 30 seconds. Then makes the board available to the user again. This is kind of frustrating since
I am having trouble understanding how to authenticate my app to use the REST API with my specific use case. A high level overview of what I need my app to do is as follows:Read existing boards Compare items on the boards to data within a data warehouse Create board items to represent specific data in the data warehouse (if they don’t already exist)This would be executed by a script and run on a schedule, so no human user would be involved. What I am not understanding is Step 2 of the “Authorization flow for expiring tokens”: “Request user for authorization”. https://developers.miro.com/reference/request-user-for-authorizationHow does this work since there will be no user? Is there another way to receive an authorization code or a way to get an access token without one? I am a business analyst, not a developer, so explaining it like I’m five is much appreciated!Thanks in advance!
Hello,I’m trying to place an image to a board. I achieved to upload the image through the method described here: https://developers.miro.com/reference/create-or-update-pictureIn path params I’m using “boards” and the ID of an existing board. As a result of the query I get: { "type" : "picture", "imageUrl" : XXXXXXX, "id" : "Optional[XXXXXXXX]"}(I substituted the original values by “XXXXX”)So it seems that the image is uploaded but it’s not appearing inside the mentioned board.What am I missing?
It would be great if images and icons could be added as nodes/topics in mind maps
Attempting to implement a Web-plugin that imports/uses data published on a webserver.This works OK if the webserver is the same as where the Web-plugin is published.But when data is published on different server the browser CORS protection prevents accessing the data.I’m not a web hacker, but if I understand it correctly to allow this the Server needs to modify the CORS policy by adding the data source location to the “Allow list”. Am I correct in this ?Would it be possible to add such listing in the plugin setup or installation?This would allow for a range of quite interesting features:Importing and synchronizing JIRA issues without JIRA Integration (our corp. policy does not allow such external access to an internal server) Charts and diagrams updated from live data Images and other content integrated into MiroOr is there some other solution?BR/Per
I followed all the steps in this tutorial but couldn’t find the app in the More apps section of the toolbar. I tried running it on Chrome with all security features turned off. Any ideas?
Hello,Has anyone populated a mindmap from an Excel spreadsheet from the automation tool, n8n.io? Many thanks
When creating a new widget from the REST API, is there a way to set a URL as the ‘Link to’ value? If so, what does that look like in the JSON?
I am trying to integrate miro in my react app. And I am currently facing these errors,“SDK Loaded” message is being printed on the console, but miro.onReady() function is not getting called. And if I try to call miro.isAuthorized() or miro.requestAuthorization(), then it’s showing me error (“is not a funtion” for both), even if “miro” as a variable is defined. From one conversation in the community, I found that we can put the ReactDOM.render function inside the miro.onReady function, but now even “SDK Loaded” is not being printed, and React app is also not being rendered.
Hi,Do you have any plans around to provide API functionality around the topic “Backup”https://help.miro.com/hc/en-us/articles/360017572774-Board-Backupto be able to build export/import automation over REST?GreetingsManuel
I’ve not seen anyway to gain access to a table via the Web SDK, for example to create rows/add data, as well as read the data within the table structure. Is this the case? If not, is there any plan to implement it?
We have a need to pull the company users list and validate user who have a license that they have been active in the last 60 days. If they have not been active, we move their license to Free Restricted to free up the license for another user. We currently implement this by download the user.xlsx from Miro but would like to perform this via API. Is there any APIs that allow this functionality?
Dear Miro Team,We want to display Miro board into our application without asking user to sign-in to Miro. We want the users to log in our application (we are using OKTA as authentication/authorization mechanism) and will navigate to the page where we display miro board in the iframe. Even is the user is not logged in to Miro and he does not have the miro cookie, we want to display the board. Is that possible or miro login is mandatory before displaying the board?
Hi,I’ve just finished building the simple Miro Web Plugin to count the number of widgets by type and would like to add a button on the sidebar which creates a sticky on the board with the count.I tried adding the button to HTML using the code below but the button itself is not clickable, is this not supported on the sidebar? let button = document.createElement('button');button.className = 'stat-list__button';button.innerText = 'Create Totals';button.addEventListener('click', function() { alert("Test");}, false);statView.appendChild(button);Thanks for the help!Tudor
Hi I have a problem and can't find any information about it.I use the method miro.board.createCard to create new cards described on the page https://developers.miro.com/docs/card_card-1If I don't add cusftom fields i.e. leave the array empty ( fields: [] ) - by clicking the detail preview icon for the card - I can edit the fields (color, author, description, etc.) However, if you add a custom fieldfields: [ { value: 'Bug fix', iconUrl: 'https://cdn-icons-png.flaticon.com/512/3867/3867669.png', iconShape: 'round', fillColor: '#E5E5E5', textColor: '#000000', tooltip: 'Caption text displayed in a tooltip when clicking or hovering over the preview field', }, ],- in this preview all fields are lockedI cannot change them here.However, from the toolbar I can do it (for some fields)This bar allows you to change the fields: color, status, date, author, tag, etc. However, you cannot provide a description.Question:Why are the fields in the preview blocked after adding custom firlds and cannot be
Hi there,I ran into a problem that a 500 response is returned to a valid request if you send it via Intellij Idea. (via Postman is ok){ "type": "error", "code": "internalError", "message": "Internal server error", "status": 500}I am sending the request to “api.miro.com/v2/boards” endpoint and have this issue, but if I’m sending request to api.miro.com/v1/boards” it works fine. This is strange.Similar problem was here.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.