DESIGN · FILES & DOCS
Boards, sticky notes, shapes and frames the person already collaborates on.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
miro_delete_v2_boards_by_board_idWRITEDelete board via DELETE /v2/boards/{board_id}
miro_delete_v2_boards_by_board_id_app_cards_by_item_idWRITEDelete app card item via DELETE /v2/boards/{board_id}/app_cards/{item_id}
miro_delete_v2_boards_by_board_id_cards_by_item_idWRITEDelete card item via DELETE /v2/boards/{board_id}/cards/{item_id}
miro_delete_v2_boards_by_board_id_connectors_by_connector_idWRITEDelete connector via DELETE /v2/boards/{board_id}/connectors/{connector_id}
miro_delete_v2_boards_by_board_id_docs_by_item_idWRITEDelete doc format item via DELETE /v2/boards/{board_id}/docs/{item_id}
miro_delete_v2_boards_by_board_id_documents_by_item_idWRITEDelete document item via DELETE /v2/boards/{board_id}/documents/{item_id}
miro_delete_v2_boards_by_board_id_embeds_by_item_idWRITEDelete embed item via DELETE /v2/boards/{board_id}/embeds/{item_id}
miro_delete_v2_boards_by_board_id_frames_by_item_idWRITEDelete frame item via DELETE /v2/boards/{board_id}/frames/{item_id}
miro_delete_v2_boards_by_board_id_groups_by_group_idWRITEUngroup items, or delete the whole group -- delete_items=true also deletes the grouped items
miro_delete_v2_boards_by_board_id_images_by_item_idWRITEDelete image item via DELETE /v2/boards/{board_id}/images/{item_id}
miro_delete_v2_boards_by_board_id_items_by_item_idWRITEDelete item via DELETE /v2/boards/{board_id}/items/{item_id}
miro_delete_v2_boards_by_board_id_members_by_board_member_idWRITERemove board member via DELETE /v2/boards/{board_id}/members/{board_member_id}
miro_delete_v2_boards_by_board_id_platformtags_items_by_item_idWRITERemove tag from item via DELETE /v2/boards/{board_id_PlatformTags}/items/{item_id}
miro_delete_v2_boards_by_board_id_shapes_by_item_idWRITEDelete shape item via DELETE /v2/boards/{board_id}/shapes/{item_id}
miro_delete_v2_boards_by_board_id_sticky_notes_by_item_idWRITEDelete sticky note item via DELETE /v2/boards/{board_id}/sticky_notes/{item_id}
miro_delete_v2_boards_by_board_id_tags_by_tag_idWRITEDelete tag via DELETE /v2/boards/{board_id}/tags/{tag_id}
miro_delete_v2_boards_by_board_id_texts_by_item_idWRITEDelete text item via DELETE /v2/boards/{board_id}/texts/{item_id}
miro_delete_v2_experimental_boards_by_board_id_code_widgets_by_item_idWRITEDelete code widget item via DELETE /v2-experimental/boards/{board_id}/code_widgets/{item_id}
miro_delete_v2_experimental_boards_by_board_id_items_by_item_idWRITEDelete item experimental via DELETE /v2-experimental/boards/{board_id}/items/{item_id}
miro_delete_v2_experimental_boards_by_board_id_mindmap_nodes_by_item_idWRITEDelete mindmap node experimental via DELETE /v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}
miro_delete_v2_experimental_boards_by_board_id_shapes_by_item_idWRITEDelete shape item flowchart via DELETE /v2-experimental/boards/{board_id}/shapes/{item_id}
miro_delete_v2_orgs_by_org_id_boards_by_board_id_groups_by_group_idWRITEEnterprise boards delete groups via DELETE /v2/orgs/{org_id}/boards/{board_id}/groups/{group_id}
miro_delete_v2_orgs_by_org_id_cases_by_case_idWRITEDelete case via DELETE /v2/orgs/{org_id}/cases/{case_id}
miro_delete_v2_orgs_by_org_id_cases_by_case_id_legal_holds_by_legal_hold_idWRITEDelete legal hold via DELETE /v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}
miro_delete_v2_orgs_by_org_id_groups_by_group_idWRITEEnterprise delete group via DELETE /v2/orgs/{org_id}/groups/{group_id}
miro_delete_v2_orgs_by_org_id_groups_by_group_id_members_by_member_idWRITEEnterprise delete group member via DELETE /v2/orgs/{org_id}/groups/{group_id}/members/{member_id}
miro_delete_v2_orgs_by_org_id_projects_by_project_id_groups_by_group_idWRITEEnterprise project delete groups via DELETE /v2/orgs/{org_id}/projects/{project_id}/groups/{group_id}
miro_delete_v2_orgs_by_org_id_teams_by_team_idWRITEEnterprise delete team via DELETE /v2/orgs/{org_id}/teams/{team_id}
miro_delete_v2_orgs_by_org_id_teams_by_team_id_groups_by_group_idWRITEEnterprise teams delete group via DELETE /v2/orgs/{org_id}/teams/{team_id}/groups/{group_id}
miro_delete_v2_orgs_by_org_id_teams_by_team_id_members_by_member_idWRITEEnterprise delete team member via DELETE /v2/orgs/{org_id}/teams/{team_id}/members/{member_id}
miro_delete_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_idWRITEEnterprise delete project via DELETE /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}
miro_delete_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_members_by_member_idWRITEEnterprise delete project member via DELETE /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}
miro_get_v1_oauth_tokenREADToken info via GET /v1/oauth-token
miro_get_v2_audit_logsREADEnterprise get audit logs via GET /v2/audit/logs
miro_get_v2_boardsREADGet boards via GET /v2/boards
miro_get_v2_boards_by_board_idREADGet specific board via GET /v2/boards/{board_id}
miro_get_v2_boards_by_board_id_app_cards_by_item_idREADGet app card item via GET /v2/boards/{board_id}/app_cards/{item_id}
miro_get_v2_boards_by_board_id_cards_by_item_idREADGet card item via GET /v2/boards/{board_id}/cards/{item_id}
miro_get_v2_boards_by_board_id_connectorsREADGet connectors via GET /v2/boards/{board_id}/connectors
miro_get_v2_boards_by_board_id_connectors_by_connector_idREADGet connector via GET /v2/boards/{board_id}/connectors/{connector_id}
miro_get_v2_boards_by_board_id_docs_by_item_idREADGet doc format item via GET /v2/boards/{board_id}/docs/{item_id}
miro_get_v2_boards_by_board_id_documents_by_item_idREADGet document item via GET /v2/boards/{board_id}/documents/{item_id}
miro_get_v2_boards_by_board_id_embeds_by_item_idREADGet embed item via GET /v2/boards/{board_id}/embeds/{item_id}
miro_get_v2_boards_by_board_id_frames_by_item_idREADGet frame item via GET /v2/boards/{board_id}/frames/{item_id}
miro_get_v2_boards_by_board_id_groupsREADGet all groups via GET /v2/boards/{board_id}/groups
miro_get_v2_boards_by_board_id_groups_by_group_idREADGet group by id via GET /v2/boards/{board_id}/groups/{group_id}
miro_get_v2_boards_by_board_id_groups_itemsREADGet items by group id via GET /v2/boards/{board_id}/groups/items
miro_get_v2_boards_by_board_id_images_by_item_idREADGet image item via GET /v2/boards/{board_id}/images/{item_id}
miro_get_v2_boards_by_board_id_itemsREADGet items via GET /v2/boards/{board_id}/items
miro_get_v2_boards_by_board_id_items_by_item_idREADGet specific item via GET /v2/boards/{board_id}/items/{item_id}
miro_get_v2_boards_by_board_id_items_by_item_id_tagsREADGet tags from item via GET /v2/boards/{board_id}/items/{item_id}/tags
miro_get_v2_boards_by_board_id_membersREADGet board members via GET /v2/boards/{board_id}/members
miro_get_v2_boards_by_board_id_members_by_board_member_idREADGet specific board member via GET /v2/boards/{board_id}/members/{board_member_id}
miro_get_v2_boards_by_board_id_platformcontainers_itemsREADGet items within frame via GET /v2/boards/{board_id_PlatformContainers}/items
miro_get_v2_boards_by_board_id_platformtags_itemsREADGet items by tag via GET /v2/boards/{board_id_PlatformTags}/items
miro_get_v2_boards_by_board_id_shapes_by_item_idREADGet shape item via GET /v2/boards/{board_id}/shapes/{item_id}
miro_get_v2_boards_by_board_id_sticky_notes_by_item_idREADGet sticky note item via GET /v2/boards/{board_id}/sticky_notes/{item_id}
miro_get_v2_boards_by_board_id_tagsREADGet tags from board via GET /v2/boards/{board_id}/tags
miro_get_v2_boards_by_board_id_tags_by_tag_idREADGet tag via GET /v2/boards/{board_id}/tags/{tag_id}
miro_get_v2_boards_by_board_id_texts_by_item_idREADGet text item via GET /v2/boards/{board_id}/texts/{item_id}
miro_get_v2_experimental_apps_by_app_id_metricsREADGet metrics via GET /v2-experimental/apps/{app_id}/metrics
miro_get_v2_experimental_apps_by_app_id_metrics_totalREADGet metrics total via GET /v2-experimental/apps/{app_id}/metrics-total
miro_get_v2_experimental_boards_by_board_id_code_widgetsREADGet code widget items via GET /v2-experimental/boards/{board_id}/code_widgets
miro_get_v2_experimental_boards_by_board_id_code_widgets_by_item_idREADGet code widget item via GET /v2-experimental/boards/{board_id}/code_widgets/{item_id}
miro_get_v2_experimental_boards_by_board_id_itemsREADGet items experimental via GET /v2-experimental/boards/{board_id}/items
miro_get_v2_experimental_boards_by_board_id_items_by_item_idREADGet specific item experimental via GET /v2-experimental/boards/{board_id}/items/{item_id}
miro_get_v2_experimental_boards_by_board_id_mindmap_nodesREADGet mindmap nodes experimental via GET /v2-experimental/boards/{board_id}/mindmap_nodes
miro_get_v2_experimental_boards_by_board_id_mindmap_nodes_by_item_idREADGet mindmap node experimental via GET /v2-experimental/boards/{board_id}/mindmap_nodes/{item_id}
miro_get_v2_experimental_boards_by_board_id_shapes_by_item_idREADGet shape item flowchart via GET /v2-experimental/boards/{board_id}/shapes/{item_id}
miro_get_v2_orgs_by_org_idREADEnterprise get organization via GET /v2/orgs/{org_id}
miro_get_v2_orgs_by_org_id_ai_interaction_logsREADEnterprise get ai interaction logs via GET /v2/orgs/{org_id}/ai-interaction-logs
miro_get_v2_orgs_by_org_id_boards_by_board_id_groupsREADEnterprise boards get groups via GET /v2/orgs/{org_id}/boards/{board_id}/groups
miro_get_v2_orgs_by_org_id_boards_export_jobsREADEnterprise board export jobs via GET /v2/orgs/{org_id}/boards/export/jobs
miro_get_v2_orgs_by_org_id_boards_export_jobs_by_job_idREADEnterprise board export job status via GET /v2/orgs/{org_id}/boards/export/jobs/{job_id}
miro_get_v2_orgs_by_org_id_boards_export_jobs_by_job_id_resultsREADEnterprise board export job results via GET /v2/orgs/{org_id}/boards/export/jobs/{job_id}/results
miro_get_v2_orgs_by_org_id_boards_export_jobs_by_job_id_tasksREADEnterprise board export job tasks via GET /v2/orgs/{org_id}/boards/export/jobs/{job_id}/tasks
miro_get_v2_orgs_by_org_id_casesREADGet all cases via GET /v2/orgs/{org_id}/cases
miro_get_v2_orgs_by_org_id_cases_by_case_idREADGet case via GET /v2/orgs/{org_id}/cases/{case_id}
miro_get_v2_orgs_by_org_id_cases_by_case_id_export_jobsREADGet legal hold export jobs via GET /v2/orgs/{org_id}/cases/{case_id}/export-jobs
miro_get_v2_orgs_by_org_id_cases_by_case_id_legal_holdsREADGet all legal holds via GET /v2/orgs/{org_id}/cases/{case_id}/legal-holds
miro_get_v2_orgs_by_org_id_cases_by_case_id_legal_holds_by_legal_hold_idREADGet legal hold via GET /v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}
miro_get_v2_orgs_by_org_id_cases_by_case_id_legal_holds_by_legal_hold_id_content_itemsREADGet legal hold content items via GET /v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}/content-items
miro_get_v2_orgs_by_org_id_content_logs_itemsREADEnterprise board content item logs fetch via GET /v2/orgs/{org_id}/content-logs/items
miro_get_v2_orgs_by_org_id_data_classification_settingsREADEnterprise dataclassification organization settings get via GET /v2/orgs/{org_id}/data-classification-settings
miro_get_v2_orgs_by_org_id_default_teams_settingsREADEnterprise get default team settings via GET /v2/orgs/{org_id}/default_teams_settings
miro_get_v2_orgs_by_org_id_groupsREADEnterprise get groups via GET /v2/orgs/{org_id}/groups
miro_get_v2_orgs_by_org_id_groups_by_group_idREADEnterprise get group via GET /v2/orgs/{org_id}/groups/{group_id}
miro_get_v2_orgs_by_org_id_groups_by_group_id_membersREADEnterprise get group members via GET /v2/orgs/{org_id}/groups/{group_id}/members
miro_get_v2_orgs_by_org_id_groups_by_group_id_members_by_member_idREADEnterprise get group member via GET /v2/orgs/{org_id}/groups/{group_id}/members/{member_id}
miro_get_v2_orgs_by_org_id_groups_by_group_id_teamsREADEnterprise groups get teams via GET /v2/orgs/{org_id}/groups/{group_id}/teams
miro_get_v2_orgs_by_org_id_groups_by_group_id_teams_by_team_idREADEnterprise groups get team via GET /v2/orgs/{org_id}/groups/{group_id}/teams/{team_id}
miro_get_v2_orgs_by_org_id_membersREADEnterprise get organization members via GET /v2/orgs/{org_id}/members
miro_get_v2_orgs_by_org_id_members_by_member_idREADEnterprise get organization member via GET /v2/orgs/{org_id}/members/{member_id}
miro_get_v2_orgs_by_org_id_projects_by_project_id_groupsREADEnterprise projects get groups via GET /v2/orgs/{org_id}/projects/{project_id}/groups
miro_get_v2_orgs_by_org_id_teamsREADEnterprise get teams via GET /v2/orgs/{org_id}/teams
miro_get_v2_orgs_by_org_id_teams_by_team_idREADEnterprise get team via GET /v2/orgs/{org_id}/teams/{team_id}
miro_get_v2_orgs_by_org_id_teams_by_team_id_boards_by_board_id_data_classificationREADEnterprise dataclassification board get via GET /v2/orgs/{org_id}/teams/{team_id}/boards/{board_id}/data-classification
miro_get_v2_orgs_by_org_id_teams_by_team_id_data_classification_settingsREADEnterprise dataclassification team settings get via GET /v2/orgs/{org_id}/teams/{team_id}/data-classification-settings
miro_get_v2_orgs_by_org_id_teams_by_team_id_groupsREADEnterprise teams get groups via GET /v2/orgs/{org_id}/teams/{team_id}/groups
miro_get_v2_orgs_by_org_id_teams_by_team_id_groups_by_group_idREADEnterprise teams get group via GET /v2/orgs/{org_id}/teams/{team_id}/groups/{group_id}
miro_get_v2_orgs_by_org_id_teams_by_team_id_membersREADEnterprise get team members via GET /v2/orgs/{org_id}/teams/{team_id}/members
miro_get_v2_orgs_by_org_id_teams_by_team_id_members_by_member_idREADEnterprise get team member via GET /v2/orgs/{org_id}/teams/{team_id}/members/{member_id}
miro_get_v2_orgs_by_org_id_teams_by_team_id_projectsREADEnterprise get projects via GET /v2/orgs/{org_id}/teams/{team_id}/projects
miro_get_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_idREADEnterprise get project via GET /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}
miro_get_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_membersREADEnterprise get project members via GET /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members
miro_get_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_members_by_member_idREADEnterprise get project member via GET /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}
miro_get_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_settingsREADEnterprise get project settings via GET /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/settings
miro_get_v2_orgs_by_org_id_teams_by_team_id_settingsREADEnterprise get team settings via GET /v2/orgs/{org_id}/teams/{team_id}/settings
miro_patch_v2_boards_by_board_idWRITEUpdate board via PATCH /v2/boards/{board_id}
miro_patch_v2_boards_by_board_id_app_cards_by_item_idWRITEUpdate app card item via PATCH /v2/boards/{board_id}/app_cards/{item_id}
miro_patch_v2_boards_by_board_id_cards_by_item_idWRITEUpdate card item via PATCH /v2/boards/{board_id}/cards/{item_id}
miro_patch_v2_boards_by_board_id_connectors_by_connector_idWRITEUpdate connector via PATCH /v2/boards/{board_id}/connectors/{connector_id}
miro_patch_v2_boards_by_board_id_documents_by_item_idWRITEUpdate document item using url via PATCH /v2/boards/{board_id}/documents/{item_id}
miro_patch_v2_boards_by_board_id_embeds_by_item_idWRITEUpdate embed item via PATCH /v2/boards/{board_id}/embeds/{item_id}
miro_patch_v2_boards_by_board_id_frames_by_item_idWRITEUpdate frame item via PATCH /v2/boards/{board_id}/frames/{item_id}
miro_patch_v2_boards_by_board_id_images_by_item_idWRITEUpdate image item using url via PATCH /v2/boards/{board_id}/images/{item_id}
miro_patch_v2_boards_by_board_id_items_by_item_idWRITEUpdate item position or parent via PATCH /v2/boards/{board_id}/items/{item_id}
miro_patch_v2_boards_by_board_id_members_by_board_member_idWRITEUpdate board member via PATCH /v2/boards/{board_id}/members/{board_member_id}
miro_patch_v2_boards_by_board_id_shapes_by_item_idWRITEUpdate shape item via PATCH /v2/boards/{board_id}/shapes/{item_id}
miro_patch_v2_boards_by_board_id_sticky_notes_by_item_idWRITEUpdate sticky note item via PATCH /v2/boards/{board_id}/sticky_notes/{item_id}
miro_patch_v2_boards_by_board_id_tags_by_tag_idWRITEUpdate tag via PATCH /v2/boards/{board_id}/tags/{tag_id}
miro_patch_v2_boards_by_board_id_texts_by_item_idWRITEUpdate text item via PATCH /v2/boards/{board_id}/texts/{item_id}
miro_patch_v2_experimental_boards_by_board_id_code_widgets_by_item_idWRITEUpdate code widget item via PATCH /v2-experimental/boards/{board_id}/code_widgets/{item_id}
miro_patch_v2_experimental_boards_by_board_id_code_widgets_by_item_id_positionWRITEMove code widget item via PATCH /v2-experimental/boards/{board_id}/code_widgets/{item_id}/position
miro_patch_v2_experimental_boards_by_board_id_shapes_by_item_idWRITEUpdate shape item flowchart via PATCH /v2-experimental/boards/{board_id}/shapes/{item_id}
miro_patch_v2_orgs_by_org_id_groups_by_group_idWRITEEnterprise update group via PATCH /v2/orgs/{org_id}/groups/{group_id}
miro_patch_v2_orgs_by_org_id_groups_by_group_id_membersWRITEEnterprise update group members via PATCH /v2/orgs/{org_id}/groups/{group_id}/members
miro_patch_v2_orgs_by_org_id_teams_by_team_idWRITEEnterprise update team via PATCH /v2/orgs/{org_id}/teams/{team_id}
miro_patch_v2_orgs_by_org_id_teams_by_team_id_data_classificationWRITEEnterprise dataclassification team boards bulk via PATCH /v2/orgs/{org_id}/teams/{team_id}/data-classification
miro_patch_v2_orgs_by_org_id_teams_by_team_id_data_classification_settingsWRITEEnterprise dataclassification team settings set via PATCH /v2/orgs/{org_id}/teams/{team_id}/data-classification-settings
miro_patch_v2_orgs_by_org_id_teams_by_team_id_members_by_member_idWRITEEnterprise update team member via PATCH /v2/orgs/{org_id}/teams/{team_id}/members/{member_id}
miro_patch_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_idWRITEEnterprise update project via PATCH /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}
miro_patch_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_members_by_member_idWRITEEnterprise update project member via PATCH /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members/{member_id}
miro_patch_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_settingsWRITEEnterprise update project settings via PATCH /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/settings
miro_patch_v2_orgs_by_org_id_teams_by_team_id_settingsWRITEEnterprise update team settings via PATCH /v2/orgs/{org_id}/teams/{team_id}/settings
miro_post_v2_boardsWRITECreate board via POST /v2/boards
miro_post_v2_boards_by_board_id_app_cardsWRITECreate app card item via POST /v2/boards/{board_id}/app_cards
miro_post_v2_boards_by_board_id_cardsWRITECreate card item via POST /v2/boards/{board_id}/cards
miro_post_v2_boards_by_board_id_connectorsWRITECreate connector via POST /v2/boards/{board_id}/connectors
miro_post_v2_boards_by_board_id_docsWRITECreate doc format item via POST /v2/boards/{board_id}/docs
miro_post_v2_boards_by_board_id_documentsWRITECreate document item using url via POST /v2/boards/{board_id}/documents
miro_post_v2_boards_by_board_id_embedsWRITECreate embed item via POST /v2/boards/{board_id}/embeds
miro_post_v2_boards_by_board_id_framesWRITECreate frame item via POST /v2/boards/{board_id}/frames
miro_post_v2_boards_by_board_id_groupsWRITECreate group via POST /v2/boards/{board_id}/groups
miro_post_v2_boards_by_board_id_imagesWRITECreate image item using url via POST /v2/boards/{board_id}/images
miro_post_v2_boards_by_board_id_items_bulkWRITECreate items via POST /v2/boards/{board_id}/items/bulk
miro_post_v2_boards_by_board_id_membersWRITEShare board via POST /v2/boards/{board_id}/members
miro_post_v2_boards_by_board_id_platformtags_items_by_item_idWRITEAttach tag to item via POST /v2/boards/{board_id_PlatformTags}/items/{item_id}
miro_post_v2_boards_by_board_id_shapesWRITECreate shape item via POST /v2/boards/{board_id}/shapes
miro_post_v2_boards_by_board_id_sticky_notesWRITECreate sticky note item via POST /v2/boards/{board_id}/sticky_notes
miro_post_v2_boards_by_board_id_tagsWRITECreate tag via POST /v2/boards/{board_id}/tags
miro_post_v2_boards_by_board_id_textsWRITECreate text item via POST /v2/boards/{board_id}/texts
miro_post_v2_experimental_boards_by_board_id_code_widgetsWRITECreate code widget item via POST /v2-experimental/boards/{board_id}/code_widgets
miro_post_v2_experimental_boards_by_board_id_mindmap_nodesWRITECreate mindmap nodes experimental via POST /v2-experimental/boards/{board_id}/mindmap_nodes
miro_post_v2_experimental_boards_by_board_id_shapesWRITECreate shape item flowchart via POST /v2-experimental/boards/{board_id}/shapes
miro_post_v2_oauth_revokeWRITERevoke token v2 via POST /v2/oauth/revoke
miro_post_v2_orgs_by_org_id_boards_by_board_id_groupsWRITEEnterprise boards create group via POST /v2/orgs/{org_id}/boards/{board_id}/groups
miro_post_v2_orgs_by_org_id_boards_export_jobsWRITEEnterprise create board export via POST /v2/orgs/{org_id}/boards/export/jobs
miro_post_v2_orgs_by_org_id_boards_export_jobs_by_job_id_tasks_by_task_id_export_linkWRITEEnterprise create board export task export link via POST /v2/orgs/{org_id}/boards/export/jobs/{job_id}/tasks/{task_id}/export-link
miro_post_v2_orgs_by_org_id_casesWRITECreate case via POST /v2/orgs/{org_id}/cases
miro_post_v2_orgs_by_org_id_cases_by_case_id_legal_holdsWRITECreate legal hold via POST /v2/orgs/{org_id}/cases/{case_id}/legal-holds
miro_post_v2_orgs_by_org_id_groupsWRITEEnterprise create group via POST /v2/orgs/{org_id}/groups
miro_post_v2_orgs_by_org_id_groups_by_group_id_membersWRITEEnterprise create group member via POST /v2/orgs/{org_id}/groups/{group_id}/members
miro_post_v2_orgs_by_org_id_projects_by_project_id_groupsWRITEEnterprise project create group via POST /v2/orgs/{org_id}/projects/{project_id}/groups
miro_post_v2_orgs_by_org_id_teamsWRITEEnterprise create team via POST /v2/orgs/{org_id}/teams
miro_post_v2_orgs_by_org_id_teams_by_team_id_boards_by_board_id_data_classificationWRITEEnterprise dataclassification board set via POST /v2/orgs/{org_id}/teams/{team_id}/boards/{board_id}/data-classification
miro_post_v2_orgs_by_org_id_teams_by_team_id_groupsWRITEEnterprise teams create group via POST /v2/orgs/{org_id}/teams/{team_id}/groups
miro_post_v2_orgs_by_org_id_teams_by_team_id_membersWRITEEnterprise invite team member via POST /v2/orgs/{org_id}/teams/{team_id}/members
miro_post_v2_orgs_by_org_id_teams_by_team_id_projectsWRITEEnterprise create project via POST /v2/orgs/{org_id}/teams/{team_id}/projects
miro_post_v2_orgs_by_org_id_teams_by_team_id_projects_by_project_id_membersWRITEEnterprise add project member via POST /v2/orgs/{org_id}/teams/{team_id}/projects/{project_id}/members
miro_post_v2_sessions_reset_allWRITEEnterprise post user sessions reset via POST /v2/sessions/reset_all
miro_put_v2_boardsWRITECopy board via PUT /v2/boards
miro_put_v2_boards_by_board_id_groups_by_group_idWRITEUpdate group via PUT /v2/boards/{board_id}/groups/{group_id}
miro_put_v2_orgs_by_org_id_boards_export_jobs_by_job_id_statusWRITEEnterprise update board export job via PUT /v2/orgs/{org_id}/boards/export/jobs/{job_id}/status
miro_put_v2_orgs_by_org_id_cases_by_case_idWRITEEdit case via PUT /v2/orgs/{org_id}/cases/{case_id}
miro_put_v2_orgs_by_org_id_cases_by_case_id_legal_holds_by_legal_hold_idWRITEEdit legal hold via PUT /v2/orgs/{org_id}/cases/{case_id}/legal-holds/{legal_hold_id}
Put Miro behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.