🏆 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 there,I’ve been trying to add metadata to my images, however it seems like it’s not supported/updated for some reason.Ways to reproduce:1. Empty board - add a single image to the board.2. Console:const [item] = await miro.board.get();await item.setMetadata('test', 'data')await item.getMetadata()You will see the meta data present on the single item that is on the board - an image.3. Then close the board and re-open it.4. Console:const [item] = await miro.board.get();await item.getMetadata()5. It is now empty, no data is saved on the item :(If I try the exact same thing with a Card, it works just fine.If I try the exact same thing with a Sticky Note - it also doesn’t work.I’ve also tried to do item.sync() to see if that would lead anywhere, but it also doesn’t.It seems like it’s not saving across sessions? If there’s something I’m missing then this is not documented very well in the SDK docs.
Hi there, I am currently facing the issue that I want to copy a board and store it in a specific Space. Is this somehow possible? I can’t find any reference about it, even though it seems like a very simple use case. Otherwise, this would be highly requested, as we want to maintain our desired structure. Kind regardsChris
Hello, I do not receive a refresh token when generating an access token to the oauth token endpoint. Have I missed some setting somewhere?Sample response:And the authorization URL looks like this:Thank you
I tried to find how can I control the Estimate field in Miro Cards but it seems there is no described method for it. Can someone please comment?
I want to use Epic Link as swimlanes.Even though the Epic Link info is available on the Cards, it is not usable as swimlane.
This the initial prototypes for VMS
Hi There,I am using the /boards/{boardId}/items endpoint to return all items on a specific board. In the response, I’m getting a number of items returned, and each of those items has a API URL value in the data.links.self field. However, for some of those values, calling the GET endpoint returns a 400 error (code: operationNotSupported).Example response from /boards/{boardId}/items:{ "size": 10, "limit": 10, "total": 11, "data": [ { "id": "3458764607565328883", "type": "shape", "geometry": { "width": 262.06732667592587, "height": 131.03366630422926 }, "position": { "x": -246.9185046725638, "y": 395.1632647477584, "origin": "center", "relativeTo": "canvas_center" }, "links": { "self": "https://api.miro.com/v2/boards/uXjVLCuZXck%3D/items/3458764607565328883" }, "createdAt": "2024-11-19T18:44:56Z", "createdBy": { "id": "3458764584978600694", "type": "user" }, "
Hi! it appears the https://developers.miro.com/reference/get-tags-from-item API endpoint is returning 500 errors.Is there anything wrong with this endpoint ? Here’s what I know so far:items of payload are all sticky-notesSending the API request directly from the reference site does not result in an error.'x-request-id': 'c54a8c26-8334-4901-869c-5de2a22dc7fc' The error response data is as follows: { "type": "error", "code": "3.0016", "context": [Object], "message": "Internal error occurred", "status": 500} Thanks!
“ Enterprise onlyThis API is available only for Enterprise plan users. You can only use this endpoint if you have the role of a Company Admin and eDiscovery is enabled in the Settings. You can request temporary access to Enterprise APIs using this form.” As per the above I am unable to open the form which has been liked , I am getting the below error
I am using REST API to retrieve the cards on a miro board withhttps://api.miro.com/v2/boards/BoardId/items?type=cardmy board contains a significant number of items (>100) and i am using the cursor feature to fetch all of them.For an unknown reason some cards are returned with a geometry and position object and some other cards are lacking this information. I have been unable to determine what drives this change in the API behaviour as all cards seems similar when looking at the board web page. When i try to retrieve these items individually withhttps://api.miro.com/v2/boards/BoardId/cards/cardId I have exactly the same problem (no position or geometry data in the reply) This looks like a bug to me but if there is something i am doing wrong thanks to advise
Just to give some context, I’m not a developer, but I have worked with other APIs before, including OAuth 2.0.I’ve tried to pass the client_secret, code, and redirect_uri as query params, the client_id, and client_secret as body params, and the accept and content-type headers with application/json and application/x-www-form-urlencoded, respectively.I've also tried to do everything as body params using application/json in the content-type header and a few slight variations.Nothing seems to work! I always receive the following message:status: 401code: tokenNotProvidedmessage: No authorization data was found on the requesttype: errorBy the way, I’m using Make to make the request.Is it me or the https://developers.miro.com/reference/ne-exchange-authorization-code-with-access-token could be improved?
Hi, we want to use Miro board for online course where on click of a button on a frame should execute script. May i know if this is possible in Miro i.e adding a clcikable event on a shape
Hello,We use “fullLicensesPurchased” value in Get organization info API to get total number of paid license in a org.And we use “license=full” param in Get organization members API to count the number of paid license allocated to users.However, we found the case where total of “license=full” members are greater than the value of “fullLicensesPurchased” in some of our customers Enterprise account. If anyone know the reason of this mis-match, kindly let me know.
There are difficulties logging into MIRO. Every time I log into the program I have to take a survey. Why?I'm attaching an example
Trying to update an existing user as of https://developers.miro.com/docs/users#update-user-attribute-by-idIf the taget userName belongs to a deleted account, I get …{ "schemas" : [ "urn:ietf:params:scim:api:messages:2.0:Error" ], "status" : "400", "scimType" : "invalidValue", "detail" : "User name '*******@baloise.com' is invalid: 'not unique'"} You can reproduce this with the user ID 3074457348934407798. The UPN can not be changed to the baloise.com email domain. Expected behaviour: a deleted account does not count as duplicate and it is possible to reuse UPN’s of deleted accounts.
Hi all,since some time I am experiencing roundish shapes that are very large to be displayed as more squared, e.g. this selected circular shape is displayed like a squared shape instead of its actual shape.It happens not reliably but very often once the board is loaded and I start editing shapes that lie within the shapes on my board with a lot of items on it (4000).When the shape is edited (but not just moved around) it returns to its correct shape.Happy to help out with logs and stuff.Cheers
Unexpectedly I don’t have my app on a toolbar. I had it but now I don’t. I don’t understand why( I have already tried all teams and boards and even different browsers but still can’t find my app.And I see here https://miro.com/app/settings/team/3458764611114804267/apps-and-integrationsthat the app is installed. Can anyone help me, please ?
Would there be a quick and dirty way to create a random number widget/addin which could be used for things like simulating a coin flip or rolling a dice? Right now, I’m using an external URL to Google Dice but would prefer something which didn’t require learners to jump out of their class boards. Thanks! Kiron
Hey everyone,Following this documentation about Storage, I might not understand it correctly or it may not be working as expected.Regarding App Metadata and Item Metadata, for both it says:How is it stored? → Per board, per app (and per board Item for Item metadata).If I make a copy of a board, will the data persist? → for App Metadata and Item Metadata it is marked with a V, and for collection X. It sounds somewhat contradictory to me.. but I expected that when I duplicate a board, both metadatas (App and Item) will be copied from board to board.I tried to test it. I’m developing a Miro App which upserts metadata upon icon click, where metadataKey=”key”. It also have a Shape with metadata. Both holding {“hello”:”world”}.I then went to the list of boards. Selected it, and then clicked on Duplicate.In the new board, when the App loads - it doesn’t see any previous App metadata (via getAppMetadata(‘key’)). And the Shape .getMeatadata() also returns empty.[Note: As as developer, I’ve test
A small question that probably doesn't have a solution yet. Is there way to get around the scaling parameters for the connection lines feature? I want to make my lines thicker in appearance because of the scales that I am working within my Miro Board. Subsequently my connection lines are thin in appearance even when set to the maximum thickness.
The board is just loading and says something about the system failure. Does anyone have this problem now?
I am facing authorization issues with my django app. Context: I have a django app that provides an option for the users to authorize their miro accounts and access their miro boards within the app. It has the following view for authorization and callbacks: @login_requireddef miro_authorize(request): profile = request.user.profile if not profile.miro_client_id or not profile.miro_client_secret: messages.error(request, "Please update your Miro Client ID and Client Secret in your profile.") return redirect('profile') # Redirect the user to Miro's OAuth2 authorization page redirect_uri = settings.MIRO_REDIRECT_URI scope = "boards:write boards:read" miro_auth_url = f"https://miro.com/oauth/authorize?response_type=code&client_id={profile.miro_client_id}&redirect_uri={redirect_uri}&scope={scope}" return redirect(miro_auth_url) @login_requireddef miro_callback(request): code = request.GET.get('code') profile = request.user.profile
Even though, in REST API Reference I found default fillColor for frame is #ffffff ( ‘transparent’ ), I get WHITE frame when created. How to create transparent frame with Rest API? Is it only possible with Web SDK by setting frame fillColor to ‘transparent’?Thank you in advance,Tamara
I hope this is the right place to report a bug - I couldn’t find anywhere obvious to do it. When working with code blocks in Miro (I’m using the desktop app in Windows), the font is a slightly different size when editing vs viewing. And when I click off the code block, it calculates the size based on the editing size, and not the viewing size. This only really shows itself from about 25 lines and longer. Here’s an example with 30 lines in a code block While editing:And as soon as I click out to stop editing:The only way I’ve found to fix this is to turn line numbers off and on again, and it resizes to the size it should be
I submitted three applications (MAPR-1186, 1187, 1188) to the Marketplace on November 18th, but their status remains as "submitted".I have sent follow-up emails to the JIRA ticket but haven't received any response. Could you please help us check the current review status of our applications?
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.