We previously announced the addition of the data
object to error codes in API versions 2024-07
and later. This change has been reverted and won't occur until version 2025-01
.
Changes to the ComplexityException
error's structure and error code were reverted to their original format. Check out the example below:
{
"error_code": "ComplexityException",
"status_code": 429,
"error_message": "Complexity budget exhausted, query cost 30001 budget remaining 19986 out of 1000000 reset in 3 seconds",
"error_data": {},
"errors": [
"Complexity budget exhausted, query cost 30001 budget remaining 19986 out of 1000000 reset in 3 seconds"
],
"account_id": 1234567890
}
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.
API version [2024-04]
contains the following breaking changes to the app_installs
object:
- The
[app_id]
field type will change fromInt!
toID!
- On the
[app_install_user]
field, theid
field will change fromInt
toID
- On the
[app_install_account]
field, theid
field will change fromInt!
toID!
query {
app_installs (app_id: 123456, account_id: 98766543210) {
app_id
app_install_account {
id
}
app_install_user {
id
}
}
}
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 therelative_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
}
}