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",
}
}
}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
}
}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
}
}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
}
}
}
}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
}
}
}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
}
}
} 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"
}
]
}
}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.
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 (types: board_relation) {
value
id
}
}
}
}
}Response
{
"data": {
"boards": [
{
"items_page": {
"items": [
{
"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 (types: board_relation) {
value
id
}
}
}
}
}Response
{
"data": {
"boards": [
{
"items_page": {
"items": [
{
"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 (types: board_relation) {
value
... on BoardRelationValue {
linked_item_ids
linked_items {
name
updated_at
}
}
id
}
}
}
}
}Response
{
"data": {
"boards": [
{
"items_page": {
"items": [
{
"column_values": [
{
"value": null,
"linked_item_ids": [
"9876543210"
],
"linked_items": [
{
"name": "Item 4",
"updated_at": "2023-08-29T15:38:11Z"
}
],
"id": "connect_boards"
}
]
}
]
}
}
]
}
}