Rate limiting

When your app makes a call to the Web SDK, the call consumes resources.
Consumption is calculated in credits, and it depends on the type of operation, as well as on the type of board item that is the target of the request.

For example:

  • Drag and drop events don't use any credits.
    Cost: 0 credits
  • Most calls use 50 credits per call.
  • Time-consuming operations such as creating or updating images and embed items are computationally more expensive than getting a sticky note; therefore, they consume more credits.
    Cost: 500 credits per call

Within the enforced rate limits, it's possible to perform bulk actions (creating, updating or deleting multiple items at once).

Web SDK methods fall in one of the following rate limit weight levels:

WeightCost of one Web SDK API callAction
Level 150 creditsMost actions on board items.
Level 2100 creditsN/A
Level 3500 creditsCreate or update an image or an embed item.
Level 42000 creditsN/A

Current rate limits for the Miro Web SDK:

LimitCreditsNote
Max. credits per minute100,000It supports:
  • Creating 2000 board items a minute.
  • Creating 200 image items a minute.
Max. credits per hour1,000,000It supports:
  • Creating 20000 board items an hour.
  • Creating 2000 image items an hour.

If your app exceeds either limit, it receives an error.
If your app exceeds a limit, it needs to wait for new credits before making calls to the Web SDK.
New credits are issued after the time interval when the limit was triggered has elapsed.

SDK APIs rate limits

APICost (credits per call)
miro.board.createAppCard50
miro.board.createCard50
miro.board.createConnector50
miro.board.createEmbed500
miro.board.createFrame50
miro.board.createImage500
miro.board.createPreview50
miro.board.createShape50
miro.board.createStickyNote50
miro.board.createTag50
miro.board.createText50
miro.board.getIdToken50
miro.board.getInfo50
miro.board.getUserInfo50
miro.board.getOnlineUsers50
miro.board.getAppData50
miro.board.setAppData50
miro.board.canUse50
miro.board.goToLink50
miro.board.getMetadata50
miro.board.setMetadata50
miro.board.bringToFront50
miro.board.sendToBack50
miro.board.bringInFrontOf50
miro.board.sendBehindOf50
miro.board.get500
miro.board.getSelection500
miro.board.select50
miro.board.deselect50
miro.board.remove50
miro.board.group50
miro.board.events.broadcast50
miro.board.viewport.get50
miro.board.viewport.set50
miro.board.viewport.zoomTo50
miro.board.viewport.setZoom50
miro.board.viewport.getZoom50
miro.board.collaboration.startSession50
miro.board.collaboration.getSessions50
session.end50
session.invite50
session.join50
session.leave50
session.hasJoined50
miro.board.collaboration.attention.isFollowing50
miro.board.collaboration.attention.getFollowedUser50
miro.board.collaboration.attention.follow50
miro.board.collaboration.attention.unfollow50
miro.board.findEmptySpace50
miro.board.timer.get50
miro.board.timer.start50
miro.board.timer.isStarted50
miro.board.timer.prolong50
miro.board.timer.stop50
miro.board.timer.pause50
miro.board.timer.resume50
collection.set50
collection.get50
collection.remove50
miro.board.experimental.createMindmapNode50 * (1 + num_of_children)
miro.board.experimental.action.register50
miro.board.experimental.action.deregister50
miro.board.experimental.get500
miro.board.experimental.getSelection500
miro.board.experimental.select50
miro.board.experimental.deselect50
miro.board.experimental.remove50

Items methods rate limits

Note: Item refers to most of supported item types on a board. See supported board items for more details.