Miro Flowchart shapes (experimental) API

The Flowchart shapes (experimental) API from Miro — 4 operation(s) for flowchart shapes (experimental).

Operations 6

GET /v2-experimental/boards/{board_id}/items Get items on board #
GET /v2-experimental/boards/{board_id}/items/{item_id} Get specific item on board #
POST /v2-experimental/boards/{board_id}/shapes Create shape item #
GET /v2-experimental/boards/{board_id}/shapes/{item_id} Get shape item #
PATCH /v2-experimental/boards/{board_id}/shapes/{item_id} Update shape item #
DELETE /v2-experimental/boards/{board_id}/shapes/{item_id} Delete shape item #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/miro-flowchart-shapes-experimental-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

miro-flowchart-shapes-experimental-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Miro Developer Platform AI Interaction Logs Flowchart shapes (experimental) Flowchart shapes (experimental) API
  version: v2.0
  description: '<img src="https://content.pstmn.io/47449ea6-0ef7-4af2-bac1-e58a70e61c58/aW1hZ2UucG5n" width="1685" height="593">


    ### 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: Flowchart shapes (experimental)
paths:
  /v2-experimental/boards/{board_id}/items:
    get:
      description: 'Retrieves a list of items for a specific board. You can retrieve all items on the board, a list of child items inside a parent item, or a list of specific types of items by specifying URL query parameter values.


        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. For example, if you set the `limit` query parameter to `10` and the board contains 20 objects, the first call will return information about the first 10 objects in the response along with a cursor parameter and value. In this example, let''s say the cursor parameter value returned in the response is `foo`. If you want to retrieve the next set of objects, on your next call to the same method, set the cursor parameter value to `foo`.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>boards:read</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 2</a><br/>'
      operationId: get-items-experimental
      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: type
        schema:
          type: string
          enum:
          - shape
      - 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 available items.
        in: path
        name: board_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericItemCursorPaged'
          description: 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 items on board
      tags:
      - Flowchart shapes (experimental)
  /v2-experimental/boards/{board_id}/items/{item_id}:
    get:
      description: Retrieves information for a specific item on a board.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>boards:read</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 1</a><br/>
      operationId: get-specific-item-experimental
      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/GenericItem'
          description: 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 specific item on board
      tags:
      - Flowchart shapes (experimental)
  /v2-experimental/boards/{board_id}/shapes:
    post:
      description: Adds a flowchart shape item to a board.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>boards:write</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 2</a><br/>
      operationId: create-shape-item-flowchart
      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/ShapeCreateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShapeItem'
          description: Shape 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 shape item
      tags:
      - Flowchart shapes (experimental)
  /v2-experimental/boards/{board_id}/shapes/{item_id}:
    get:
      description: Retrieves information for a specific shape item on a board.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>boards:read</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 1</a><br/>
      operationId: get-shape-item-flowchart
      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/ShapeItem'
          description: Shape 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 shape item
      tags:
      - Flowchart shapes (experimental)
    patch:
      description: Updates a flowchart shape item on a board based on the data and style properties provided in the request body.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>boards:write</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 2</a><br/>
      operationId: update-shape-item-flowchart
      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/ShapeUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShapeItem'
          description: Shape 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 shape item
      tags:
      - Flowchart shapes (experimental)
    delete:
      description: Deletes a flowchart shape item from the board.<br/><h3>Required scope</h3> <a target=_blank href=https://developers.miro.com/reference/scopes>boards:write</a> <br/><h3>Rate limiting</h3> <a target=_blank href="/reference/rate-limiting#rate-limit-tiers">Level 3</a><br/>
      operationId: delete-shape-item-flowchart
      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: Shape 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 shape item
      tags:
      - Flowchart shapes (experimental)
components:
  schemas:
    ShapeItem:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier (ID) of an item.
          example: '3458764517517819000'
        data:
          $ref: '#/components/schemas/ShapeDataForCreate'
        style:
          $ref: '#/components/schemas/ShapeStyleForCreate'
        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. <br>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. <br>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'
        parent:
          $ref: '#/components/schemas/ParentLinksEnvelope'
        links:
          $ref: '#/components/schemas/WidgetLinks'
        type:
          type: string
          description: Type of item that is returned.
          example: shape
      required:
      - id
      - type
    CustomField:
      type: object
      description: Array where each object represents a custom preview field. Preview fields are displayed on the bottom half of the app card in the compact view.
      properties:
        fillColor:
          type: string
          description: Hex value representing the color that fills the background area of the preview field, when it's displayed on the app card.
          example: '#2fa9e3'
        iconShape:
          type: string
          default: round
          description: The shape of the icon on the preview field.
          enum:
          - round
          - square
        iconUrl:
          type: string
          description: 'A valid URL pointing to an image available online.

            The transport protocol must be HTTPS.

            Possible image file formats: JPG/JPEG, PNG, SVG.'
          example: https://cdn-icons-png.flaticon.com/512/5695/5695864.png
        textColor:
          type: string
          description: Hex value representing the color of the text string assigned to `value`.
          example: '#1a1a1a'
        tooltip:
          type: string
          description: A short text displayed in a tooltip when clicking or hovering over the preview field.
          example: Completion status indicator
        value:
          type: string
          description: 'The actual data value of the custom field.

            It can be any type of information that you want to convey.'
          example: 'Status: in progress'
    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==
    ShapeCreateRequest:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ShapeDataForCreate'
        style:
          $ref: '#/components/schemas/ShapeStyleForCreate'
        position:
          $ref: '#/components/schemas/PositionChange'
        geometry:
          $ref: '#/components/schemas/Geometry'
        parent:
          $ref: '#/components/schemas/Parent'
    GenericItem:
      type: object
      description: Contains the result data.
      properties:
        createdAt:
          type: string
          format: date-time
          description: 'Date and time when the item was created. <br>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'
        data:
          $ref: '#/components/schemas/WidgetDataOutput'
        geometry:
          $ref: '#/components/schemas/Geometry'
        id:
          type: string
          description: Unique identifier (ID) of an item.
          example: '3458764517517819000'
        modifiedAt:
          type: string
          format: date-time
          description: 'Date and time when the item was last modified. <br>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'
        parent:
          $ref: '#/components/schemas/Parent'
        position:
          $ref: '#/components/schemas/Position'
        type:
          type: string
          description: Type of item that is returned.
          example: sticky_note
      required:
      - id
      - type
    ShapeStyleForUpdate:
      type: object
      description: "Contains information about the shape style, such as the border color or opacity. <br> All properties in style object are supported for shape types aren't listed below. <br> <table>\n  <tr>\n    <th align=\"left\">Shape type</th>\n    <th align=\"left\">Unsupported properties</th>\n  </tr>\n  <tr>\n    <td>flow_chart_or</td>\n    <td>fontSize, fontFamily, color, textAlign, textAlignVertical</td>\n  </tr>\n  <tr>\n    <td>flow_chart_summing_junction</td>\n    <td>fontSize, fontFamily, color, textAlign, textAlignVertical</td>\n  </tr>\n  <tr>\n    <td>flow_chart_note_curly_left</td>\n    <td>fillColor, fillOpacity</td>\n  </tr>\n  <tr>\n    <td>flow_chart_note_curly_right</td>\n    <td>fillColor, fillOpacity</td>\n  </tr>\n  <tr>\n    <td>flow_chart_note_square</td>\n    <td>fillColor, fillOpacity</td>\n  </tr>\n</table>"
      properties:
        borderColor:
          type: string
          description: Defines the color of the border of the shape.
        borderOpacity:

# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/miro/refs/heads/main/openapi/miro-flowchart-shapes-experimental-api-openapi.yml