🏷️ API version: 2025-10

You can now return additional data about apps via the API using the following new fields:

  • account_id
  • collaborators
  • created_by
  • description
  • permissions
  • slug
  • status
  • webhook_url
query {
  app (id: 123456) {
    account_id
    collaborators {
      id
      name
    }
    created_by
    description
    permissions
    slug
    status
    webhook_url
  }
}
🏷️ API version: 2025-10

You can now use the delete_widget mutation to delete a widget on a dashboard or board view via the API.

mutation {
  delete_widget (id: 12345)
}
{
  "data": {
    "delete_widget": true
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}
🏷️ API version: 2025-10

You can now update an existing column using the new update_column mutation.

mutation{
  update_column(
    board_id: 1234567890, 
    id: "status", 
    title: "Work Status", 
    revision: "a73d19e54f82c0b7d1e348f5ac92b6de", 
    description: "This is my updated work status column", 
    column_type:status
	) {
    id
    title
    description
  }
}
{
  "data": {
    "update_column": {
      "id": "status",
      "title": "Work Status",
      "description": "This is my work status column"
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}
🏷️ API version: 2025-10

The platform API now supports boards with multiple levels of subitems and rollup columns that summarize values across child items. This guide provides a detailed explanation of the functionality and how to adapt your queries

Initially, only project boards within the Portfolio solution will support this board layout.

Related API schema changes

Backwards compatibility

No breaking changes. Until 2026-04, boards returns only classic boards by default. Use the hierarchy_types argument to include multi-level boards.

Other changes

The behavior of some endpoints depends on the board type (e.g., on multi-level boards, rollup columns on parent items are read-only when subitems exist). See the full guide for details.

🏷️ API version: 2025-10

The settings_str field on columns queries is now deprecated. You can use the new settings field to return the column's settings as a JSON object.

query {
  boards (ids: 1234567890) {
    columns {
      settings
    }
  }
}
{
  "data": {
    "boards": [
      {
        "columns": [
          {
            "settings": {}
          },
          {
            "settings": {}
          },
          {
            "settings": {
              "labels": [
                {
                  "id": 0,
                  "color": 0,
                  "label": "Working on it",
                  "index": 0,
                  "is_done": false,
                  "is_deactivated": false
                },
                {
                  "id": 1,
                  "color": 1,
                  "label": "Done",
                  "index": 2,
                  "is_done": false,
                  "is_deactivated": false
                },
                {
                  "id": 2,
                  "color": 2,
                  "label": "Stuck",
                  "index": 1,
                  "is_done": false,
                  "is_deactivated": false
                }
              ]
            }
          },
          {
            "settings": {}
          },
          {
            "settings": {}
          },
          {
            "settings": {
              "hide_footer": false
            }
          },
          {
            "settings": {}
          }
        ]
      }
    ]
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}
🏷️ API version: 2025-10

You can now query a column's settings, revision data, and capabilities with the following new fields:

  • settings
  • revision
  • capabilities
query {
  boards (ids: 1234567890) {
    columns {
      settings
      revision
      capabilities {
        calculated {
          function
          calculated_type
        }
      }
    }
  }
}
🏷️ API version: 2025-10

Using the new validations endpoint, you can now query a board's required field columns. This query returns a JSON object containing metadata about a collection of required field columns.

query {
  validations(
    id: 1234567890
	) {
    required_column_ids
		rules
  }
}

You can also add and remove required field columns via the API using the following mutations:

🏷️ API version: 2025-10

You can now create up to 25 document blocks in bulk with the create_doc_blocks mutation.

mutation {
  create_doc_blocks(
    docId: 12345
    blocksInput: [
      {
        text_block: {
          text_block_type: QUOTE
          delta_format: [
            {
              insert: {
                text: "The best way to predict the future is to create it."
              }
              attributes: {
                italic: true
                color: "#666666"
              }
            }
            {
              insert: {
                text: "Peter Drucker"
              }
              attributes: {
                bold: true
                color: "#999999"
              }
            }
          ]
        }
      }
      {
        text_block: {
          text_block_type: LARGE_TITLE
          delta_format: [
            {
              insert: {
                text: "This quote highlights the power of action and ownership."
              }
            }
          ]
        }
      }
      {
        notice_box_block: {
          theme: TIPS
        }
      }
      {
        list_block: {
          list_block_type: BULLETED_LIST
          delta_format: [
            {
              insert: {
                text: "Set clear objectives"
              }
            }
          ]
        }
      }
      {
        list_block: {
          list_block_type: BULLETED_LIST
          delta_format: [
            {
              insert: {
                text: "Take small, consistent steps"
              }
            }
          ]
        }
      }
      {
        list_block: {
          list_block_type: BULLETED_LIST
          delta_format: [
            {
              insert: {
                text: "Review and adjust regularly"
              }
            }
          ]
        }
      }
      {
        page_break_block: {}
      }
    ]
  ) {
    doc_id
    id
    type
    position
    content {
      ... on TextBlockContent {
        delta_format {
          insert {
            text
          }
        }
      }
      ... on ListBlockContent {
        delta_format {
          insert {
            text
          }
        }
      }
    }
  }
}
{
  "data": {
    "create_doc_blocks": [
      {
        "doc_id": "12345",
        "id": "11111111-1111-1111-1111-111111111111",
        "type": "quote",
        "position": 100000,
        "content": [
          {
            "delta_format": [
              {
                "insert": {
                  "text": "The best way to predict the future is to create it."
                }
              },
              {
                "insert": {
                  "text": "Peter Drucker"
                }
              }
            ]
          }
        ]
      },
      {
        "doc_id": "12345",
        "id": "22222222-2222-2222-2222-222222222222",
        "type": "large title",
        "position": 141250,
        "content": [
          {
            "delta_format": [
              {
                "insert": {
                  "text": "This quote highlights the power of action and ownership."
                }
              }
            ]
          }
        ]
      },
      {
        "doc_id": "12345",
        "id": "33333333-3333-3333-3333-333333333333",
        "type": "notice box",
        "position": 189875,
        "content": [
          {}
        ]
      },
      {
        "doc_id": "12345",
        "id": "44444444-4444-4444-4444-444444444444",
        "type": "bulleted list",
        "position": 235420,
        "content": [
          {
            "delta_format": [
              {
                "insert": {
                  "text": "Set clear objectives"
                }
              }
            ]
          }
        ]
      },
      {
        "doc_id": "12345",
        "id": "55555555-5555-5555-5555-555555555555",
        "type": "bulleted list",
        "position": 287965,
        "content": [
          {
            "delta_format": [
              {
                "insert": {
                  "text": "Take small, consistent steps"
                }
              }
            ]
          }
        ]
      },
      {
        "doc_id": "12345",
        "id": "66666666-6666-6666-6666-666666666666",
        "type": "bulleted list",
        "position": 346780,
        "content": [
          {
            "delta_format": [
              {
                "insert": {
                  "text": "Review and adjust regularly"
                }
              }
            ]
          }
        ]
      },
      {
        "doc_id": "12345",
        "id": "77777777-7777-7777-7777-777777777777",
        "type": "page break",
        "position": 412555,
        "content": [
          {}
        ]
      }
    ]
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}
🏷️ API version: 2025-10

Using the new objects endpoint, you can now query monday.com objects. Objects are a core component of the platform API that represent a generic item within the monday.com platform.

This query returns a JSON object containing metadata about a collection of objects.

query {
  objects(
    limit: 4, 
    state: ACTIVE, 
    order_by: CREATED_AT
  ) {
    id
    name
    owners {
      id
      name
    }
  }
}

You can also create, update, and delete objects via the API using the following mutations: