Learn how to query monday.com board or item updates using the platform API
Updates contain notes and information added to items outside of their columns. They allow users to organize communication across their organization and respond asynchronously. Many users rely on the updates section as their primary form of communication within the platform.
Users can do things like react and reply to updates, attach files, pin them to the top, and see who has viewed an update.
Queries
Required scope: updates:read
- Limit: up to 10,000 updates
- Querying directly at the root returns all updates across an account
- Can also be nested inside a
boards
oritems
query to return updates from a specific board or item - Returns an array containing metadata about one or a collection of updates
- Updates are returned in descending order (newest ones first)
query {
boards (ids: 1234567890) {
updates (limit: 100) {
body
id
created_at
creator {
name
id
}
}
}
}
let query = "query { boards (ids: 1234567890) { updates (limit: 100) { body id created_at creator { name 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)));
Arguments
You can use the following argument(s) to reduce the number of results returned in your updates
query.
Argument | Description |
---|---|
ids [ID!] | The specific ID(s) to return updates for. |
limit Int | The number of updates to return. The default is 25. |
page Int | The page number to get. Starts at 1. |
Fields
You can use the following field(s) to specify what information your updates
query will return. Please note that some fields will have their own fields.
Field | Description | Supported fields |
---|---|---|
assets [Asset] | The update's assets/files. | created_at Date file_extension String! file_size Int! id ID! name String! original_geometry String public_url String! uploaded_by User! url String! url_thumbnail String |
body String! | The update's HTML-formatted body. | |
created_at Date | The update's creation date. | |
creator User | The update's creator. | |
creator_id String | The unique identifier of the update's creator. | |
edited_at Date! | The date the update's body was last edited. Please note this field is only available in API versions 2025-01 and later. | |
id ID! | The update's unique identifier. | |
item Item | The update's item. | |
item_id String | The update's item ID. | |
likes [Like!]! | The update's likes. | |
pinned_to_top [UpdatePin!]! | The update's pin to top data. | item_id Int! |
replies [Reply!] | The update's replies. | body String! created_at Date creator User creator_id String id ID! text_body String updated_at Date |
text_body String | The update's text body. | |
updated_at Date | The date the update was last edited. | |
watchers [Watcher!]! | The update's viewers. Please note this field is only available in API versions 2025-01 and later. | medium String! user User user_id ID! |
Mutations
Required scope: updates:write
Create an update
The create_update
mutation allows you to add an update to an item via the API. You can also specify what fields to query back from the new update when you run the mutation.
mutation {
create_update (item_id: 1234567890, body: "This update will be added to the item") {
id
}
}
let query = "mutation {create_update (item_id: 1234567890, body: \"This update will be added to the item\") { 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)));
Arguments
You can use the following argument(s) to define the new update's characteristics.
Argument | Description |
---|---|
body String! | The update's text. |
item_id ID | The item's unique identifier. |
parent_id ID | The parent update's unique identifier. This can be used to create a reply to an update. |
Like an update
The like_update
mutation allows you to like an update via the API. You can also specify what fields to query back from the update when you run the mutation.
mutation {
like_update (update_id: 1234567890) {
id
}
}
let query = "mutation { like_update (update_id: 1234567890) { 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)));
Arguments
You can use the following argument(s) to define which update to like.
Argument | Description |
---|---|
update_id ID | The unique identifier of the update to like. |
Unlike an update
The unlike_update
mutation allows you to unlike an update via the API. You can also specify what fields to query back from the update when you run the mutation.
mutation {
unlike_an_update (update_id: 1234567890) {
creator_id
item_id
}
}
let query = "mutation { unlike_update (update_id: 1234567890) { creator_id item_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)));
Arguments
You can use the following argument(s) to define which update to pin.
Argument | Description |
---|---|
update_id ID! | The unique identifier of the update to unlike. |
Edit an update
The edit_update
mutation allows you to edit an update via the API. You can also specify what fields to query back from the update when you run the mutation.
mutation {
edit_update (id: 1234567890, body: "The updated text!") {
creator_id
item_id
}
}
let query = "mutation { edit_update (id: 1234567890, body: \"The updated text!\" ) { creator_id item_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)));
Arguments
You can use the following argument(s) to define which update to pin.
Argument | Description |
---|---|
body String! | The update's new text. |
id ID! | The unique identifier of the update to edit. |
Pin an update
The pin_to_top
mutation allows you to pin an update to the top of an item via the API. You can also specify what fields to query back from the update when you run the mutation.
mutation {
pin_to_top (id: 1234567890, item_id: 9876543210) {
creator_id
body
}
}
let query = "mutation { pin_to_top (id: 1234567890, item_id: 9876543210) { creator_id body }}";
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)));
Arguments
You can use the following argument(s) to define which update to pin.
Argument | Description |
---|---|
id ID! | The unique identifier of the update to pin. |
item_id ID | The item's unique identifier. |
Unpin an update
The unpin_from_top
mutation allows you to unpin an update from the top of an item via the API. You can also specify what fields to query back from the update when you run the mutation.
mutation {
unpin_from_top (id: 1234567890, item_id: 9876543210) {
creator_id
body
}
}
let query = "mutation { unpin_from_top (id: 1234567890, item_id: 9876543210) { creator_id body }}";
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)));
Arguments
You can use the following argument(s) to define which update to unpin.
Argument | Description |
---|---|
id ID! | The unique identifier of the update to unpin. |
item_id ID | The item's unique identifier. |
Clear an item's updates
The clear_item_updates
mutation allows you to clear all updates on a specific item, including replies and likes, via the API. You can also specify what fields to query back from the update when you run the mutation.
mutation {
clear_item_updates (item_id: 1234567890) {
id
}
}
let query = "mutation { clear_item_updates (item_id: 1234567890) { 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)));
Arguments
You can use the following argument(s) to define which item's updates to clear.
Arguments | Description |
---|---|
item_id ID! | The item's unique identifier. |
Delete an update
The delete_update
mutation allows you to delete an item's update via the API. You can also specify what fields to query back from the update when you run the mutation.
mutation {
delete_update (id: 1234567890) {
id
}
}
let query = "mutation { delete_update (id: 1234567890) { 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)));
Arguments
You can use the following argument(s) to define which updates to delete.
Argument | Description |
---|---|
id ID! | The update's unique identifier. |
Join our developer community!
We've created a community specifically for our devs where you can search through previous topics to find solutions, ask new questions, hear about new features and updates, and learn tips and tricks from other devs. Come join in on the fun! 😎