🏆 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
Hello,I am new with the Miro Rest API.I already have a little program that I can check for a board with a specific name is created and if not I make another rest call to create it.The problem is that when I use the https://developers.miro.com/reference/get-boards script, I noticed that the boards created by https://developers.miro.com/reference/copy-board do not show up or count.Anyone have this issue too?Does anyone were able to solve it?
I am a developer who is creating a SaaS Management Platform.We need to use Miro's Organization Members API.First, I created an app in Dev Team.And I tried to select the required scope, but the required organizations:read is not in the options.Please tell me how to do it.Do we also need to subscribe to Miro Enterprise in order to select the organizations:read scope?
Hello Miro Community,I'm developing an app that runs within an iFrame on the Miro platform, and I'm encountering a persistent issue with authentication. Here's a summary of the problem:The app is integrated into Miro and runs within an iFrame. It uses the Miro REST API for functionality. When attempting to authenticate via OAuth, I receive a "CSRF token is not valid" error. This error occurs specifically within the iFrame context. The authentication process works fine when accessed directly in a separate browser tab.I've already attempted to set the SESSION_COOKIE_SAMESITE configuration to 'None' to allow cross-origin requests, but the issue persists.The core of the problem seems to be related to how the CSRF token is handled within the iFrame environment, as opposed to a regular browser context.Has anyone encountered a similar issue or can provide guidance on how to properly handle authentication and CSRF validation for a Miro app running in an iFrame?Any insights or solutions would b
I’m trying to use sort=last_modified with the /boards endpoint but it doesn’t seem to be respecting it. Is this broken? Or is there some undocumented constraint about this parameter only being used in conjunction with other parameters? Tried combining it with e.g. team_id but to no avail.Specifically, when making this request:curl --request GET \ --url 'https://api.miro.com/v2/boards?sort=last_modified' \ --header 'accept: application/json' \ --header 'authorization: Bearer <token>' \ | jq '.data[] | .modifiedAt'I get back modifiedAt timestamps in this order:"2022-11-03T16:50:33Z""2021-04-06T18:58:11Z""2023-02-07T14:40:04Z""2024-06-03T17:52:46Z""2024-05-17T18:40:20Z""2024-08-20T22:48:45Z""2024-08-20T21:27:26Z""2024-04-15T22:50:32Z""2024-07-29T14:02:33Z""2024-03-20T23:07:33Z""2020-12-15T01:14:29Z""2024-07-12T18:51:24Z""2024-03-04T00:49:20Z""2024-09-12T15:23:06Z""2024-09-12T17:26:04Z""2024-09-12T18:22:34Z""2024-09-12T21:09:14Z""2024-09-12T22:00:57Z""2024-09-12T05:16:
Hi,I want to know if event listeners are available on connector events (creation, deletion and modifications. i.e. a user modified a connector connecting elements A and B to connect elements A and C) on a miro board. I am looking at the documetnation and the only relevant thing I can find is this:experimental:items:updateWhich says: Currently, experimental:items:update fires only when items are moved on the board, when an item dimensions are resized, when an item is rotated on the board, and when updating the scale of an item. In the future, the event will also fire when updating other item data.I read this as saying that connectors are not currently supported.Is this correct or am I missing something in the documentation?Thanks in advance
Hello,I have been using the Miro REST API to create boards, add items, etc.I understand that there are rate limits for the requests per minute, but it also says that there are costs for API calls. Where can I find how many credits do I have left? I am using the free tier.
I am trying to convert our Jamboards into Miro Boards however the only option for import is to upload back up (seen below). I have tried to upload it as a Pdf however, the notes are, of course, unselectable. Any advice would be appreciated at this time.
I was working on creating a script to refresh my access token, but I have not documented the latest refresh token, so I am stuck. Is there a way to recover the current refresh token? I cannot call any API endpoints right now because I don’t have a valid access token and no refresh token to submit for a new access token. Please help.
Hii teamI have created a react and embedded the miro board in it with some shapes but I can not edit those shapes. ( I am using a free account) Also if I purchase the paid version can I make:Do edits on canvas Use AI generation feature Remove the “Developer Team” water mark
How can i connect the code generated by chatgpt to miro to create a nice chart?
Hi, i come from my another question where i added items to existing group. But i encountered not expected behaviour when fetching selected group. What i do:Select group of items and run my code (see bellow): Delete one item from this group via UI Select this group again. I can see, that counter of the items updated in UI Then i run my code wich triggers onClick()(thanks to @Mettin ): export async function checkGroupItems() { let selectedElements = await miro.board.getSelection(); if (selectedElements) { let group = await miro.board.getById(selectedElements[0].groupId); console.log(group); }} And i still get that deleted item in group.items Is this a bug or is it my code caches group in somewhere? I call my function from app.jsx<div className="cs1 ce12"> <a onClick={(event) => checkGroupItems()} className="button button-primary" > Check group items
Mirotone.xyz has a AppCard component but it doesn’t match the design of an actual Card or App Card on a Miro board, here’s a comparison (Mirotone.xyz on the top and actual Card at the bottom): We could sprinkle some CSS to mimic the look similar but I do hope the one on Mirotone can be updated to match instead, here’s some CSS I added in a quick attempt: .app-card { border-radius: 8px; border-width: 2px 2px 6px; padding: var(--space-small) var(--space-medium); .tag { background-color: transparent; border: 1px var(--indigo100) solid; }}
I’m trying to update a user email address but getting a 404 error when trying to patch with the SCIM API. I first get the user ID via REST API and use that to construct a payload with the PatchOp schema and replacing userName with a new value. Image with code attached for reference. Is this possible to do?We previously would just deactivate a user after a name change and transfer all boards to the new account, but that does not maintain access to previously shared boards. Having Miro support update the email address seems to keep those shared board permissions in place so was hoping that this API method would do the same.
Hello Team,I would like to export all miro users from specific org and teams, I have the access token, but my current powershell script does not give me Email, Name and Status, only I can see binary value.Is there any way to do it?
Hey,We have an integration with MIRO on our application using boardPicker 1.0. Recently after embedding the board from MIRO into the application we started to see the following screen:Was board picker deprecated? How can we fix the issue?
This there an API to return Access Requests
Hai, When a user has no access_token when using the api, my program generates an url and redirects to that url. At callback, the user is AnonymousUser. How does my program know what user I was before callback?Or do I have to handle the callback from within a frame or so?Thanks, Ernst
Hai Elena,With the given code I am able to create a new board with a name.url = "https://api.miro.com/v2/boards"payload = { "name": "{doc_name}", "description": "{doc_description}",}headers = { "accept": "application/json", "content-type": "application/json", "authorization": "Bearer {token}",}response = requests.post(url, json=payload, headers=headers)So far so good, but where can I find the commands and or code to copy an existing board and tochange an existing document. I know that I have to use ‘put’ to copy the board, but I can’t find out more.I have managed to assemble the above code from https://miroapp.github.io/api-clients/python/miro_api.html#MiroApi.api_client.Can you please help me out? If I get this all done I have need for 7-10 more licenses for many years to come. So good business I’d say.
I am sending the request as shown below from the documentation, but for some reason, both x and y in the response are returned as 0.I am not sure if this is a bug or an intended behavior. requestcurl --request POST \ --url https://api.miro.com/v2/boards/board_id/images \ --header 'accept: application/json' \ --header 'authorization: Bearer xxxxxx' \ --header 'content-type: multipart/form-data' \ --form x=1000 \ --form y=1000 \ --form resource='@img1.png' response{ "id": "xxxxxxxxxxxx", "type": "image", "data": { "imageUrl": "https://api.miro.com/v2/boards/board_id/resources/images/xxxxx?format=preview&redirect=false" }, "geometry": { "width": 1024, "height": 1024 }, "position": { "x": 0, "y": 0, "origin": "center", "relativeTo": "canvas_center" }, "links": { "self": "https://api.miro.com/v2/boards/board_id/images/xxxxxxxxxxxxx" }, "createdAt": "2024-06-19T10:37:26Z", "createdBy": { "id": "xxxxxxxxxxxxxxx", "type
Hi Teamhttps://api.miro.com/v2/boards?limit=50&owner=(user1)&createdBy=(user2) I need to filter the boards that are currently owned by user1 but were originally created by user2.I getting all boards owned by user1, not filtered where condition created by user2 in response. Thanks.
Hai there!Is there a possibility to update multiple shapes there content in one request.Shape 1 content=<p>abc</p> update to <p>def</p>Shape 2 content=<p>ghi</p> update to <p>jkl</p>Thanks
One last question for now:What is the code for updating an items it’s content? I tried it with:url = f'https://api.miro.com/v2/boards/{board_id}/items/{item_id}'data = {"data": {"content": "<p>123</p>"}}headers = { "accept": "application/json", "authorization": f"Bearer {access_token}",}response = requests.patch(url, json=data, headers=headers)Can you help me? And where can I find all the possibilities?
Hello, I’m new to Miro and I’m trying to use Auth2 to manipulate documents. But I can’t find out how to get de access_token with Python (Django) with or without miro_api. I created an app and have cliendid and secret. I created a return_path in my application.Does anyone have some example code for getting the access_token? Thanks in advance!
Can someone tell me how to create an Oauth app that requires organizations:read scope?Or how can I access to that scope?
There's a new app in the market that you might want to check out: Video Clipper. You can now upload videos, generate transcriptions and create playable clips right on your Miro board. A must-have for UX Researchers or anyone that wants to digest and gain insights from user interviews, recorded meetings, and video-inclusive brainstorming. Free your time to focus on analyzing the results. Let the app take care of video editing and transcribing.Try it now!
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.