Discuss everything related to Miro API, SDK, embedding and Miro Platform apps development.
Recently active
Hi community, I’m keen to experiment with extending the Miro board with other apps that can be dropped onto the board and used by the team. E.g. and embedded version of Figma, a file store or a coding environment. I can’t use the iFrame widget for this as it defaults to just showing a preview - I want it to show the actual content of the remote session (likely with some kind of user locking mechanism). Am I correct in my understanding however that the widgets/API can only be used to create apps that manipulate existing board items (e.g. place post its) vs create new board entities (e.g. premium post it). Thanks for your help! Luke
I am working on a SPA where I am trying to create a UI on how to configure the look and types of the widgets to import. So I was wondering is there a way to set up cors in the Miro development settings that I missed?I am using directly Authorization with the Bearer token.
Hi, I was doing some widget plotting and detection earlier and found that widgets seem to have “reversed” values in their y-axis top and bottom bounds property. For example a fresh widget which I created with miro shape creator had these bounds:This might just be a result of different plotting technique or something but from what I know bottom y axis point should always be smaller than the top y axis point. Is this “inverted” on purpose? If yes what is the idea behind this? Also I have not made any tranformations / translations on the board or widgets. And what really bugged me is that the x-axis left and right points are plotted normally (left is on the left and right is on the right) unlike the y-axis points. From which arises another question is this actually plotted on the board in reverse or are the values just passed to the wrong attribute inside the widget data?
Hello, Does anybody know of any plugin in the market similar to the plugin named Looking Glass in this guide? https://developers.miro.com/docs/web-plugin-examples#looking-glass I find it to be useful, but I figured out maybe somoeone in the community already built it from the API example and can share the finished plugin with me. Saves me a lot of time of learning how to do it myself. Thank you,Omar
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
Is there any way to batch upload user profile pictures when Azure AD provisioning is enabled?I could not find any SCIM options to do this. I could not find out, how to upload pictures using side scripts. I found there is API for uploading pictures, but it requires Miro’s internal user id. And there is no API to get Miro’s users ids for my enterprise.Need assistance.
I have embedded a Miro board within a web api using the following link<iframe src="https://miro.com/app/live-embed/@Model?embedAutoplay=true&moveToViewport=-23165,-5837,13803,7546" style="right: 0; width: 100%; height: 100%; border: none;"></iframe>This enables the board to be opened automatically when the web page containing the link is displayed and the user is signed in to Miro.However, if the user is not signed in then a message to “Sign in” is displayed as below; Now, when the user signs in, using the “Sign in” button, the iframe containing the board, is refreshed and a message says “Reconnecting” then “Connection restored” is displayed at the top of the board but the board does not display.Instead the rotating image below is displayed. How can I embed a Miro link in a web api such that the board is auto displayed if the user is signed in or it is displayed automatically after the user signs in?
I am thinking of a small personal app idea that could use Miro pretty well but the way I’m envisioning it, I’d rather create the board automatically and allow all the anonymous users to edit it rather than having a user create an anonymous board through `boardPicker`. Is this possible? The API suggests that only `view`, `comment`, and `private` are valid options for the public `access` field when creating a new board. I am on the consultant plan by the way.
Does Miro provide an API for capturing chat room content?
let image = miro.board.widgets.create({type:'image', url: url, x: canvasX, y: canvasY})let text = miro.board.widgets.create({type:'shape', x: canvasX, y: canvasY, text: "<strong>Title<br/><a href='https://www.google.com/'>Google url</a></strong>"})miro.board.widgets.create({type:'frame', width: 300, height: 500, title: "Test", childrenIds: [image[0].id, text[0].id], style:{backgroundColor: "#ffffff"}})}Here is code snippet. This adds a frame and two elements to it. But frame and children don't belong each other. When i start dragging frame children stay static. Is there any way to make child elements nested to frame?
Hi there,Currently I’m working on implementation MiroBoard for not registered users, for registered users everything works well, but for not registered users I need to generate JWT, I generated it but it seems there’s something wrong with it.Can you please share some examples of JWT generation for MiroBoard using node.js?
Hi, after about 20-30 seconds of inactivity I get this error: Response by token not found .areYouAlive-pzexwRYT0y6q6vo4JdA5 from my app. I understand that this is triggered automatically but don’t understand how or why (since this doesn’t happen in any other ones I made) I don’t get why the token expires. Once this error gets triggered my app will not accept input, sometimes if I try to input something twice it works on the second try and sometimes the app needs a re-launch. Is there something I’m doing wrong, or some way to prevent this from happening?
Hello there,So we are trying to build a teaching app where users are taken through several stages in a lesson, one of which being able to interact on a whiteboard.For a lesson we want either a blank board or to start from a template designed for that particular topic. The board should be created from a template programmatically and embedded at the appropriate point in the lesson. This is embed it on the page so everyone would be able to see it and interact with it.After some investigation and tests we came across the following problems:1/There seems to be no way to programmatically get access-links other than using your boardPicker.js. I am aware that we are able to embed using https://miro.com/app/live-embed/{board_id}/ but this requires the user to click on the board for them to see it and we really want to avoid that.And the only option where no click is required is by using “https://miro.com/app/access-link/{the access link part}”. We want to skip the boardPicker and programmatical
I want to search a way in miro that per board people can save all the postits that are made per topic can be saved i an sort of database or frame and later other people can see the content and share and reuse some answers/postits. Maybe with integration with an app or in miro in another frame of board?ThanksKatrien
HiIs it possible to create a custom card type with some extra fields, happy to get stuck into some APIS if it would be possible….It’s been a few years since I did some serious coding so any Noddy guides would be helpful ThanksJ
Hi everyone, We are looking into embedding Miro boards into our React.js application. I have read through the docs and I have applied (and got accepted by the API team) to get access to Miro Live Embed. I just have a few questions:Are all three approaches listed in the docs page above (direct board link, boards picker from JS, and temporary boards for un-registered users) available? The flow for temporary boards caters for both un-registered but also allows users to log in if they have an account. Correct? What is meant by “… requires enablement on Miro side...”? Is there anything more required from our side, other than submitting the form above and being accepted? I created the “Dev team” as instructed by the docs. Is this the team that I will be using to also publish the integration, or can I create a new team and transfer the integration to that team. Also, I renamed the “Dev team”, any issues with that? Do you foresee any complications with trying to integrate a Miro board into a
I am trying to access audit logs of my team but am unable to access it as it says bad request for every request. This is the requesthttps://api.miro.com/v1/audit/logs?createdAfter=2021-02-01T23:59:45Z&createdBefore=2021-02-05T23:59:45Z I have also tried this in case it might work but it did not work toohttps://api.miro.com/v1/audit/logs?createdAfter=2021-02-01&createdBefore=2021-02-05 I have added my authentication as Bearer {{Token}}. The response I get is 400 Bad Request:{"status": 400,"code": "invalidParameters","message": "Method arguments are not valid","context": {"fields": [{"field": "createdAfter","message": "Invalid parameter type: Date is required","reason": "invalidParameter"}]},"type": "error"} Any help here would be appreciated. Thanks in advance!
I am getting the following error when i am trying to integrate MIRO board.miroBoardsPicker.open({ windowRef: windowRef, //Provide opened window reference clientId: miroClientId, // ask the backend action: "access-link", allowCreateAnonymousBoards: true, //2) Enable this option getToken: () => getMiroJWT(), // Provide token in async way success: data => { console.log("on success", data); document.querySelector("#test").innerHTML = data.embedHtml; }, error: e => { console.log("on error", e); }, cancel: () => { console.log("on cancel"); }, });getMiroJWT() returns a promise. And the windowRef works but it says “Sorry, integration is unavailable.” . The exact error message from the console log is“ on error Application key: **********. Reason is platformApplicationNotFound “ I could not find anything about platformApplicationNotFoun
Hello,We have couple of web plugins that use metadata, When app#1 updates metadata it is stored in the below format{ "metadata":{ "appID#1":{ "data":[ 1, 2, 3 ] } }}Let say we are updating metadata from another app, then its getting stored by removing the app#1’s metadata.{ "metadata":{ "appID#2":{ "data":[ 10, 11, 12 ] } }}We couldn’t workaround the problem by supplying entire metadata(from both app’s), in which case below error appearsYou can write metadata only for your app Id ‘3323453453454….’
Hi,We have implemented the board on our web app using iframe integration, but when a host wants to share the video or start video chat he/she needs to log in first through miro.com.We want to authenticate the user without going to miro.com, is there any way to set authentication through iframe or any API calls? Thanks in advance! regards,Kundan
I was wondering whether I can create dynamic wireframes using metadata stored in a database?Has anyone done this?For example if I have a list of fields, data types and the order they should appear on a page could I render a dynamic wireframe? So if I change the order of the fields it would update the wireframe.Ideally I would like to drag items on the wireframe and update my metadata as well or add new items and have the metadata update.I would also like to tag every field with a unique id that ties it back to my metadata. This way I can track dependencies back from the wireframe to the metadata.
I’m working on a Miro scaling app which also displays current dimensions to the user. the dimensions are represented by X & Y axis arrows + their values. For some reason the text “height” property which is responsible for the size of the font I believe, always gets reset to “36” even though I have cases when it should be larger (if a widget is bigger so that the text has better visibility) see attached pictures below:small widget with 36 text height works finebig widgets with size 400+ units need bigger textCurrently I have a simple sorting function which looks at the height / width of the widget and assigns a text height accordingly. At widget side of 60 units or less I’m assigning 36 text height, at 400 units or less I assign 56 text height, at 1200 or less I assign 76 text height, and at 1200+ units I assign 100 text height. The Problem: Text height always defaults to 36. When resizing by hand on miro board I am able to reach these text heights. Alternatively there might be som
Hello! My team uses miro board intensively for the different tasks and I have to say it’s awesome instrument! Some time ago we started using it for the database modeling. We use Shape widget to define tables and then we just put some text inside which describes columns of that table. The problem is that we would like to have a more strict tool for that than just shape widget. We’d like to have custom widget which might be a something like a table widget but just with three columns stands for column name, column type and description. Types of columns should be predefined and should be choose from dropdown list. Also it should be possible to connect tables using connection lines. Is something like this planning in the future?If no, could you please give a clue on how to implement this widget/plugin? Is there any example on how to implement such a widgets? Many thanks in advanced!
Hi, after searching in the documentation I found the selectWidgets Miro board method. I simply want to use a array of widget ids from the board, input them into the method and want them to get selected on the board, from what I have read in the documentation this should be working. Link to the documentation: https://developers.miro.com/docs/interface-iboardselectioncommands The method:My implementation:The error I get:I never used this method before so it is possible my implementation is wrong, if that is the case and someone knows what is wrong please correct me. But the documentation says the method should accept a parameter of widgetIds which the array I’m passing into it has. This most probably isn’t the problem as the error seems to be in the method itself rather than in the parameter passed.
Hi all,we would like to create daily reports of our company account in Miro that contains the total number of users, total number of boards, the number of users of boards, etc. The created report should be downloaded it via an API call or SDK function.We have a main KPI Dashboard that collects such metrics from other agile and developer tools and provides an overview for internal analysis.But i could not find any rest point in API or a function in SDK in Miro that allows us such as report creation and export.Do you have this kind of function or rest point about reporting of activity metrics described above ? Best regards and thanks in advance.
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.