API version: 2025-07, 2025-04, 2025-01, and 2024-10

ColumnValueException errors return the column_type property to indicate the type of column that caused the error. Previously, this property returned the column type with the word "Column" appended:

For example: "ColorColumn", "StatusColumn", "DateColumn"

After this update, the column_type property now returns just the column type without "Column" appended. You can find the full list of supported column types here.

For example: "color", "status", "date"

Here’s an example of an updated error response:

{
  "message": "invalid value - label does not exist in column. Please check our API documentation for the correct data structure for this column. https://developer.monday.com/api-reference/docs/change-column-values",
  "locations": [
    {
      "line": 1, 
      "column": 10
    }
    ],
  "path": [
    "change_column_value"
    ],
  "extensions": {
    "code": "ColumnValueException", 
    "status_code": 200, 
    "error_data": {
      "column_type": "color", 
    }
  }
}
API version: 2025-07

You can now create a workspace within a specific product by using the new account_product_id argument in the create_workspace mutation.

mutation {
  create_workspace (name:"New Workspace", kind: open, description: "This is a new workspace in the CRM product.", account_product_id: 505616) {
    id
    description
  }
}
API version: 2025-07

You can now create empty boards using the new empty argument on the create_board mutation. When used, this creates a new board without any items in the default group.

mutation {
  create_board (empty:true, workspace_id:123456, board_kind:public, board_name:"New board") {
    id
  }
}
API version: 2025-04

You can now query apps built with the monday.com apps framework using the new app object. This query retrieves metadata about your apps and their features.

You can query it directly at the root or nest it within a platform_api query to retrieve API consumption data for the account's top six apps.

query {
  platform_api {
    daily_analytics {
      by_app {
        app {
          name
          features {
            type
            name
          }
          id
          api_app_id
          state
        }
        usage
      }
    }
  }
}
API version: 2025-04

You can now query your account's daily API consumption using the new platform_api object. This object includes fields that provide insights into your account's daily API call limit, usage, and top contributors.

query {
  platform_api {
    daily_analytics {
      by_day { 
        day
        usage
      }
      by_app {
        app {
          name
        }
        api_app_id
        usage
      }
      by_user {
        user {
          name
        }
        usage
      }
      last_updated
    }
  }
}
API version: 2025-04

You can now update a user's custom role using the role_id argument on the update_users_role mutation. You can obtain available role_id values by querying the new account_roles type.

Custom roles are only available on Enterprise plans.

mutation {
  update_users_role (user_ids: [12345, 54321], role_id: "5") {
    updated_users {
      name
    }
    errors {
      user_id
      code
      message
    }
  }
} 
API version: 2025-04

You can now query an account's roles through the new account_roles object. This query returns metadata about an account's user roles (both default and custom).

query {
  account_roles {
    id
    name
    roleType
  }
}
{
  "data": {
    "account_roles": [
      {
        "id": "1",
        "name": "admin",
        "roleType": "basic_role"
      },
      {
        "id": "2",
        "name": "member",
        "roleType": "basic_role"
      },
      {
        "id": "3",
        "name": "view_only",
        "roleType": "basic_role"
      },
      {
        "id": "4",
        "name": "guest",
        "roleType": "basic_role"
      }
    ]
  }
}
API version: 2024-10 and later

We increased the maximum dimensions of workdoc tables. You can now create tables up to 25 rows tall and 10 columns wide.

Example query:

mutation {
  create_doc_block (
    type: table, 
    doc_id: 500152767, 
    content: "{\"column_count\": 10, \"row_count\": 25}"
  ) {
    id
  }
}

We delivered this feature because we got multiple requests for it from our developer community. If you have a feature request, submit it to us through the developer's category.

API version: 2025-04

The value field for connect boards, dependency, and subtask columns will now return null instead of including linked item IDs and their last updated timestamp. This change improves overall column values performance.

You can retrieve this information by querying the relevant fields directly (read more below).

Examples

The following examples show the same query's behavior before and after this change.

Previous behavior (2025-01 and earlier)

Query

query {  
  boards(ids: 1234567890) {  
    items_page {  
      items {  
        column_values(ids: ["connect_boards"]) {  
          value  
          id  
        }  
      }  
    }  
  }  
}

Response

...
					{
              "column_values": [
                {
                  "value": "{\"changed_at\":\"2025-03-18T18:27:14.832Z\",\"linkedPulseIds\":[{\"linkedPulseId\":9876543210}]}",
                  "id": "connect_boards"
                }
              ]
            },
...

New behavior (2025-04 onward)

Query

query {  
  boards(ids: 1234567890) {  
    items_page {  
      items {  
        column_values(ids: ["connect_boards"]) {  
          value  
          id  
        }  
      }  
    }  
  }  
}

Response

...
            },
            {
              "column_values": [
                {
                  "value": null,
                  "id": "connect_boards"
                }
              ]
            },
...

How to retrieve linked item IDs and their timestamps

To retrieve the missing data, query the linked_items and linked_item_ids fields directly as shown below.

query {  
  boards(ids: 1234567890) {  
    items_page {  
      items {  
        column_values(ids: ["connect_boards"]) {  
          value  
          ... on BoardRelationValue {  
            linked_item_ids  
            linked_items {
              name
              updated_at
            }
          }  
          id  
        }  
      }  
    }  
  }  
}

Response

...
            {
              "column_values": [
                {
                  "value": null,
                  "linked_item_ids": [
                    "9876543210"
                  ],
                  "linked_items": [
                    {
                      "name": "Item 4",
                      "updated_at": "2023-08-29T15:38:11Z"
                    }
                  ],
                  "id": "connect_boards"
                }
              ]
            },
...
API version: 2025-04

We've recently added two new fields to the users object, making it easier to query and manage custom fields in the user profile:

  1. custom_field_metas: Retrieves metadata about the custom field, including its type, description, and whether or not it is editable
  2. custom_field_values: Fetches the values users input into the custom field

The example below retrieves the custom fields' type, description, id, and editability using the custom_field_metas field. It also retrieves the fields' meta ID and value using the custom_field_values field.

query {
  users (ids: 1234567) {
    custom_field_metas { 
      field_type
      description
      id 
      editable
    }
    custom_field_values {
      custom_field_meta_id
      value
    }
  }
}