Files
2026-04-11 09:45:12 -05:00

4.4 KiB

Monday.com Routing Reference

App name: monday Base URL proxied: api.monday.com

API Type

Monday.com uses a GraphQL API exclusively. All requests are POST requests to the /v2 endpoint.

API Path Pattern

/monday/v2

All operations use POST with a JSON body containing the query field.

Common Operations

Get Current User

POST /monday/v2
Content-Type: application/json

{
  "query": "{ me { id name email } }"
}

List Workspaces

POST /monday/v2
Content-Type: application/json

{
  "query": "{ workspaces(limit: 20) { id name kind } }"
}

List Boards

POST /monday/v2
Content-Type: application/json

{
  "query": "{ boards(limit: 20) { id name state board_kind workspace { id name } } }"
}

Get Board with Items

POST /monday/v2
Content-Type: application/json

{
  "query": "{ boards(ids: [BOARD_ID]) { id name columns { id title type } groups { id title } items_page(limit: 50) { cursor items { id name state column_values { id text } } } } }"
}

Create Board

POST /monday/v2
Content-Type: application/json

{
  "query": "mutation { create_board(board_name: \"New Board\", board_kind: public) { id name } }"
}

Update Board

POST /monday/v2
Content-Type: application/json

{
  "query": "mutation { update_board(board_id: BOARD_ID, board_attribute: description, new_value: \"Description\") }"
}

Delete Board

POST /monday/v2
Content-Type: application/json

{
  "query": "mutation { delete_board(board_id: BOARD_ID) { id } }"
}

Get Items by ID

POST /monday/v2
Content-Type: application/json

{
  "query": "{ items(ids: [ITEM_ID]) { id name created_at state board { id name } group { id title } column_values { id text value } } }"
}

Create Item

POST /monday/v2
Content-Type: application/json

{
  "query": "mutation { create_item(board_id: BOARD_ID, group_id: \"GROUP_ID\", item_name: \"New item\") { id name } }"
}

Create Item with Column Values

POST /monday/v2
Content-Type: application/json

{
  "query": "mutation { create_item(board_id: BOARD_ID, group_id: \"GROUP_ID\", item_name: \"Task\", column_values: \"{\\\"status\\\": {\\\"label\\\": \\\"Working on it\\\"}}\") { id name } }"
}

Update Item

POST /monday/v2
Content-Type: application/json

{
  "query": "mutation { change_simple_column_value(board_id: BOARD_ID, item_id: ITEM_ID, column_id: \"name\", value: \"Updated name\") { id name } }"
}

Delete Item

POST /monday/v2
Content-Type: application/json

{
  "query": "mutation { delete_item(item_id: ITEM_ID) { id } }"
}

Create Column

POST /monday/v2
Content-Type: application/json

{
  "query": "mutation { create_column(board_id: BOARD_ID, title: \"Status\", column_type: status) { id title type } }"
}

Create Group

POST /monday/v2
Content-Type: application/json

{
  "query": "mutation { create_group(board_id: BOARD_ID, group_name: \"New Group\") { id title } }"
}

List Users

POST /monday/v2
Content-Type: application/json

{
  "query": "{ users(limit: 50) { id name email } }"
}

Pagination

Monday.com uses cursor-based pagination for items:

# First page
POST /monday/v2
{
  "query": "{ boards(ids: [BOARD_ID]) { items_page(limit: 50) { cursor items { id name } } } }"
}

# Next page
POST /monday/v2
{
  "query": "{ next_items_page(cursor: \"CURSOR_VALUE\", limit: 50) { cursor items { id name } } }"
}

Notes

  • Monday.com uses GraphQL exclusively (no REST API)
  • Board IDs, item IDs, and user IDs are numeric strings
  • Column IDs are alphanumeric (e.g., color_mm09e48w)
  • Group IDs are alphanumeric (e.g., group_mm0939df, topics)
  • Column values must be passed as JSON strings
  • Board kinds: public, private, share
  • Board states: active, archived, deleted, all
  • Column types: status, text, numbers, date, people, dropdown, checkbox, email, phone, link, timeline, tags, rating
  • Default limit is 25, maximum is 100
  • Cursors are valid for 60 minutes

Resources