# Miro

Manage Miro boards: items (shapes, sticky notes, cards, frames), members, tags. Exposes **24 actions** covering the full API surface
the agent needs - read and write.

## What it can do

| Method | What it does |
| --- | --- |
| `miro_get_me` | Get authenticated user info - GET /me. |
| `miro_list_boards` | List all boards - GET /boards. |
| `miro_get_board` | Get one board - GET /boards/&#123;board_id&#125;. |
| `miro_create_board` | Create a new board - POST /boards. |
| `miro_update_board` | Update a board - PATCH /boards/&#123;board_id&#125;. |
| `miro_delete_board` | Delete a board - DELETE /boards/&#123;board_id&#125;. |
| `miro_list_items` | List items on a board - GET /boards/&#123;board_id&#125;/items. |
| `miro_get_item` | Get one item - GET /boards/&#123;board_id&#125;/items/&#123;item_id&#125;. |
| `miro_create_item` | Create an item on a board - POST /boards/&#123;board_id&#125;/items. |
| `miro_update_item` | Update an item - PATCH /boards/&#123;board_id&#125;/items/&#123;item_id&#125;. |
| `miro_delete_item` | Delete an item - DELETE /boards/&#123;board_id&#125;/items/&#123;item_id&#125;. |
| `miro_list_board_members` | List board members - GET /boards/&#123;board_id&#125;/members. |
| `miro_get_board_member` | Get one board member - GET /boards/&#123;board_id&#125;/members/&#123;member_id&#125;. |
| `miro_add_board_member` | Add a member to a board - POST /boards/&#123;board_id&#125;/members. |
| `miro_update_board_member` | Update a board member role - PATCH /boards/&#123;board_id&#125;/members/&#123;member_id&#125;. |
| `miro_remove_board_member` | Remove a member from a board - DELETE /boards/&#123;board_id&#125;/members/&#123;member_id&#125;. |
| `miro_list_tags` | List tags on a board - GET /boards/&#123;board_id&#125;/tags. |
| `miro_create_tag` | Create a tag on a board - POST /boards/&#123;board_id&#125;/tags. |
| `miro_update_tag` | Update a tag - PATCH /boards/&#123;board_id&#125;/tags/&#123;tag_id&#125;. |
| `miro_delete_tag` | Delete a tag - DELETE /boards/&#123;board_id&#125;/tags/&#123;tag_id&#125;. |
| `miro_list_groups` | List groups on a board - GET /boards/&#123;board_id&#125;/groups. |
| `miro_create_group` | Create a group - POST /boards/&#123;board_id&#125;/groups. |
| `miro_update_group` | Update a group - PATCH /boards/&#123;board_id&#125;/groups/&#123;group_id&#125;. |
| `miro_delete_group` | Delete a group - DELETE /boards/&#123;board_id&#125;/groups/&#123;group_id&#125;. |

## How to get credentials

This connector uses **OAuth 2.0**. In FlyMyAI, open the tool and click
**Connect** - you'll be redirected to Miro to authorize, then back to
FlyMyAI. There is no API key to paste.

> The OAuth app must be registered by FlyMyAI for this provider. If you see
> *"connection not configured"*, the provider's client credentials are still
> being set up - check back shortly.

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| _(none)_ | Connect via OAuth - nothing to paste. |

## Troubleshooting

- **`401 Unauthorized` / `403 Forbidden`** - the OAuth connection expired or was revoked - reconnect.
- **`429 Too Many Requests`** - you hit the provider rate limit; retry after a short backoff.
- **Unexpected `4xx` on writes** - double-check required fields; the agent confirms before write actions.

## Links

- [Miro API documentation](https://developers.miro.com/reference)
