🏆 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
Hey, Miro Developers! We’re excited to announce experimental release of the getVotingResults method for paid plans that have access to the voting feature. The getVotingResults method fetches the results of voting sessions belonging to a board. This method is available only on paid plans that have access to the voting feature. It’s really important to us that we can create the best possible developer experience when it comes to this new capability, so please share any and all of your feedback with us here, or in our #experimental channel on Discord:https://discord.gg/G8KFgnkCc5 Important: Please keep in mind that this is an experimental feature, so you should not implement or rely on this capability in any kind of production environment, as there may be changes, bugs, etc. We’ll be sharing all feedback directly with our Product and Engineering teams to ensure we’re creating the best version of this capability possible! Ready to get started? Visit our Documentation to start working with
Hey, Miro Developers! We’re excited to announce the experimental support for creating items in bulk with our REST API. This initial release supports the creation of multiple, different types of items to a board, in a single call. 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. It’s really important to us that we can create the best possible developer experience when it comes to this new capability, so please share any and all of your feedback with us here, or in our #experimental channel on Discord:https://discord.gg/G8KFgnkCc5Important: Please keep in mind that this is an experimental feature, so you should not implement or rely on this capability in any kind of production environment, as there may be changes, bugs, etc. We’ll be sharing all feedback directly with our Product and Engineering teams to ensure we’re creating the best version of this capability possib
How does Miro avoid creation of duplicates with the 2 way push between Miro-Jira (i.e., duplicate objects from Miro to Jira and also Jira to Miro)? Perhaps @Shubangi Sunder has some more info or a video explaining how creating duplicates are avoided in either app (JIRA or Miro)?Thanks.
Hey, developers! We’re working hard to improve the developer experience of building and publishing apps and your feedback is vital to our work.If you’re a new or experienced Miro developer, we want to learn more about your motivations for building apps and the experiences you’ve had so far. Please complete our short survey and be in with the chance to win one of three $100 rewards. Take the survey now ➡️
I want to be able to type:An itemBut when I type that, Miro recognises that the 2 is a number and converts the text to a numbered list and changes the 2 to a 1.You can’t have a numbered list start with anything other than a 1.
Hello there,Having a problem with embedding Miro inside another iframe.It says “This is a private board”.I’ve submited the form to get access to boards picker component according to documentation.Here is the code:miroBoardsPicker.open({ clientId: clientId, action: 'access-link', allowCreateAnonymousBoards: true, getToken: async () => axios.post('/obtain-jwt').then(r => r.data), error: e => { console.log('on error', e) }, cancel: () => { console.log('on cancel') }, success: async function (result) { console.log(result) window.open(result.accessLink) }, }) It works well upon opening the access link in the separate window via window.open()Access Link example: https://miro.com/app/live-embed/uXjVMBMXOW0=/?boardAccessToken=5GDDy0S9quNzU4zH3U4jtsktWiJbpgKV&autoplay=trueHowever inside iframe some XHR requests falling with 403 error.I noticed, that i
Hi Guys I have a use case to create a custom shape widget on the Miro board where in a user can add one or more widget [ lets call it a card ]. Inside each card - I want to add some information in each tab and I can add or delete tabs ( rows ) as per the requirements. Widget should allow editing the information in each block. Please visit this link to have a visual idea about the image - https://i.ibb.co/r6ssh6k/custom-widget.png I need your suggestions - How can I create this and use it on the development canvas board? ThanksAbhinav
Hello community!I found a strange error going through logs, which is not reproducible so easily. The error message is “An error occurred while retrieving the subscription. Contact support to request assistance”, status is 400 and the code is “7.0913”.Does this happen to anyone and can any information be provided in order to understand the error ?Thanks in advance
Hi, Looking around on the forum I could not find an answer to my question, so allow me to explain. For multiple groups of users we want to use miro boards for guiding their projects. In each step of the project, some data needs to be updated in a central database, to track the progress of the different projects. Since having all information in one place is benificial, we would like to have an interactive (excel-like) table, that on opening of the Miro board loads data from a (company) server, and allows people to enter/change information in the table. The information should then be updated on the server.Is this possible, even in a non-native way? If anything about my question is unclear, feel free to ask for more details.
Hello,I struggle to install Jira Cards with our onprem Jira instance (DataCenter) using OAuth 2.0.What I read from Miro documentation is that OAuth 1.0 is used for onprem Jira instances.In the german version it is even said that:The protocol used is OAuth 1.0.Currently Atlassian only supports this protocol. OAuth 2.0 authorisation code (3LO) is currently in developer preview.https://help.miro.com/hc/de/articles/360013463739-Jira-Karten-FAQWhich is clearly untrue because our Jira instances (v9.x) uses OAuth 2.0 by default.That’s why the connection between Jira and Miro does not work for our instance, because Miro only supports OAuth 1.0. So my question is: How can I connect Miro to Jira (DC) - while Miro only supports OAuth 1.0 but Jira only supports OAuth 2.0?
Hi,How to export the miro board as Image, Pdf or any other format. Someone could please help me out, I need this feature.Regards,Sathia
Introducing our new Developer Challenge Hey, devs! Ready for a challenge?Check out the Miro Developer Platform's Web SDK Scavenger Hunt 🔎Level up and use Miro's Web SDK to interact with your boards, using just our built-in console. 🤖Get Started and earn a surprise developer badge:https://bit.ly/43dwkni
Hey Nice to finally see the addition of connectors to the SDK (though the change from “Feature request” to “Done” on the roadmap was a little swift and unexpected). To get to the point though: I see thatboard.get({type:”connector”})is actually implemented - I can use it in the dev console for example to get only connectors. But it would seem that the types package- & the documentation are not up to date with this fact? So this right here produces a compiler error (although an easy workaround is to just cast it).
When several users are in the same board, they not see the left-side panel where the app is running. They can use the app independently, but it does not show them what the administrator is doing at the moment in his panel.For example, if I'm inserting a word into wordle app , they don't see the word that i am writting ,and they can´t insert a word. But if i add a sticky note they inmediately see it on the board and they can edit it.administrator :member:In the screenshot , both users are at the same time in the same board. Both see the board, but only one the panel app.The panel where the app that I have developed is running does not allow me to share it in real time with the other team members. My question is: is there any possibility that the panel where the app is running can be shared just like the board is shared?
Hey everyone, I’m following thishttps://developers.miro.com/docs/working-with-sticky-notes-and-tags-with-the-rest-api and after obtaining my oath for my app and plug that in the code, plus added the board id from https://miro.com/app/board/uXjXXXXXXXX/ where uXjXXXXXXXX(censored) is the board id and i get the following error:‘const sticky = await board.createStickyNoteItem({ ^TypeError: board.createStickyNoteItem is not a function‘Complete code: // Using miro-api client libraryconst { MiroApi, ShapeItem } = require("@mirohq/miro-api");const api = new MiroApi('eyJtaXJvLm9yaWdpXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')const board = api.getBoard('uXjXXXXXXXX')async function main() {const sticky = await board.createStickyNoteItem({ data: { content: "I'm a sticky note", shape: "square", }, style: { fillColor: "light_yellow", textAlign: "center", textAlignVertical: "top", }, position: { x: 0, y: 0, },})}main() I think the issue is wit
Hi Team, Is there a way to capture user interactions with Live embed Miro board? I want to capture the those events and replay them later re-creating entire interaction with the board programmatically. Thank you
I understand the need to force a pagination (although 100; it's still a bit low.)But then the stroke of the cursor, I do not understand.Could a simple "offset" have been suitable?Limit=100&offset=0, Limit=100&offset=100, Limit=100&offset=200, … In any case, it complicates my work terribly.Maybe making access difficult and complicated is a way to reduce the load on api servers.
I use an async call to create a number of frames with `createFrame()`. When I go into “Presentation Mode” in the UI, the order seems random (or influenced by the async call). Using the UI sidebar, I can of course change the order. How can I do this programmatically? Is there a property such as `presentationOrder` for frames?
Hi,I am testing Miro REST API and WEB SDK and, so far, everything is woring fine.My current test is calling an external API from WEB SDK App, but it is not working.Is the ( API call ) code below valid for Miro ?It works perfectly well in a normal React site.As you can see in the code this example uses a non-authenticated and CORS enabled URI.Thanksimport * as React from 'react';import {createRoot} from 'react-dom/client';import { useState, useEffect } from 'react'; // APIasync function addSticky() { const [data, setData] = useState(null); useEffect(() => { fetch("https://contabo.easylob.com:5443/echo?origin=Miro") .then(response => response.json()) .then(json => setData(json)) .catch(error => console.error(error)); }, []); const stickyNote = await miro.board.createStickyNote({ content: 'Hello, World!', }); await miro.board.viewport.zoomTo(stickyNote);}const App = () => { React.useEffect(() => { addSticky(); }, []); return ( ... );}
Good day Miro developers! 🖖 😃 The Miro Web SDK 2.0 got a couple of new features 🚀 that we’d love to share with you! 💫Flowchart shapes are now available as an additional set of shapes in the experimental shape item. ℹ️ Currently, flowchart shapes are available only in the experimental namespace: miro.board.experimental. getOnlineUsers: how many users are currently online on a board? Use the getOnlineUsers method to fetch IDs and names of currently online users on a board. online_users:update: apps can subscribe to the online_users:update event to register changes in the number of online board users. The event contains an array with user IDs and names of the currently online users.For more details and for links to the docs, see the changelog 📄
this is the first miro app i’ve tried to create, so im following the webinar here - when i run npm run start i get the following error, npm ERR! Missing script: "start" seems like probably a basic error but i’ve not had it before on other solution i’ve developed, any ideas how to resolve it?
Hi,I just published a Medium Story and a GitHub repository with a Web SDK App created with Python and Flask, instead of JavaScript and React:Medium - Miro Web SDK App with Python and FlaskGitHub - MiroSo far I did not see any incompatibility with Python, but I will continue the tests.Next steps are including Business Logic, API and OAuth 😀Thanks ( you may close the Conversation )
Hi,First, congratuations for the excelent Miro documentation: probably the best I used in 30+ years 😀Based on my very long experience ( 5 days !!! ) with Miro, I just published a Medium Story and a GitHub repository with API Clients in C# and Python, based on Miro OpenAPI Specifications:Miro - Miro OpenAPI SpecificationsMedium - Create Miro API Clients in C# and Python from OpenAPI SpecificationGitHub - MiroIt could help other developers to create their own API Client in other languages. As far as I saw, currently Miro GitHub as an API Client just for Node.js/TypeScript.Thanks ( you may close the Conversation )
Hello Friends,I have a chat app that I would like to have blank Miro boards on. I would like each user to be able to create their own board and be able to save and share with others. When I look into embedding using Miro it looks like the ability is just to embed an existing board. My worry is that this would add one board that is shared amongst every user that when it’s customized it updates for everyone. I would like each user to start with their own blank board and the ability to create more. Is this possible? Thanks!
Hello, if i have a google sheet with many topics, how can i paste them into the miro mindmap as different branches?
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.