Groups
Items are grouped together in units called groups. Each board contains one or multiple groups, and each group can hold one or many items.
You can learn more about this object type here.
Groups Queries
Required scope: boards:read
Groups are available for querying through parent items. They must be nested within another query, like a board or an item. You cannot use them at the root of your query.
Querying groups will return either one or a collection of groups on a specific board.
query {
boards (ids: 157244624) {
groups (ids: status) {
title
color
position
}
}
}
let query = "query { boards (ids: 157244624) { groups (ids: status){ title color position }}}";
fetch ("https://api.monday.com/v2", {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization' : 'YourSuperSecretAPIkey'
},
body: JSON.stringify({
query : query
})
})
.then(res => res.json())
.then(res => console.log(JSON.stringify(res, null, 2)));
curl --location --request POST 'https://api.monday.com/v2' \
--header 'Authorization: YourSuperSecretAPIkey' \
--header 'Content-Type: application/json' \
--data-raw '{"query":"query { boards (ids: 157244624) { groups (ids: status){ title color position }}}"}'
Fields
The following fields will determine the data returned from your groups query.
Field | Field Description | Support Arguments |
---|---|---|
archived | Whether the group is archived or not. | |
color | The group's color. | |
deleted | Whether the group is deleted or not. | |
id | The group's unique identifier. | |
items | The items in the group. | Ids |
position | The group's position on the board. | |
title | The group's title. |
Groups Mutations
Required scope: boards:write
Duplicate Group
The duplicate_group()
mutation duplicates a group with all of its items. After the mutation runs you can query back all the group data as shown in the querying groups section above.
mutation {
duplicate_group (board_id: 12345678, group_id: "today", add_to_top: true) {
id
}
}
let query = "mutation { duplicate_group (board_id: 20178755, group_id: \"today\", add_to_top: true) { id } }";
fetch ("https://api.monday.com/v2", {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization' : 'YourSuperSecretAPIkey'
},
body: JSON.stringify({
query : query
})
})
.then(res => res.json())
.then(res => console.log(JSON.stringify(res, null, 2)));
curl --location --request POST 'https://api.monday.com/v2' \
--header 'Authorization: YourSuperSecretAPIkey' \
--header 'Content-Type: application/json' \
--data-raw '{"query":"mutation { duplicate_group (board_id: 20178755, group_id: \"today\", add_to_top: true) { id } }"'
Arguments for Duplicate Group
The following duplicate_group()
arguments define the type of duplication and the characteristics of the duplicated group.
Argument | Description |
---|---|
board_id | The board's identifier. |
group_id | The group's identifier. |
add_to_top | Boolean to add new group to the top or bottom of the board. |
group_title | The group's title. |
Mutation-specific rate limit
The
duplicate_group
mutation has an additional rate limit of 40 mutations per minute. If you exceed this limit, you will receive a response with a 429 status code, and the following error message: "Call limit exceeded for DuplicateGroup".
Create a Group
The create_group()
mutation creates a new empty group. After the mutation runs, you can query back all the group data as shown in the querying groups section above.
Here is a code example of this mutation:
mutation {
create_group (board_id: 12345678, group_name: "new group") {
id
}
}
let query = "mutation { create_group (board_id: 20178755, group_name: \"new group\") { id } }";
fetch ("https://api.monday.com/v2", {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization' : 'YourSuperSecretAPIkey'
},
body: JSON.stringify({
query : query
})
})
.then(res => res.json())
.then(res => console.log(JSON.stringify(res, null, 2)));
curl --location --request POST 'https://api.monday.com/v2' \
--header 'Authorization: YourSuperSecretAPIkey' \
--header 'Content-Type: application/json' \
--data-raw '{"query":"mutation { create_group (board_id: 20178755, group_name: \"new group\") { id } "}'
Arguments for Create a Group
The following create_group()
arguments define the new group's characteristics.
Argument | Argument |
---|---|
board_id | The board's identifier. |
group_name | The name of the new group. |
Archive a Group
The archive_group()
mutation archives a group with all of its items. After the mutation runs, you can query back all the group data as shown in the querying groups section above.
mutation {
archive_group (board_id: 12345678, group_id: "today") {
id
archived
}
}
let query = "mutation { archive_group (board_id: 20178755, group_id: \"today\") { id archived } }";
fetch ("https://api.monday.com/v2", {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization' : 'YourSuperSecretAPIkey'
},
body: JSON.stringify({
query : query
})
})
.then(res => res.json())
.then(res => console.log(JSON.stringify(res, null, 2)));
curl --location --request POST 'https://api.monday.com/v2' \
--header 'Authorization: YourSuperSecretAPIkey' \
--header 'Content-Type: application/json' \
--data-raw '{"query":"mutation { archive_group (board_id: 20178755, group_id: \"today\") { id archived } }"}'
Arguments for Archive a Group
The following archive_group()
arguments determine which group will be archived.
Argument | Description |
---|---|
board_id | The board's identifier. |
group_id | The group's identifier. |
Delete a Group
The delete_group()
mutation deletes a group with all of its items. After the mutation runs you can query back all the group data as shown in the querying groups section above.
mutation {
delete_group (board_id: 12345678, group_id: "today") {
id
deleted
}
}
let query = "mutation { delete_group (board_id: 20178755, group_id: \"today\") { id deleted } }";
fetch ("https://api.monday.com/v2", {
method: 'post',
headers: {
'Content-Type': 'application/json',
'Authorization' : 'YourSuperSecretAPIkey'
},
body: JSON.stringify({
query : query
})
})
.then(res => res.json())
.then(res => console.log(JSON.stringify(res, null, 2)));
curl --location --request POST 'https://api.monday.com/v2' \
--header 'Authorization: YourSuperSecretAPIkey' \
--header 'Content-Type: application/json' \
--data-raw '{"query":"mutation { delete_group (board_id: 20178755, group_id: \"today\") { id deleted } }"}'
Arguments for Delete a Group
The following delete_group()
arguments determine which group will be deleted.
Argument | Description |
---|---|
board_id | The board's identifier. |
group_id | The group's identifier. |
Do you have questions?
Join our developer community! You can share your questions and learn from fellow users and monday.com product experts.
Donβt forget to search before opening a new topic!
Updated 7 days ago