We recently added the workspace_ids argument to the boards object that filters boards within the specified workspace(s). Read more about the workspace_ids argument in our boards doc!
Last week, we started validating inputs on the phone column. Many of our devs faced issues, so we have temporarily shut off the phone column validation to give extra time to adjust to the change.
We will turn the validation back on beginning December 1st, 2022. The API will then validate whether or not the phone number is valid, includes a 2-letter country code, and matches the specified country code's number criteria.
You can refer to our phone column doc to see up-to-date examples! Please follow this structure to avoid losing data and errors starting December 1st.
Starting April 27th 2023, the users query will work with a page argument when a limit is provided. If the page argument is not provided, it will default to page: 1. This will work in the same way as it does today with the boards or items queries.
There has been a change in the complexity points usage for the teams object.
In the past, the complexity usage for teams was working as if each query was retrieving information from only one team.
The complexity is now based on the amount of teams that are queried. If IDs are not provided, the query will assume that there are 1000 teams, each with 1000 users being retrieved.
We suggest using the IDs of the different teams in your queries if you are running into complexity points usage issues. You can use one query to get your teams’ IDs and a second one to query for data from those teams, using the IDs as a parameter.
We will remove references to this feature in our docs, but if you spot a mention that we missed shoot us a message at [email protected].
Examples of unsupported queries
Queries without the ids argument:
query {
items (limit:1000) {
id
name
}
}
Queries with more than 100 IDs:
query {
items (ids:[1, 2, 3, 4, 5...99, 100, 101, 102]) {
id
name
}
}
How should I respond to this change?
You can adjust your queries in these main ways:
Return items on a specific board only
Nesting the items query inside Boards
Looping through the boards on your account
Query less than 100 items at a time
Return items on a specific board
You can return items only on a specific board, by ID. Here's an example:
query {
boards (ids:12345) {
id
name
items (limit:100) {
id
name
}
}
}
Nesting the items query inside Boards
Queries without Items in the root will still work, so you can nest the items query within a boards query. Here's an example:
query {
boards (limit:10) {
items (limit:1000) {
id
name
}
}
}
Looping through the boards on your account
If you are looking to return all items across your account, it is best practice to first query for the IDs of all the boards, and then get items a few boards at a time. For example:
First, query for the IDs of all the boards.
query {
boards (limit:50) {
id
}
}
Second, query and loop through each board in the first query.
query {
boards (ids: 1234567890) {
items (limit:50) {
name
id
}
}
}
Return less than 100 items at a time
Finally, you can continue to use the same query but restrict the query to a list of item IDs. Here's an example:
query {
items (ids: [1, 2, 3, 4, 5... 99]) {
name
column_values {
id
value
}
}
}
This is a reminder that starting October 18th, 2022, we'll be validating the JSON you send to update column values. Sending unexpected values will return an error. For example:
To update an hour column, you must send the hour and minute in 24-hour format.
"{\"hour\":16,\"minute\":42}"
If you send an unexpected value, for example:
"{\"hour\":false}"
You will see an error saying that "hour" should be a number and that the "minute" key is missing.
Validation will not only check for expected keys, but for types as well. Sending a string when an integer is expected will result in an error, for example.
How should I respond to this change?
If you are updating column values, you should confirm you are sending expected values by comparing them to our Column Types Reference
We have moved our documentation to be hosted on developer.monday.com. This change will provide you with a more unified experience when navigating and searching through our API and App Framework documentation.
The old URLs (api.developer.monday.com and apps.developer.monday.com) will no longer work.
Be sure to update your bookmarks accordingly.
If you see any broken links, please let us know at [email protected]!