openapi: 3.0.1 info: title: Miro Developer Platform AI Interaction Logs Code widget items (experimental) API version: v2.0 description: ' ### Miro Developer Platform concepts - New to the Miro Developer Platform? Interested in learning more about platform concepts?? [Read our introduction page](https://beta.developers.miro.com/docs/introduction) and familiarize yourself with the Miro Developer Platform capabilities in a few minutes. ### Getting started with the Miro REST API - [Quickstart (video):](https://beta.developers.miro.com/docs/try-out-the-rest-api-in-less-than-3-minutes) try the REST API in less than 3 minutes. - [Quickstart (article):](https://beta.developers.miro.com/docs/build-your-first-hello-world-app-1) get started and try the REST API in less than 3 minutes. ### Miro REST API tutorials Check out our how-to articles with step-by-step instructions and code examples so you can: - [Get started with OAuth 2.0 and Miro](https://beta.developers.miro.com/docs/getting-started-with-oauth) ### Miro App Examples Clone our [Miro App Examples repository](https://github.com/miroapp/app-examples) to get inspiration, customize, and explore apps built on top of Miro''s Developer Platform 2.0. ' servers: - url: https://api.miro.com/ tags: - name: Code widget items (experimental) paths: /v2-experimental/boards/{board_id}/code_widgets: get: description: 'Retrieves a list of code widget items for a specific board. This method returns results using a cursor-based approach. A cursor-paginated method returns a portion of the total set of results based on the limit specified and a cursor that points to the next portion of the results. To retrieve the next portion of the collection, on your next call to the same method, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request.

Required scope

boards:read

Rate limiting

Level 2
' operationId: get-code-widget-items parameters: - in: query name: limit schema: type: string default: '10' description: The maximum number of results to return per call. If the number of items in the response is greater than the limit specified, the response returns the cursor parameter with a value. maximum: 50 minimum: 10 - in: query name: cursor schema: type: string description: A cursor-paginated method returns a portion of the total set of results based on the limit specified and a `cursor` that points to the next portion of the results. To retrieve the next portion of the collection, set the `cursor` parameter equal to the `cursor` value you received in the response of the previous request. - description: Unique identifier (ID) of the board for which you want to retrieve the list of code widget items. in: path name: board_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CodeWidgetCursorPaged' description: Code widget items retrieved '400': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Malformed request '404': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Not found '429': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Too many requests summary: Get code widget items tags: - Code widget items (experimental) post: description: Adds a code widget item to a board.

Required scope

boards:write

Rate limiting

Level 2
operationId: create-code-widget-item parameters: - description: Unique identifier (ID) of the board where you want to create the item. in: path name: board_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CodeWidgetCreateRequest' required: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/CodeWidgetItem' description: Code widget item created '400': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Malformed request '404': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Not found '429': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Too many requests summary: Create code widget item tags: - Code widget items (experimental) /v2-experimental/boards/{board_id}/code_widgets/{item_id}: get: description: Retrieves information for a specific code widget item on a board.

Required scope

boards:read

Rate limiting

Level 1
operationId: get-code-widget-item parameters: - description: Unique identifier (ID) of the board from which you want to retrieve a specific item. in: path name: board_id required: true schema: type: string - description: Unique identifier (ID) of the item that you want to retrieve. in: path name: item_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/CodeWidgetItem' description: Code widget item retrieved '400': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Malformed request '404': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Not found '429': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Too many requests summary: Get code widget item tags: - Code widget items (experimental) patch: description: Updates a code widget item on a board based on the data properties provided in the request body.

Required scope

boards:write

Rate limiting

Level 2
operationId: update-code-widget-item parameters: - description: Unique identifier (ID) of the board where you want to update the item. in: path name: board_id required: true schema: type: string - description: Unique identifier (ID) of the item that you want to update. in: path name: item_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CodeWidgetUpdateRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CodeWidgetItem' description: Code widget item updated '400': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Malformed request '404': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Not found '429': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Too many requests summary: Update code widget item tags: - Code widget items (experimental) delete: description: Deletes a code widget item from the board.

Required scope

boards:write

Rate limiting

Level 3
operationId: delete-code-widget-item parameters: - description: Unique identifier (ID) of the board from which you want to delete the item. in: path name: board_id required: true schema: type: string - description: Unique identifier (ID) of the item that you want to delete. in: path name: item_id required: true schema: type: string responses: '204': content: application/json: schema: type: object description: Code widget item deleted '400': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Malformed request '404': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Not found '429': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Too many requests summary: Delete code widget item tags: - Code widget items (experimental) /v2-experimental/boards/{board_id}/code_widgets/{item_id}/position: patch: description: Updates the position of a code widget item on a board.

Required scope

boards:write

Rate limiting

Level 2
operationId: move-code-widget-item parameters: - description: Unique identifier (ID) of the board where you want to move the item. in: path name: board_id required: true schema: type: string - description: Unique identifier (ID) of the item that you want to move. in: path name: item_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PositionChange' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/CodeWidgetItem' description: Code widget item moved '400': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Malformed request '404': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Not found '429': content: application/json: schema: type: object description: Test error obj properties: code: type: string description: Code of the error example: error message: type: string description: Description of the error example: Error message status: type: integer format: int32 description: Status code of the error example: 400 type: type: string description: Type of the error example: error description: Too many requests summary: Move code widget item tags: - Code widget items (experimental) components: schemas: ModifiedBy: type: object description: Contains information about the user who last modified the item. properties: id: type: string description: Unique identifier (ID) of the user. example: '3458764517517852417' type: type: string description: Indicates the type of object returned. In this case, `type` returns `user`. example: user CodeWidgetCreateRequest: type: object properties: data: $ref: '#/components/schemas/CodeWidgetData' position: $ref: '#/components/schemas/PositionChange' geometry: $ref: '#/components/schemas/Geometry' parent: $ref: '#/components/schemas/Parent' Parent: type: object description: Contains information about the parent frame for the item. properties: id: type: string format: int64 description: Unique identifier (ID) of the parent frame for the item. example: '3074457362577955300' CodeWidgetUpdateRequest: type: object properties: data: $ref: '#/components/schemas/CodeWidgetData' position: $ref: '#/components/schemas/PositionChange' geometry: $ref: '#/components/schemas/Geometry' parent: $ref: '#/components/schemas/Parent' CreatedBy: type: object description: Contains information about the user who created the item. properties: id: type: string description: Unique identifier (ID) of the user. example: '3458764517517852417' type: type: string description: Indicates the type of object returned. In this case, `type` returns `user`. example: user PageLinks: type: object description: Contains pagination links for the collection. properties: first: type: string description: Link to retrieve information in the first page of the collection. example: http://api.miro.com/v2/boards/o9J_lJWSHdg=/items?limit=10&cursor=MzQ1ODc2NaSDN&#RDMDA3MzYyOX== last: type: string description: Link to the retrieve information in the last page of the collection. example: http://api.miro.com/v2/boards/o9J_lJWSHdg=/items?limit=10&cursor=MzQ1ODc2NDUyNDUyMDA3MzYyOX== next: type: string description: Link to retrieve information in the next page of the collection. example: http://api.miro.com/v2/boards/o9J_lJWSHdg=/items?limit=10&cursor=MzQ1ODc2NDUyNDsdgsFEwfFJCw== prev: type: string description: Link to retrieve information in the previous page of the collection. example: http://api.miro.com/v2/boards/o9J_lJWSHdg=/items?limit=10&cursor= self: type: string description: Link to retrieve information in the current page of the collection. example: http://api.miro.com/v2/boards/o9J_lJWSHdg=/items?limit=10&cursor=MzQ1OD1245643FWUyMDA3MzYyOX== Position: type: object description: Contains location information about the item, such as its x coordinate, y coordinate, and the origin of the x and y coordinates. properties: origin: type: string default: center description: 'Area of the item that is referenced by its x and y coordinates. For example, an item with a center origin will have its x and y coordinates point to its center. The center point of the board has x: 0 and y: 0 coordinates. Currently, only one option is supported.' enum: - center relativeTo: type: string enum: - canvas_center - parent_top_left x: type: number format: double description: 'X-axis coordinate of the location of the item on the board. By default, all items have absolute positioning to the board, not the current viewport. Default: 0. The center point of the board has `x: 0` and `y: 0` coordinates.' example: 100 y: type: number format: double description: 'Y-axis coordinate of the location of the item on the board. By default, all items have absolute positioning to the board, not the current viewport. Default: 0. The center point of the board has `x: 0` and `y: 0` coordinates.' example: 100 PositionChange: type: object description: Contains information about the item's position on the board, such as its `x` coordinate, `y` coordinate, and the origin of the `x` and `y` coordinates. properties: x: type: number format: double description: 'X-axis coordinate of the location of the item on the board. By default, all items have absolute positioning to the board, not the current viewport. Default: `0`. The center point of the board has `x: 0` and `y: 0` coordinates.' default: 0 example: 100 y: type: number format: double description: 'Y-axis coordinate of the location of the item on the board. By default, all items have absolute positioning to the board, not the current viewport. Default: `0`. The center point of the board has `x: 0` and `y: 0` coordinates.' default: 0 example: 100 CodeWidgetItem: type: object properties: id: type: string description: Unique identifier (ID) of an item. example: '3458764517517819000' data: $ref: '#/components/schemas/CodeWidgetData' position: $ref: '#/components/schemas/Position' geometry: $ref: '#/components/schemas/Geometry' createdAt: type: string format: date-time description: 'Date and time when the item was created.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).' example: '2022-03-30T17:26:50.000Z' createdBy: $ref: '#/components/schemas/CreatedBy' modifiedAt: type: string format: date-time description: 'Date and time when the item was last modified.
Format: UTC, adheres to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), includes a [trailing Z offset](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_(UTC)).' example: '2022-03-30T17:26:50.000Z' modifiedBy: $ref: '#/components/schemas/ModifiedBy' links: $ref: '#/components/schemas/WidgetLinks' type: type: string description: Type of item that is returned. example: code required: - id - type WidgetLinks: type: object description: Contains applicable links for the item. properties: related: type: string description: Link to obtain information about the child items related to the frame. example: http://api.miro.com/v2/boards/o9J_koQspF4=/items?parent_item_id=307445734914369434&limit=10&cursor= self: type: string description: Link to obtain information about the current item. example: http://api.miro.com/v2/boards/o9J_koQspF4=/item/3074457349143649487 CodeWidgetCursorPaged: type: object properties: data: type: array description: Contains the result data. items: $ref: '#/components/schemas/CodeWidgetItem' total: type: integer format: int64 description: Total number of results available. If the value of the `total` parameter is higher than the value of the `size` parameter, this means that there are more results that you can retrieve. To retrieve more results, you can make another request and set the `offset` value accordingly. size: type: integer format: int32 description: Number of results returned in the response considering the `cursor` and the `limit` values sent in the request. example: 1 cursor: type: string description: A cursor-paginated method returns a portion of the total set of results based on the `limit` specified and a `cursor` that points to the next portion of the results. To retrieve the next set of results of the collection, set the `cursor` parameter in your next request to the value returned in this parameter. example: MzQ1ODc2NDUyMjQ5MDA4Mjg5NX4= limit: type: integer format: int32 description: Maximum number of results returned based on the `limit` specified in the request. example: 10 links: $ref: '#/components/schemas/PageLinks' Geometry: type: object description: Contains geometrical information about the item, such as its width or height. properties: height: type: number format: double description: Height of the item, in pixels. example: 60 rotation: type: number format: double description: Rotation angle of an item, in degrees, relative to the board. You can rotate items clockwise (right) and counterclockwise (left) by specifying positive and negative values, respectively. width: type: number format: double description: Width of the item, in pixels. example: 320 CodeWidgetData: type: object description: Contains the data properties of a code widget item, such as the code content, programming language, and display settings. properties: code: type: string description: The code content of the widget. maxLength: 6000 example: console.log("Hello, World!"); language: type: string description: The programming language of the code content. Used for syntax highlighting. example: javascript lineNumbersVisible: type: boolean description: Indicates whether line numbers are visible in the code widget. example: true title: type: string description: The title of the code widget. maxLength: 100 example: My Code Snippet securitySchemes: oAuth2AuthCode: type: oauth2 description: For more information, see https://developers.miro.com/reference/authorization-flow-for-expiring-tokens flows: authorizationCode: authorizationUrl: https://miro.com/oauth/authorize tokenUrl: https://api.miro.com/v1/oauth/token scopes: boards:read: Retrieve information about boards, board members, or items boards:write: Create, update, or delete boards, board members, or items microphone:listen: Access a user's microphone to record audio in an iFrame screen:record: Access a user's screen to record it in an iFrame webcam:record: Allows an iFrame to access a user's camera to record video organizations:read: Read information about the organization, such as name, plan, number of licenses, organization settings, or organization members. organizations:teams:read: Read team information, such as the list of teams, team settings, team members, for an organization. organizations:teams:write: Create or delete teams, update team information, team settings, team members, for an organization. x-settings: publish: true