Miro Bulk operations API

The Bulk operations API from Miro — 2 operation(s) for bulk operations.

OpenAPI Specification

miro-bulk-operations-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Miro Developer Platform AI Interaction Logs Bulk operations 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: Bulk operations
paths:
  /v2/boards/{board_id}/items/bulk:
    parameters:
    - $ref: '#/components/parameters/boardId'
    post:
      x-settings:
        publish: true
      description: 'Adds different types of items to a board. You can add up to 20 items of the same or different type per create call. For example, you can create 3 shape items, 4 card items, and 5 sticky notes in one create call. The bulk create operation is transactional. If any item''s create operation fails, the create operation for all the remaining items also fails, and none of the items will be created. <br/><br>To try out this API in our documentation:<br/><br>1. In the **BODY PARAMS** section, scroll down until you see **ADD OBJECT** (Figure 1).<br><br><img alt=“add src="https://files.readme.io/570dac1-small-add_object.png"><br>Figure 1. Add object user interface in readme<br><br>2. Click **ADD OBJECT**, and then select or enter the appropriate values for parameters of the item that you want to add.<br><br>3. Repeat steps 1 and 2 for each item that you want to add.<br> <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> per item. For example, if you want to create one sticky note, one card, and one shape item in one call, the rate limiting applicable will be 300 credits. This is because create item calls take Level 2 rate limiting of 100 credits each, 100 for sticky note, 100 for card, and 100 for shape item.'
      operationId: create-items
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ItemCreate'
              minItems: 1
              maxItems: 20
        required: true
      responses:
        '201':
          description: Items created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Items'
        '400':
          description: Malformed request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkOperationError'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      summary: Create items in bulk
      tags:
      - Bulk operations
  /v2/boards/{board_id_Platformcreateitemsinbulkusingfilefromdevice}/items/bulk:
    parameters:
    - $ref: '#/components/parameters/boardId'
    post:
      description: 'Adds different types of items to a board using files from a device. You can add up to 20 items of the same or different type per create call. For example, you can create 5 document items and 5 images in one create call.  The bulk create operation is transactional. If any item''s create operation fails, the create operation for all the remaining items also fails, and none of the items will be created.

        To try out this API in our documentation:

        1. In the **BODY PARAMS** section, select **ADD FILE**, and then upload a local file. Repeat for each item that you want to add.

        2. Upload a JSON file that contains the bulk data for the items you want to create.


        <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> per item<br/>

        '
      operationId: create-items-in-bulk-using-file-from-device
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                data:
                  type: string
                  format: binary
                  description: JSON file containing bulk data, where each object represents an item to be created. For details, see [JSON file example](https://developers.miro.com/reference/json-data-example).
                resources:
                  type: array
                  description: Array of items to create (PDFs, images, etc.). Maximum of 20 items.
                  items:
                    type: string
                    format: binary
              required:
              - data
              - resources
      responses:
        '201':
          description: Items created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Items'
      summary: Create items in bulk using file from device
      tags:
      - Bulk operations
components:
  schemas:
    AppCardData:
      type: object
      description: Contains app card item data, such as the title, description, or fields.
      properties:
        description:
          type: string
          description: A short text description to add context about the app card.
          example: Sample app card description
        fields:
          type: array
          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.
          items:
            $ref: '#/components/schemas/CustomField'
        owned:
          type: boolean
          description: Defines whether the card is owned by the application making the call.
        status:
          type: string
          description: Status indicating whether an app card is connected and in sync with the source. When the source for the app card is deleted, the status returns `disabled`.
          enum:
          - disconnected
          - connected
          - disabled
        title:
          type: string
          description: A short text header to identify the app card.
          example: sample app card item
    ModificationTime:
      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'
    ImageDataResponse:
      type: object
      properties:
        imageUrl:
          type: string
          description: 'The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter and the `format` parameter to control the request execution as described in the following parameters: `format` parameter: By default, the image format is set to the preview image. If you want to download the original image, set the `format` parameter in the URL to `original`. `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file. If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned can be `image/png`, ''image/svg'', or ''image/jpg'', depending on the original image type.'
          example: https://api.miro.com/v2/boards/uXjVOfjkmAk=/resources/98765467890987654?format=preview&redirect=false
        title:
          type: string
          description: A short text header to identify the image.
          example: Sample image title
    BulkOperationError:
      type: object
      description: Error information with details about operation failure
      properties:
        type:
          type: string
          description: Type of the error
          example: error
        code:
          type: string
          description: Code of the error
          example: 2.074
        message:
          type: string
          description: Description of the error
          example: Error message
        context:
          type: object
          properties:
            fields:
              type: array
              items:
                $ref: '#/components/schemas/BulkSubOperationError'
        status:
          type: integer
          format: int32
          description: Status code of the error
          example: 400
      required:
      - message
    CreationTime:
      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'
    ImageUrlData:
      type: object
      description: Contains information about the image URL.
      properties:
        title:
          type: string
          description: A short text header to identify the image.
          example: Sample image title
        url:
          type: string
          default: https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png
          description: URL of the image.
          example: https://miro.com/static/images/page/mr-index/localization/en/slider/ideation_brainstorming.png
      required:
      - url
    DocumentDataResponse:
      type: object
      properties:
        documentUrl:
          type: string
          description: 'The URL to download the resource. You must use your access token to access the URL. The URL contains the `redirect` parameter to control the request execution.

            `redirect`: By default, the `redirect` parameter is set to `false` and the resource object containing the URL and the resource type is returned with a 200 OK HTTP code. This URL is valid for 60 seconds. You can use this URL to retrieve the resource file.

            If the `redirect` parameter is set to `true`, a 307 TEMPORARY_REDIRECT HTTP response is returned. If you follow HTTP 3xx responses as redirects, you will automatically be redirected to the resource file and the content type returned is `application/octet-stream`.'
          example: https://api.miro.com/v2/boards/uXjVOfjkmAk=/resources/98765467890987654?redirect=false
        title:
          type: string
          description: A short text header to identify the document.
          example: Sample document title
    Error:
      type: object
      description: Error information
      properties:
        code:
          type: string
          description: Code of the error
          example: 2.074
        message:
          type: string
          description: Description of the error
          example: Error message
        context:
          type: object
        status:
          type: integer
          format: int32
          description: Status code of the error
          example: 400
        type:
          type: string
          description: Type of entity that is returned.
          example: error
      required:
      - message
      - type
    SelfLink:
      type: object
      description: Contains applicable links for the current object.
      properties:
        self:
          type: string
          description: Link to obtain more information about the current object.
          example: http://api.miro.com/v2/boards/o9J_koQspF4=/object_type/3074457349143649487
    CardData:
      type: object
      description: Contains card item data, such as the title, description, due date, or assignee ID.
      properties:
        assigneeId:
          type: string
          format: int64
          description: Unique user identifier. In the GUI, the user ID is mapped to the name of the user who is assigned as the owner of the task or activity described in the card. The identifier is numeric, and it is automatically assigned to a user when they first sign up.
          example: '3074457362577955300'
        description:
          type: string
          description: A short text description to add context about the card.
          example: sample card description
        dueDate:
          type: string
          format: date-time
          description: 'The date when the task or activity described in the card is due to be completed. In the GUI, users can select the due date from a calendar. 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: '2023-10-12T22:00:55.000Z'
        title:
          type: string
          description: A short text header for the card.
          example: sample card item
    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'
    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
    Item:
      type: object
      description: Contains information about an item.
      properties:
        id:
          $ref: '#/components/schemas/ItemId'
        type:
          type: string
          description: Type of item.
          example: document
        data:
          $ref: '#/components/schemas/ItemData'
        position:
          $ref: '#/components/schemas/Position'
        geometry:
          $ref: '#/components/schemas/Geometry'
        parent:
          $ref: '#/components/schemas/ParentWithLinks'
        createdBy:
          $ref: '#/components/schemas/CreatedBy'
        createdAt:
          $ref: '#/components/schemas/CreationTime'
        modifiedBy:
          $ref: '#/components/schemas/ModifiedBy'
        modifiedAt:
          $ref: '#/components/schemas/ModificationTime'
        links:
          $ref: '#/components/schemas/SelfLink'
      required:
      - id
      - type
      - links
    ParentWithLinks:
      type: object
      description: Contains information about the parent this item attached to.
      properties:
        id:
          type: string
          format: int64
          example: '3458764517517819001'
          description: Unique identifier (ID) of a container item.
        links:
          $ref: '#/components/schemas/SelfLink'
    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
    StickyNoteStyle:
      type: object
      description: Contains information about the style of a sticky note item, such as the fill color or text alignment.
      properties:
        fillColor:
          type: string
          description: 'Fill color for the sticky note.

            Default: `light_yellow`.'
          enum:
          - gray
          - light_yellow
          - yellow
          - orange
          - light_green
          - green
          - dark_green
          - cyan
          - light_pink
          - pink
          - violet
          - red
          - light_blue
          - blue
          - dark_blue
          - black
        textAlign:
          type: string
          description: 'Defines how the sticky note text is horizontally aligned.

            Default: `center`.'
          enum:
          - left
          - right
          - center
        textAlignVertical:
          type: string
          description: 'Defines how the sticky note text is vertically aligned.

            Default: `top`.'
          enum:
          - top
          - middle
          - bottom
    ItemStyle:
      type: object
      description: Contains information about item-specific styles.
      oneOf:
      - $ref: '#/components/schemas/AppCardStyle'
      - $ref: '#/components/schemas/CardStyle'
      - $ref: '#/components/schemas/ShapeStyle'
      - $ref: '#/components/schemas/StickyNoteStyle'
      - $ref: '#/components/schemas/TextStyle'
    TextData:
      type: object
      description: Contains text item data, such as the title, content, or description. For more information on the JSON properties, see [Data](https://developers.miro.com/reference/data).
      properties:
        content:
          type: string
          description: The actual text (content) that appears in the text item.
          example: Hello
      required:
      - content
    DocumentUrlData:
      type: object
      description: Contains information about the document URL.
      properties:
        title:
          type: string
          description: A short text header to identify the document.
          example: Sample document title
        url:
          type: string
          default: https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf
          description: URL where the document is hosted.
          example: https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf
      required:
      - url
    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'
    ItemCreate:
      type: object
      description: Creates one or more items in one request. You can create up to 20 items per request.
      properties:
        type:
          $ref: '#/components/schemas/ItemTypeChange'
        data:
          $ref: '#/components/schemas/ItemDataCreate'
        style:
          $ref: '#/components/schemas/ItemStyle'
        position:
          $ref: '#/components/schemas/PositionChange'
        geometry:
          $ref: '#/components/schemas/Geometry'
        parent:
          $ref: '#/components/schemas/Parent'
      required:
      - type
    CardStyle:
      type: object
      description: Contains information about the style of a card item, such as the card theme.
      properties:
        cardTheme:
          type: string
          description: 'Hex value of the border color of the card.

            Default: `#2d9bf0`.'
          example: '#2d9bf0'
    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
    ItemTypeChange:
      type: string
      description: Type of item that you want to create.
      enum:
      - app_card
      - text
      - shape
      - sticky_note
      - image
      - document
      - card
      - frame
      - embed
      example: text
    Items:
      type: object
      description: Contains items resulting from a bulk create or update operation.
      properties:
        data:
          type: array
          description: Contains the result data.
          items:
            $ref: '#/components/schemas/Item'
        type:
          type: string
          description: Type of the object.
          example: bulk-list
      required:
      - type
      - data
    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
    ItemDataCreate:
      type: object
      description: Contains data information applicable for each item type.
      oneOf:
      - $ref: '#/components/schemas/AppCardData'
      - $ref: '#/components/schemas/CardData'
      - $ref: '#/components/schemas/DocumentUrlData'
      - $ref: '#/components/schemas/EmbedUrlData'
      - $ref: '#/components/schemas/ImageUrlData'
      - $ref: '#/components/schemas/ShapeData'
      - $ref: '#/components/schemas/StickyNoteData'
      - $ref: '#/components/schemas/TextData'
    EmbedUrlData:
      type: object
      description: Contains information about the embed URL.
      properties:
        mode:
          type: string
          description: 'Defines how the content in the embed item is displayed on the board.

            `inline`: The embedded content is displayed directly on the board.

            `modal`: The embedded content is displayed inside a modal overlay on the board.'
          enum:
          - inline
          - modal
        previewUrl:
          type: string
          description: URL of the image to be used as the preview image for the embedded item.
        url:
          type: string
          default: https://www.youtube.com/watch?v=HlVSNEiFCBk
          description: 'A [valid URL](https://developers.miro.com/reference/data#embeddata) pointing to the content resource that you want to embed in the board. Possible transport protocols: HTTP, HTTPS.'
      required:
      - url
    ShapeData:
      type: object
      description: Contains shape item data, such as the content or shape type of the shape.
      properties:
        content:
          type: string
          description: The text you want to display on the shape.
          example: Hello
        shape:
          type: string
          default: rectangle
          description: Defines the geometric shape of the item when it is rendered on the board.
          enum:
          - rectangle
          - round_rectangle
          - circle
          - triangle
          - rhombus
          - parallelogram
          - trapezoid
          - pentagon
          - hexagon
          - octagon
          - wedge_round_rectangle_callout
          - star
          - flow_chart_predefined_process
          - cloud
          - cross
          - can
          - right_arrow
          - left_arrow
          - left_right_arrow
          - left_brace
          - right_brace
    BulkSubOperationError:
      type: object
      properties:
        field:
          type: string
          description: 0-based index indicating a sub-operations from the input that caused a failure followed by parameter name
        message:
          type: string
          description: Description of the sub-operation related error
          example: Invalid parameters
        context:
          type: object
      required:
      - field
      - message
    ItemData:
      type: object
      description: Contains information about item-specific data.
      oneOf:
      - $ref: '#/components/schemas/DocumentDataResponse'
      - $ref: '#/components/schemas/ImageDataResponse'
    StickyNoteData:
      type: object
      description: Contains sticky note item data, such as the content or shape of the sticky note.
      properties:
        content:
          type: string
          description: The actual text (content) that appears in the sticky note item.
          example: Hello
        shape:
          type: string
          default: square
          description: Defines the geometric shape of the sticky note and aspect ratio for its dimensions.
          enum:
          - square
          - rectangle
    ShapeStyle:
      type: object
      description: Contains information about the shape style, such as the border color or opacity.
      properties:
        borderColor:
          type: string
          description: 'Defines the color of the border of the shape.

            Default: `#1a1a1a` (dark gray).'
        borderOpacity:
          type: string
          description: 'Defines the opacity level of the shape border.

            Possible values: any number between `0.0` and `1.0`, where:

            `0.0`: the background color is completely transparent or invisible

            `1.0`: the background color is completely opaque or solid

            Default: `1.0` (solid color).'
          maximum: 1
          minimum: 0
        borderStyle:
          type: string
          description: 'Defines the style used to represent the border of the shape.

            Default: `normal`.'
          enum:
          - normal
          - dotted
          - dashed
        borderWidth:
          type: string
          description: 'Defines the thickness of the shape border, in dp.

            Default: `2.0`.'
          maximum: 24
          minimum: 1
        color:
          type: string
          description: 'Hex value representing the color for the text within the shape item.

            Default: `#1a1a1a`.'
          example: '#1a1a1a'
        fillColor:
          type: string
          description: 'Fill color for the shape.

            Hex values: `#f5f6f8` `#d5f692` `#d0e17a` `#93d275` `#67c6c0` `#23bfe7` `#a6ccf5` `#7b92ff` `#fff9b1` `#f5d128` `#ff9d48` `#f16c7f` `#ea94bb` `#ffcee0` `#b384bb` `#000000`

            Default: #ffffff.'
          example: '#8fd14f'
        fillOpacity:
          type: string
          description: "Opacity level of the fill color.\nPossible values: any number between `0` and `1`, where:\n`0.0`: the background color is completely transparent or invisible.\n`1.0`: the background color is completely opaque or solid.\n\n Default: `1.0` if `fillColor` is provided, `0.0` if `fillColor` is not provided.\n"
          maximum: 1
          minimum: 0
        fontFamily:
          type: string
          description: 'Defines the font type for the text in the shape item.

            Default: `arial`.'
          enum:
          - arial
          - abril_fatface
          - bangers
          - eb_garamond
          - georgia
          - graduate
          - gravitas_one
          - fredoka_one
          - nixie_one
          - open_sans
          - permanent_marker
          - pt_sans
          - pt_sans_narrow
          - pt_serif
          - rammetto_one
          - roboto
          - roboto_condensed
          - roboto_slab
          - caveat
          - times_new_roman
          - titan_one
          - lemon_tuesday
          - roboto_mono
          - noto_sans
          - plex_sans
          - plex_serif
          - plex_mono
          - spoof
          - tiempos_text
          - formular
        fontSize:
          type: string
          description: 'Defines the font size, in dp, for the text on the shape.

            Default: `14`.'
          maximum: 288
          minimum: 10
        textAlign:
          type: string
          description: 'Defines how the sticky note text is horizontally aligned.

            Default: `center`.'
          enum:
          - left
          - right
          - center
        textAlignVertical:
          type: string
          description: 'Defines how the sticky note text is vertically aligned.

            Default: `top`.'
          enum:
          - top
          - middle
          - bottom
    TextStyle:
      type: object
      description: Contains information about the style of a text item, such as the fill color or font family.
      properties:
        color:
          type: string
          description: 'Hex value representing the color for the text within the text item.

            Default: `#1a1a1a`.'
          example: '#1a1a1a'
        fillColor:
          type: string
          description: 'Background color of the text item.

            Default: `#ffffff`.'
          example: '#e6e6e6'
        fil

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/miro/refs/heads/main/openapi/miro-bulk-operations-api-openapi.yml