monday.comLinkLens Dependency Map
How do you read, filter and set monday.com dependencies with the API?

You want a script to answer "what is waiting on this item?" or to add a dependency without opening the board. Which monday.com API calls do that, and what does the API leave out?
Short answer: read dependencies withcolumn_valuesand an inline fragment onDependencyValue(linked_item_ids,linked_items). Find the items that wait on a given item withitems_pageand theany_ofoperator on the dependency column. Write withchange_multiple_column_valuesand anitem_idsarray;change_simple_column_valueis not supported. An update replaces the whole list, and the relationship type (finish-to-start and the others) is not exposed by the API.
Checked 2 Nov 2026: monday's API reference page for the Dependency column (last updated 6 Sept 2026 according to the page). The queries below follow that page; the board, item and column ids are placeholders. We did not run these against a paid board for this post.
Read an item's dependencies
Query the item's column_values, limited to the dependency type, and read the fields on DependencyValue:
query {
items(ids: [1234567890]) {
name
column_values(types: dependency) {
... on DependencyValue {
id
display_value
linked_item_ids
linked_items { id name }
updated_at
}
}
}
}
linked_item_ids holds "the unique identifiers of the items this item depends on" and is an empty array when nothing is set. display_value is the comma-separated list of names. Two fields look useful and are not: the docs say text and value "always return null" for this column.
Find every item that waits on one item
This is the question a board view cannot answer quickly: if item 9876543210 slips, which items depend on it directly? items_page supports four operators on the dependency column:
| Operator | Compare value | Returns |
|---|---|---|
any_of | item ids | items that depend on any of those items |
not_any_of | item ids | items that do not depend on any of them |
is_empty | [] | items with no dependencies set |
is_not_empty | [] | items with at least one dependency |
query {
boards(ids: 1234567890) {
items_page(query_params: {
rules: [{ column_id: "dependent_on", compare_value: [9876543210], operator: any_of }]
}) {
items { id name }
}
}
}
That gives one hop. Items that wait on those items are a second query, and so on: to get the whole chain you repeat the call with the ids you just found until nothing new comes back. is_empty is handy for a different check: items with no dependency at all on a board where every task should have one.
Add a dependency without losing the others
Writes go through change_multiple_column_values with an item_ids array of strings:
mutation {
change_multiple_column_values(
item_id: 9876543210
board_id: 1234567890
column_values: "{\"dependent_on\": {\"item_ids\": [\"1234567891\", \"1234567892\"]}}"
) { id }
}
The docs warn that "updating a dependency column replaces the entire list of dependencies". To add one, read linked_item_ids first, append the new id, then send the full list. Sending only the new id removes the others. The same JSON works in create_item to set dependencies when the item is created.
Clear the column
Send null (or an empty object) for the column: "{\"dependent_on\": null}" in change_multiple_column_values.
Read the column's settings
The column's typed settings object (the docs say settings_str is deprecated as of API version 2025-10) returns boardIds, allowMultipleItems and dependency_mode (flexible, strict or no_action). The mode "only has an effect when the board contains a Date or Timeline column"; without one, the board behaves as no_action. More on the modes: flexible vs strict vs no action.
What the API does not give you
- The relationship type. Finish-to-start, start-to-start, finish-to-finish and start-to-finish can be set per dependency in the UI, but the docs say this "is not currently exposed by the API".
DependencyValueonly says which items are linked. - Other boards. The column sets up dependencies "within the same board". For work on another board you need a Connect boards column, which has no dependency logic: cross-board dependencies in monday.com.
- The chain. Each call returns direct links only; walking the chain is your loop.
Seeing the chain without writing the loop
If the goal is to see what is blocked and how far a delay spreads, we make LinkLens Dependency Map, a monday.com board view that reads the Dependency column (or a Connect boards column) and draws every chain on the board as one graph. It is read-only and does not change dates. Background: see every dependency chain on a monday.com board.
FAQ
Can I use change_simple_column_value for a monday.com dependency?
No. The API reference says change_simple_column_value "is not supported for dependency columns". Use change_multiple_column_values with an item_ids array.
Why does the dependency column's value come back null?
value and text always return null for this column. Read linked_item_ids or linked_items through the DependencyValue fragment, or display_value for the names.
How do I find the items that depend on a given item?
Use items_page on the board with a rule on the dependency column, operator: any_of and the item's id as compare_value. It returns direct dependents only.
Does the API return finish-to-start or start-to-start?
No. The relationship type is configurable in the UI but not exposed by the API today.
Does adding a dependency through the API keep the existing ones?
Only if you send them. An update replaces the whole list, so read the current ids, append, and send the full array.
Sources
- Dependency, monday.com API reference (read 2 Nov 2026; page updated 6 Sept 2026) -
DependencyValuefields,text/valuenull, filter operators, update and clear mutations, full-list replacement,change_simple_column_valuenot supported, settings and modes, relationship type not in the API.
