In the 2023-10 API release, we introduced the items_page object which utilizes cursor-based pagination to retrieve smaller groups of items from a large data set. This object must be nested inside of a boards query, so it has a high complexity cost.

To help reduce that cost, we created the next_items_page object which can be used at the root of your query to paginate through the data set. It takes both the cursor and limit arguments and retrieves the following page of items in the data set.

Now let's break it down a bit...

Say you only want to retrieve items with a blank status column from board 1234567890. This board contains thousands of items that cannot be retrieved simultaneously, so you can use cursor-based pagination.

The query below would return the ID and name of the first 50 items with a blank status column and a cursor value that represents the position in the data set after returning 50 items.

query {  
  boards (ids:1234567890) {  
    items_page (limit: 50, query_params: {rules: {column_id: "status", compare_value: [5], operator:any_of}}) {  
      cursor  
      items {  
        id  
        name  
      }  
    }  
  }  
}

You can then use the next_items_page object with the cursor argument from the first query to return the following 50 relevant items in the data set. After returning the next cursor value, you can continue paginating through the entire data set.

query {  
  next_items_page (limit: 50, cursor: "MSw5NzI4MDA5MDAsaV9YcmxJb0p1VEdYc1VWeGlxeF9kLDg4MiwzNXw0MTQ1NzU1MTE5") {  
    cursor  
    items {  
      id  
      name  
    }  
  }  
}

We have removed support for the text field on MirrorValue, DependencyValue, and BoardRelationValue column values. We have replaced it with the new display_value field to return text values for the connect boards, dependency, and mirror columns.

As part of the 2023-10 release, we created the text field on column_values to return the text values for each column. These calls have a high cost for the mirror, dependency, and connect board columns.

Therefore, we stopped supporting the text field and created the display_value field on these three column values only. These updates will help reduce the load by only returning the data when users actually need it.

The following example would return the mirror column display values (i.e., text values) on items 1234567890 and 9876543210.

query {  
  items (ids:[1234567890, 9876543210]) {  
    column_values {  
      ... on MirrorValue {  
        display_value  
      }  
    }  
  }  
}

We recently updated the DependencyValue implementation, so you can now return both the linked_items and the linked_item_ids for dependency columns when querying through column_values V2.

Please note that the DependencyValue implementation is only available in version 2023-10.

query {
  items (ids:[1234567890, 9876543210]) {
    column_values {
      ... on DependencyValue {
        linked_item_ids
        linked_items
      }
    }
  }
}

The new after_column_id argument on the create_column mutation allows you to specify which column to create the new one after. This argument is available in API versions 2023-07 and later. Check out our documentation for more info!

In the following code sample, the new status column would be created after the country column.

mutation{
  create_column(board_id: 1234567890, title:"Work Status", description: "This is my work status column", column_type:status, after_column_id: "country") {
    id
    title
    description
  }
}

Due to the new year's holiday, we are delaying the API versioning release dates – the last day you have to migrate your apps is now January 15th, 2024.

Thereofre, the following will happen on January 16th at 9:00 AM GMT:

  • Version 2024-01 will be released for preview
  • Version 2023-07 will be deprecated
  • You will no longer get 2023-07 as the default version when sending a request without a header

We previously announced an upgrade to the API playground when accessing it through your monday.com account, but those upgrades are now also available in our public API!

You can access the public playground here and entering your API access token. Happy testing!

We've added warning messages to a number of our API calls!

Our GraphQL API will now return an extensions object with a list of warnings, when you try using an object that is going to be deprecated or changed soon.

Please store these values to give clarity on what functions need to be changed. This is especially relevant for apps migrating to API version 2023-10.

📘

Note: Do not rely solely on warnings to understand what is updating – you should always use our API changelog and release notes as the source of truth.

Example usage

Let's say I use the items_by_column_values query, which will be deprecated in 2023-10:

query {
  items_by_column_values(board_id:12345, column_id:numbers, column_value:"5000") {
    id
    name
  }
}

The response will contain an extensions object, with a warning that this is being deprecated. It also contains metadata such as what part of my query is deprecated, and a code to explain the cause of the warning.

Here's what it looks like:

{
  "data": {
    "items_by_column_values": [
      {
        "id": "4579863854",
        "name": "Develop messaging"
      }
    ]
  },
  "extensions": {
    "warnings": [
      {
        "message": "Replaced by Query.items_page_by_column_values since 2023-10",
        "locations": [
          {
            "line": 2,
            "column": 3
          }
        ],
        "path": [
          "query",
          "items_by_column_values"
        ],
        "extensions": {
          "code": "deprecatedField",
          "typeName": "Query",
          "fieldName": "items_by_column_values"
        }
      }
    ]
  },
  "account_id": 12345
}

Have questions? Post them in our developer community!

Using the create_doc mutation, you can now create a new document in a workspace (not just a monday doc column)!

This mutation is available in API versions 2023-07 and later. Check it out!

mutation {  
  create_doc (location: {workspace: { workspace_id: 1234567, name:"New doc", kind: private}}) {  
    id  
  }  
}

We will be reindexing our API documentation search feature tonight at 11:00 PM CDT (4:00 AM UTC, 7:00 AM IDT on July 13th, 2023). During this period, the documentation and changelog search will not work. This update will not impact the API documentation itself.

We expect full functionality to be restored within 2 hours but will provide additional updates if the outage will last longer than expected.