Discuss everything related to Miro API, SDK, embedding and Miro Platform apps development.
Recently active
I managed to upload the logo of the board via the picture endpoint (https://developers.miro.com/reference#create-or-update-picture). How can I upload an image to the board itself? Use case: We want to upload our logo via the API when creating new boards.
Hi, As per documentation `https://api.miro.com/v1/boards/id/share` requires array of emails Array of emails of users who you want to invite to the board. These users can be registered or non-registered.When I try with a non-registered user it gives the error ‘user is not in the team’. Why is it so? Can’t we invite someone who is not in the team even if it’s a public shared board? If we need to do this, should we initially hit the invite to team endpoint & then call this endpoint. Response: 400 "{ "status" : 400, "code" : "userIsNotInAccount", "message" : "User is not in account", "type" : "error" }"
Hi all,We have an enterprise plan with Miro, and we want to use both chat and video with our guest users. We are planning to integrate Miro with ServiceNow, create a board via REST API, and then sharing the link with our users so they can share a whiteboard session including chat & video.Is it possible to use both chat AND video with guest users, if you have an enterprise plan? Also, is it possible to use some sort of templating for the boards you create? Like adding some text, or welcoming message on the board when it opens? Best regards,P
Has anyone else tried using libraries with the create-miro-app React TypreScript option? I followed the Hello World Miro example and it works fine but when I add Airtable and even though none of the Airtable code runs I receive the error:Uncaught Error: Module "stream" has been externalized for browser compatibility and cannot be accessed in client code. at Object.get (browser-external:stream:3) at node_modules/node-fetch/lib/index.mjs (index.mjs:10) at __init (chunk-EB7XYW2R.js?v=d66c9224:9) at node_modules/airtable/lib/fetch.js (fetch.ts:2) at __require2 (chunk-EB7XYW2R.js?v=d66c9224:12) at node_modules/airtable/lib/base.js (base.ts:4) at __require2 (chunk-EB7XYW2R.js?v=d66c9224:12) at node_modules/airtable/lib/airtable.js (airtable.ts:1) at __require2 (chunk-EB7XYW2R.js?v=d66c9224:12) at dep:airtable:1I have spent several hours looking it up and trying different options but even though the error changes I have not been able to make it work. Here is a sa
I have a user on the system whose User Bearer Token is returning Unauthorised when we call the Miro API. Other users bearer tokens are fine with the same calls.Can you please let me know how to refresh the bearer token for this user or enable this token to be authorized?This user has many associated boards which they will still need to be able to retrieve.
I am developing a plugin using web api, where I read the miro board contents from javascript:Sample code:async function javascriptFunction() { let selectedWidgets = await miro.board.selection.get() }This code works fine first time, but when the app is launched again, it gives error: Uncaught (in Promise) TypeError: cannot read property 'selection’ of undefined. Anyone else faced this issue?
Hi, I’ve created a simple test plugin using one of the examples app as a scaffolding. The web plugin allows the user to roll a number of random dice. This is the installation link for the app (still in development of course) https://miro.com/oauth/authorize/?response_type=token&client_id=3074457350145576827&redirect_uri=https://miro-rory-story-cubes-prod.herokuapp.com/auth-success.htmlThe app seems to work fine most of the time but for some users and on some teams, it works just once. After first usage we get this error:Uncaught Error: processCommandFromIFrame:: iframe channel not found, plugin = 3074457350145576827, cmd = .board.viewport.getViewportIf we reload the board and use it, it works the first time and triggers the error from then on.The issue seems to be consistent for certain combination of user/team/browser. EgI can use it on Team A, always I can use it on Team B, always, using firefox I can use it on Team B, only once, using chrome A teamamate can use it on Team B
I am using Angular 6 , and when I tried to embed the below link <iframe [src]='https://miro.com/app/board/o9J_ldxFWKw=/'></iframe> I am getting the below error in console.Refused to display 'https://miro.com/app/board/o9J_ldxFWKw=/' in a frame because it set 'X-Frame-Options' to 'sameorigin'. any help would be highly appreciated.
We try to add labels to widgets via the API (as you can do in Miro UI) but we fail to find out to do this via the REST API. Could you point to docu how to do this? PS: Our use case is to set the labels during createWidget request.
We have two main issues integrating with Miro: App URL + BoardPicker AllowList: since every single user in our app has a workspace URL subdomain, we need that Miro accepts a wildcard name here. Like *.domain.com Enabling boardPicker: by default, this feature is disabled, and Miro's users should submit a form to activate it. We have submitted that form twice, months ago, and didn't get any response from them. Can someone from the team please help us out with these?Regards,Mike
Hey Friends,I am creating data visualizations on different domain data.Normally I am using Google Sheets for No Code add-on for this purpose.I have more knowledge about Excel & Office 365 use code free add-in for data visualization purpose.Recently created Sankey chart (Users Search Terms Flow in running campaign) with these add-ins. Image is attached. How I can import this chart in miro for data story telling purpose.Thanks--CF
Hi,When selecting widgets with Miro SDK, widgets get selected as expected but they don’t allow regular keyboard edit options like delete or arrow keys for nudging. The same work as expected when widgets are selected manually.miro.board.selection.selectWidgets([...selectableWidgets]);Regards,Ramkumar
Hi there, I am trying to transfer an app that was created from a developer that used to work with us under my account. Apparently, I am listed as a team member in this app, but it’s nowhere to be seen under the apps that I can see in my dashboard. Who should I reach out to? Thanks,Iraklis
Hey, I wonder if I missed something in the API docs, but seems like currently it’s not possible creating objects from the AWS icon set via the API.Can you please provide some timing on this?
I just discovered the hard way that there’s a name length limit for Miro boards when creating them via the API: 60 characters. I discovered this when a client reported that a system that I’d built for him to automatically create new Miro boards for his projects came back with a failure on one particular project. In the API call, the only thing that I’m passing is the board name, and the intended board name for this project was 66 characters long. Through trial and error, I found the 60 character limit, but was a bit frustrated that this isn’t mentioned in the API docs.Could someone please update the docs to mention this limit, and maybe any other name length limits that need to be considered when using the API?
I am talking about the Miro web plugin SDK and its capabilities.The main Miro landing page talks about how great Miro is for teams and collaboration. So you can imagine my surprise to learn that the SDK events are only for single user boards. There are no events for changes to the board made by my team!What makes this even more bizarre, is that these events do exist under the hood. When a team member moves a widget around, I can see it moving around on my Miro board. When a team member creates a new widget, it immediately appears in my view too!So I’m left only to speculate why these events aren’t propagated through the SDK and instead the SDK gets filtered events of only actions that I myself have done.Please tell me there are plans to add SDK event support for boards used by more than one person. It would allow for much more advanced and live collaboration oriented plugins. PS. I am aware of extreme workarounds like building a state machine with a hidden widget, or a state machine on
Hi, this topic is maybe connected to https://community.miro.com/developer-platform-and-apis-57/unable-to-get-card-metadata-with-rest-api-1921. But in my opinion it was not answered becuase the question was about widgetType=CARD and the answer was widgetType=STICKER. So:I created a CARD via REST API (POST https://api.miro.com/v1/boards/${this._miro.boardId}/widgets ) with a metadata. I created a STICKER via REST API (POST https://api.miro.com/v1/boards/${this._miro.boardId}/widgets ) with the exact same metadata object like in 1. In the Browsers DEV Console I did a miro.board.widgets.get({id: "<id of the created STICKER>"}) → Result: the metadata was returned as expected In the Browsers DEV Console I did a miro.board.widgets.get({id: "<id of the created CARD>"}) → Result: the metadata object was empty. Expected was the same metadata content like in 3.So for me the behaviour for CARDs is different from the behaviour of STICKERs. Does this somehow make sense? Sorry if not repr
I am talking about the Miro web plugin SDK and its capabilities.I am successfully using the WIDGETS_TRANSFORMATION_UPDATED event to react to widget transformations like resizing and draging.The problem is with the eventually consistent nature of this event. The event only fires when I release my mouse button and stop resizing or moving a widget. I would like to react to these changes quicker on the fly as the widget is still being resized or moved around.The basic use case is that I want to change the background color of sticky notes depending on their location on the canvas. Currently the user has to already know where these special areas are and then drop the widget in that location. It would be a much smoother user experience if I could update the color of the sticky note immediately as it enters the correct area.This type of feature is known as a drop hint and it is commonly found in high quality UIs.The Miro web client already has all this data, because obviously the vanilla widge
Hi team I am trying to use https://miro.com/api/v1/organizations/id/members API and it seems it requires a session token. Can anyone help me with steps to acquire session token for MIRO.
Hey..I have two questions we are use Miro whiteboard API. And works well. Now we need to change our company logo to whiteboard. But there is already a micro logo. How to switch ? and also,we need to hide some icons like settings. how to do that..?
When creating an app and getting a token for our current team I get this error.If I try token for DevTeam everything is ok but when I try it for existing one I get an error. What’s the problem?
I am working on an App/Integration that will update Miro User Profile Images using another system as the image source. My App has team permissions to team:write scope at the App/Team level. When I call the https://api.miro.com/v1/users/USERID/picture method through the API using the App’s global OAuth Token I receive a 403 Forbidden response code. My intention is to have the app update all user’s images that are members of the team. The team admin gave permission for the app at the team level. Is this not sufficient?
Hi,We’re using the “Editable boards for not registered users” as per the docs: here.Following the docs we’re able to get the embed boards to function without having to sign in as desired.However, we’re unsure how to connect multiple users to the same board, or return the same user to a board after leaving and returning. How might we do this? Is there a way to specify the board ID to connect to? Or something along those lines. Obviously for a collaborative tool like miro, it’s quite critical that we have multiple users connect to the same board.It’s mentioned that the boards for anonymous users are destroyed after 24 hours, which to me implies that there must be a way to return to the board. Thank you!
Hi all!I made a simple web-plugin and all was fine. But some time ago it stops working. In console log I see such messages: Access to fetch at 'https://miro.com/api/v1/users/<id>' from origin '<my server host>' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.I definitely haven't made any changes to either the plugin code or my server settings. Can you tell me if there have been any changes in Miro in this regard?Thanks!
I am trying to use Integromat to move data between Airtable and Miro. The hope is that I can do this without needing to write any code, which would mean my team can also setup their own workflows without needing any code.The idea is to make a Miro board a template and then copy it and put some data into the board at specific locations. My team members would make and modify the template, and I need some way for them to identify where they want what data plugged in. the API requires me to know the precise widget ID of the widget that I want to update. I cannot see the id in the board, and I assume each copy of the template would create a separate widget id so I can’t rely on any particular one.I see that it’s possible to put some metadata on a widget (again programmatically) and then I guess I would list all widgets and filter for those that have the metadata I want.My question is - is there some visual way to change the metadata of the widget from within miro, that I can then use within
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.