🏆 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, Do we have any API to remove the user licenses or remove users from MIRO team? I can see API to invite users but not able to find option to delete.I referred the documentation and delete apis are deprecated. Please confirm if any API is available to do this task. Thanks,
Is there any way to get the users list from every boards associated with team under single api only as I cannot call the multiple api in my workflow based on the board api I am using auth0 to authenticate the users
Hello, all!This is my first post after just joining this discussion, so please forgive me and provide kind assistance if I have posted to the wrong subsection.I am new here but a real enthusiast and loving this community so far. I have a background in teaching coding and in education and feel I could help with documentation, at least for starters.As a new member in this forum and wish to share and gain some knowledge. I am looking forward to create my own discussion to resolve my query and gain some knowledge though I have taken part in various discussion which is definitely helped me a lot.Also what category should be taken depends on what factors? Thankyou in advance.
Same issue as a ton of other people...can’t get Miro to load anything (no dashboard, no boards) even after attempting to troubleshoot in all the ways.This really sucks Miro team. You’re likely to lose someone who used to really love your software.
Hey, developers!We’re happy to share a couple of new resources you may find helpful when working with the Web SDK.❓Some of you have had questions around events, and if there is a single page where you can find all events related to the Web SDK. Also, we've heard questions around what the difference is between metadata and storage, and when to use one over the other.So we've created comparison tables you can use to help you decide which feature may best fit your use case.Comparison tables:Events: https://developers.miro.com/docs/events Storage & Metadata: https://developers.miro.com/docs/storage👥 We've also created a guide on helping you understand collaborative experiences that can be built via the WebSDK.These can be useful to create an app in which you want to emulate a workshop, or to create different experiences for a facilitator and their participants. Read our guide on how to build collaborative app experiences here:Build Collaborative App ExperiencesCheers!Miro Developer Pl
curl --request PATCH \ --url https://api.miro.com/v2/boards/<Board ID>/frames/<Frame ID> \ --header 'accept: application/json' \ --header 'authorization: Bearer <Redacted>' \ --header 'content-type: application/json' \ --data '{ "geometry": { "width": 900 }}'Returns a error, no matter what I give it,{ "type": "error", "code": "3.0204", "context": { "boardId": "<Redacted>", "itemId": "<Redacted>" }, "message": "Child item cannot be placed outside the bounds of its parent", "status": 400} Why does this happen, I did not even update my position, even if I give my old positions, I still get the same error all the time. This is very frustrating and disappointing.
How to move it? async function addSticky() {myItem = await miro.board.createStickyNote({content: 'Web SDK test!',});} async function moveRight() {myItem.x += 10;}is it possible to move throught WEB SDK?
Hi @Miro Developer Relations I am trying to copy board from one account to another team account via Miro REST API. I tried two approaches to solve this problem see below:Approach 1: I used copy Board API but getting 403 Forbidden error if i am using v2.0 API.Approach 2:1. I created blank board to other team member account via Create Board API.2. I get all widgets from one board which is exist into another team account via List All Widgets API via v1.0 API.3. I tried to create all widgets into newly created board but getting error like fontFamily key or createAt,createdBy is not supported into rawJSON via v1.0 API.So i am stuck into that please suggest the solutions of above problem which i am facing at my end.Thanks.
I'm currently trying to get images on the Miro board using MiroAPI or SDK. However, when you run the code below, nothing is displayed in the URL field. What should I do? What I want to do is get the image on the Miro board and paste it into my web application via the server, and one way to do that is to use a URL. I would like to know if there is another method.–const allWidgets = await miro.board.get(); const imageWidgets = allWidgets.filter(widget => widget.type === 'image'); const imageData = imageWidgets.map(image => { return { id: image.id, url: image.url, title: image.title, position: image.bounds }; }); console.log(imageData);
Every time I get a link to a miro board the link opens in my browser. Stop doing that! I have the desktop app installed. Open the miro board in the app.!!
I was looking into building a plugin (Web or via REST both options are on the table) that tracks dates when cards are being moved around on the Kanban board. It looks like I can save some custom data under “metadata” : “app_id” { … } but I couldn’t find the way to query which column does the card belong. Is there a way in JavaScript or in Rest API to query which column does the card belong to on the board?
Hi,we have a fairly large organisation and we create content on multiple platforms (Confluence, Github, GDrive, Miro). We are currently building a federated search application to allow our employees to search across all relevant content repositories.We currently index content on Github, Confluence and would like to add content in our Miro org to our index. Is there some sort of API Miro offers to allow external search indexing bots to index their content, or perhaps something more specific to Elasticsearch, since it is the technology we happen to use?
For our app (3074457347393893408; status “Draft”), we go through the OAuth flow, and receive an access token.Yet, the token is expired: “expires_at” is the current timestamp and “expires_in” is set to 0. We also don’t receive a refresh_token.Interestingly, the option “Expire user authorization token” is deactivated in the admin UI.Do you have any advice what might cause this?
Hello,I would like to have a way to hide and show shapes. This will allow to write an app for something like layering. I tried moving a shape into x=Number.maxNumber, which was good, as it was off the visible board, but then I get an error when I try to set it X value back to its original value. Something like it has no parent.Any other ideas on how to do this? Thanks.
Is it possible to export table data, including the contents of each cell, using either the web SDK or REST API? I can see it is possible through the UI but I can’t figure out a way to do it programmatically.I can get back a list of all the widgets but there’s no explicit information about which cell they belong to. I guess it may be possible to calculate which cell each widget belongs to by using the table’s bounds and the widget’s co-ordinates but I haven’t looked into that yet. To give an example I would like to be able to programmatically determine that the “Whiskers” sticky belongs to the “Cats” column and “Names” row.
I used the app SDK quickstart to make an app. Up until an hour ago, it was working. Then the file input stopped working. I haven’t touched this part of the code (to my knowledge) and the file select input event handler is not triggering at all. I have the following code:app.jsdocument.getElementById('csvFileInput').addEventListener('change', handleFileSelect, false);function handleFileSelect(event) { console.log('file'); const file = event.target.files[0]; if (file) { const reader = new FileReader(); reader.onload = function(e) { const contents = e.target.result; const rowsArr = processCSV(contents); buildGraph(rowsArr); }; }}...app.html<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <script src="https://miro.com/app/static/sdk/v2/miro.js"></script> <title>My App</title> </head&g
While browsing the Miro documentation I found some information about widget grouping: https://developers.miro.com/docs/interface-igroup This was sort of helpful, it shows me the parameters that are needed for a widget group but it doesn’t include a method which can be called to create a widget group. There is a GET method to get a widget group but I can’t find any further documentation on widget grouping, are there any other resources in the documentation?
I currently am making an app that has cards that you can move around inside the board, and just want one SVG image of the card and have text that I can change since the messages can be changed from time to time, and making hundreds of SVG images with different text is not exactly ideal. So I want to be able to create and image object and group it up with text, so I can drag the card around and have both image and text intact.
Dear Miro team, [Reposting https://community.miro.com/ask-the-community-45/custom-action-query-for-exactly-two-elements-15250?tid=15250&fid=45]I wanted to ask if it is possible to create a custom action for an exact number of elements, e.g. when exactly two frames are selected. Currently if I’m specifying ‘multi’ the action is also shown when a single element is selected, or more than 2. Thank you!
Hey everyone!We're excited to share that we've released two new methods in the Web SDK which can be used to group and ungroup items programmatically. With this stable release, you can now use the miro.board.group and group.ungroup methods to manage items, respectively.Example of grouping items and adding them to a frameconst shape = await miro.board.createShape()const card = await miro.board.createCard()const text = await miro.board.createText()const items = [shape, card, text]const group = await miro.board.group({items})const frame = await miro.board.createFrame();// shape, card and text will also be added to the frame// you can check their parentId property after this operationawait frame.add(group)Groups do not support the following capabilities:Mind maps Tags MetadataFor more details on these new methods, refer to our documentation on group and ungroup methods in the Web SDK.
I’m trying to set the childrenIds of a frame via the Web SDK but it seems its not allowed. The documentation doesn’t mention that it’s a read-only property. Is it possible to associate frames and their content programmatically?Frame (miro.com)
Current Mode in Webex ConferencesA green Share button shows as soon as you open a poll. As soon as you click it, Slido Present mode is shared with your attendees. You are no longer sharing Present mode with participants when you select Stop sharing.
Hello! Can I use Miro Web SDK if I embed my boards via iframe to my application? (I connected board as here Live Embed with BoardsPicker for registered users (miro.com))I want to do that:const item = await miro.board.get({ id: id })await miro.board.viewport.zoomTo(item)but I don’t understand how to get miro object from iframe in my application.I tried to do that:document.getElementsByClassName('miro-embedded-board')[0].contentWindow.miro, but I get error: Uncaught DOMException: Failed to read a named property 'miro' from 'Window': Blocked a frame with origin “https://my-link” from accessing a cross-origin frame. at HTMLDocument.<anonymous>Thanks.
I am new to Looker and trying to create my first alert. The requirement is simple when a status field (calculated field) is greater than 1 looker should send an email. Though a couple of records value is more than 1 still not sending an alert. I didn’t schedule a delivery, just created an alert.
the keyboard shortcuts should all be on either the right or left side of the keyboard as opposed to being name related (P for pen, T for text, etc.). this makes it very hard to operate one-handed. if my right hand is on the mouse, my left hand is on the left side of my keyboard. i don’t want to make my right hand leave the mouse nor drag my left hand to the right side of the keyboard.at the least, this shoudl be an option to choose from.
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.