🏷️ API version: 2025-10

You can now read a user's notification settings across all channels with the notifications_settings object.

query {
  notifications_settings(
    channels: [Email, Slack]
    scope_type: AccountNewUserDefaults
  ) {
    kind
    description
    is_for_admins_only
    is_for_non_guests_only
    channels {
      name
      enabled
      editable_status
    }
  }
}
{
  "data": {
    "notifications_settings": [
      {
        "kind": "invitation",
        "description": "Invitations to workspace, board, doc, item, or team",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "notify_auth_domain_signup",
        "description": "Signed up with an email address from my account domain",
        "is_for_admins_only": true,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "ask_for_permissions",
        "description": "Requests access to boards & dashboards",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "invitation_requests_admins_reminder_setting",
        "description": "Pending invite requests when invite requests have been pending for over 7 days",
        "is_for_admins_only": true,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "mention",
        "description": "Mentioned me in an update or reply",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": true,
            "editable_status": "Editable"
          }
        ]
      },
      {
        "kind": "notify_invitee_join",
        "description": "Signed up after I have invited them",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "dlp_file_deleted_setting",
        "description": "File has been deleted for breaching data policies",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "new_post_on_owned_item",
        "description": "Wrote an update on an item I own",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "like_your_post",
        "description": "Reactions to my update",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "daily_digest",
        "description": "My highlights",
        "is_for_admins_only": false,
        "is_for_non_guests_only": true,
        "channels": [
          {
            "name": "Email",
            "enabled": false,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "dlp_update_deleted_setting",
        "description": "Update has been deleted or redacted for breaching data policies",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "request_to_install_and_purchase_apps",
        "description": "Requests installation to install & purchase apps",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "notify_invitee_didnt_join",
        "description": "Didn’t sign up after I have invited them",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "assign",
        "description": "Assigned me to an item",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": true,
            "editable_status": "Editable"
          }
        ]
      },
      {
        "kind": "new_post_on_subscribed_item",
        "description": "Wrote an update on an item I’m subscribed to",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "automation",
        "description": "Automations via an automation",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "api",
        "description": "Platform API custom notifications using the GraphQL API",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "automation_product",
        "description": "Automations with a \"notify\" step this does not include \"send an email\" automations",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "reply_your_reply",
        "description": "Replied to a thread I commented on or reacted to",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "automation_system",
        "description": "Automation failures when automations don’t run as expected",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "reply_your_post",
        "description": "Replied to an update I wrote",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": true,
            "editable_status": "Editable"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      },
      {
        "kind": "template_update",
        "description": "Template changes by the template owner",
        "is_for_admins_only": false,
        "is_for_non_guests_only": false,
        "channels": [
          {
            "name": "Email",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          },
          {
            "name": "Slack",
            "enabled": false,
            "editable_status": "AllRelatedNotificationsDontHaveChannel"
          }
        ]
      }
    ]
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}
🏷️ API version: 2025-10

Using the existing create_column mutation, you can now create connect board and mirror columns via the API. You can query the new get_column_type_schema object to retrieve the available properties for each column type.

mutation {
  create_column(
    board_id: 1234567890
    title: "Related items (Board 9876543210)"
    column_type: board_relation
    defaults: {
      boardIds: [9876543210]
      allowMultipleItems: true
      allowCreateReflectionColumn: true
    }
  ) {
    id
    title
    type
  }
}
mutation {
  create_column(
    board_id: 1234567890
    title: "Test Column"
    column_type: mirror
    defaults: {
      relation_column: {
        board_relation: true
      }
      displayed_linked_columns: [
        { 
          board_id: "9876543210"
          column_ids: ["status"]
        }
      ]
    }
  ) {
    id
    title
    type
  }
}
🏷️ API version: 2025-10

You can now retrieve a column’s type-specific schema using the get_column_type_schema object. The response is a JSON object that defines the schema used for creating and updating columns.

query {
  get_column_type_schema (type: board_relation)
}
{
  "data": {
    "get_column_type_schema": {
      "schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "settings": {
            "type": "object",
            "description": "Column specific settings",
            "properties": {
              "allowCreateReflectionColumn": {
                "type": "boolean",
                "description": "Whether to allow creation of reflection columns"
              },
              "allowMultipleItems": {
                "type": "boolean",
                "description": "Whether to allow selection of multiple items"
              },
              "boardIds": {
                "type": "array",
                "description": "Array of related board IDs",
                "items": {
                  "type": "integer"
                }
              },
              "boardId": {
                "type": "integer",
                "description": "Default board ID for the relation"
              },
              "item_ids": {
                "type": "array",
                "description": "Array of related item IDs",
                "items": {
                  "type": "integer"
                }
              }
            },
            "additionalProperties": false
          }
        }
      }
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}
🏷️ API version: 2025-10

You can now use the import_doc_from_html mutation to convert HTML content to a new monday doc. The content is then parsed and converted to the corresponding document block type.

mutation {
  import_doc_from_html(
    html: """
<!DOCTYPE html>
<html>
  <head>
    <title>Test Doc</title>
  </head>
  <body>
    <h1>Hello World</h1>
    <p>This is a <strong>fake HTML</strong> doc for testing.</p>
    <ul>
      <li>One</li>
      <li>Two</li>
      <li>Three</li>
    </ul>
  </body>
</html>
    """,
    workspaceId: 1234567890,
    title: "New Doc from HTML",
    folderId: 9876543210
  ) {
    error
    success
    doc_id
  }
}
🏷️ API version: 2025-10

You can now use the add_content_to_doc_from_markdown mutation to add markdown content to an existing monday doc. The content is then parsed and converted to the corresponding document block type.

mutation {
  add_content_to_doc_from_markdown(
    docId: 123456, 
    markdown: "# Markdown Example\n\n**Bold text**, *italic text*, and `inline code`.\n\n- Item one\n- Item two\n\n> A simple blockquote."
  ) {
    success
    block_ids
    error
  }
}
🏷️ API version: 2025-10

We've updated the format for max complexity per request errors. If you make a request that is more then the allowed complexity, you'll now receive the following error:

{
  "errors": [
    {
      "message": "Max allowed complexity per request exceeded",
      "extensions": {
        "code": "REQUEST_MAX_COMPLEXITY_EXCEEDED",
        "cost": 5,
        "max_complexity_per_request": 5000000
      }
    }
  ],
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}
🏷️ API version: 2025-10

We’ve improved how query complexity is calculated and charged:

  • Complexity is now estimated based on the variables you provide. We charge what we think the query will cost, and once the results are returned, you are reimbursed or charged according to the actual cost. If needed, adjustments are made from the following minute’s allowance.
  • Failed queries/errors now cost significantly less.
  • The complexity error format has been updated (read more here).

For many queries, this means that you'll get points back rather than being charged more. These changes make complexity easier to predict and better aligned with API best practices.

🏷️ API version: 2025-10

You can now use the convert_board_to_project mutation to convert an existing board to a project board via the API. This mutation is part of a monday.com portfolio solution and only available on Enterprise plans.

mutation {
  convert_board_to_project(
    input: {
      board_id: 1234567890
      column_mappings: {
        project_status: "status_column_id"
        project_owner: "person_column_id"
        project_timeline: "date_column_id"
      }
      callback_url: "https://your-callback-url.com"
    }
  )  {
    success
    message
    process_id
    projectId
  } 
}