In API versions 2024-07 and later, error codes will contain the data object. This change applies to all errors, even those with null values.

{
  "data": {
    "me": null
  },
  "error_message": "User unauthorized to perform action",
  "error_code": "UserUnauthorizedException",
  "error_data": {},
  "status_code": 403,
  "account_id": 123456
}

At the end of March, we added a new app_subscription_operations query and mutation to API version 2024-04. App developers using feature-based pricing can use this API to track and update operation usage, as needed.

Query

The new app_subscription_operations query returns app subscription data, the current operation counter value, as well as the name of each operation. You can read more about the new query here.

query {
	app_subscription_operations (kind: "image_scan") {
    counter_value
    period_key
   }
 }

Mutation

The new increase_app_subscription_operations mutation allows you to increase the counter for a specific operation. This can be used to track the number of operations each account uses, per operation, per billing period. You can read more about the new mutation here.

 mutation {
   increase_app_subscription_operations(kind: "image_scan", increment_by: 2){
      counter_value
   }
 }

In API versions 2024-04 and later, you can create a doc column using the create_column mutation.

mutation {
  create_column (board_id: 1234567890, column_type: doc, title: "Task info") {
    id
  }
}
let query = 'mutation {  create_column (board_id: 1234567890, column_type: doc, title: "Task info") { id }}';

fetch ("https://api.monday.com/v2", {
  method: 'post',
  headers: {
    'Content-Type': 'application/json',
    'Authorization' : 'YOUR_API_KEY_HERE'
   },
   body: JSON.stringify({
     'query' : query
   })
  })
   .then(res => res.json())
   .then(res => console.log(JSON.stringify(res, null, 2)));

In API versions 2024-04 and later, you can filter the date column with multiple exact dates. In the query, your compare value must include:

  • Each date in "YYYY-MM-DD" format, separated by commas
  • One "EXACT" compare value for each date (e.g., if you have three dates, you need three "EXACT" compare values), separated by commas
query {
  boards(ids: 1234567890) {
    items_page(
      query_params: {rules: [ {
        column_id: "date",
        compare_value: ["EXACT", "2024-04-01", "EXACT", "2023-04-01"],
        operator: any_of}]}
    ) {
      items {
        id
        name
      }
    }
  }
}

We recently introduced a change to all API versions that fixes an earlier regression. Mutations with the column_values argument now accept both string IDs and integers. Previously, the argument only accepted integers.

This update impacts the following columns:

Both code samples below are examples of correct usage:

mutation {
  change_multiple_column_values (
    item_id:9876543210, 
    board_id:1234567890, 
    column_values: "{\"dropdown\": {\"ids\":[\"1\"]}}") {
    id
  }
}
mutation {
  change_multiple_column_values (
    item_id:9876543210, 
    board_id:1234567890, 
    column_values: "{\"dropdown\": {\"ids\":[1]}}") {
    id
  }
}

We're excited to announce the new platform API CLI and client SDK that make interacting with the API easier than ever!

CLI

The API JavaScript CLI breaks down the initial configuration for working with the platform API. It automates the setup of a development environment for working with the API and is designed to help developers quickly start projects with pre-configured tools and settings. You can access the CLI here.

SDK

The new API JavaScript SDK simplifies interactions with the platform API. It breaks down complex GraphQL queries by providing simple operations for widely used endpoints, like fetching board data and creating items. You can access the SDK here.

As part of a gradual multi-product migration, users will eventually be able to return the ID of the main workspace instead of null (read more here).

We added the is_default_workspace field to API versions 2024-04 and later to help identify which workspace is the main one. This field returns true if a workspace is the main one or false if it isn't.

query {
  workspaces {
    id
    is_default_workspace
    name
  }
}

We recently added the relative_to and position_relative_method arguments to the create_item mutation to specify the location of the new item.

  • relative_to: Accepts an item ID to specify which item to create the new one in relation to.
  • position_relative_method: Accepts enum values to specify if the new item should be created above or below the relative_to value.

These arguments are only available in API versions 2024-04 and later.

mutation {
  create_item (board_id: 1234567890, group_id: "group_one", item_name: "new item", position_relative_method: before_at, relative_to: 9876543210, column_values: "{\"date\":\"2023-05-25\"}") {
    id
  }
}

Our API documentation has a new start page! We built it to improve the navigation experience of our docs.

PS: This is part of a larger effort to improve the usability of our docs. If you have any feedback or a wishlist for our documentation, please share it in the developer community!