SKILL.md
Monday.com (via Maton Gateway)
Access the Monday.com API with managed OAuth authentication. Manage boards, items, columns, groups, users, and workspaces using GraphQL.
🚀 Quick Start
Get Current User
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ me { id name email } }"}' | jq
🌐 Base URL
https://gateway.maton.ai/monday/v2
All requests use POST to the GraphQL endpoint.
🔐 Authentication
-H "Authorization: Bearer $MATON_API_KEY"
Set API Key
export MATON_API_KEY="YOUR_API_KEY"
🔑 Getting Your API Key
Sign in at https://maton.ai
Go to /settings
Copy your API key
🔗 Connection Management
Manage OAuth connections:
https://ctrl.maton.ai
📄 List Connections
curl "https://ctrl.maton.ai/connections?app=monday&status=ACTIVE" \
-H "Authorization: Bearer $MATON_API_KEY" | jq
➕ Create Connection
curl -X POST https://ctrl.maton.ai/connections \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"app": "monday"}' | jq
🔍 Get Connection
curl https://ctrl.maton.ai/connections/{connection_id} \
-H "Authorization: Bearer $MATON_API_KEY" | jq
❌ Delete Connection
curl -X DELETE https://ctrl.maton.ai/connections/{connection_id} \
-H "Authorization: Bearer $MATON_API_KEY" | jq
🌐 Complete OAuth
Open the returned url in your browser.
🎯 Specify Connection
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-H "Maton-Connection: CONNECTION_ID" \
-d '{"query": "{ me { id name } }"}' | jq
📚 API Reference
👤 Current User
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ me { id name email } }"}'
👥 Users
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ users(limit: 20) { id name email } }"}'
🏢 Workspaces
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ workspaces(limit: 10) { id name kind } }"}'
📋 Boards
List Boards
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ boards(limit: 10) { id name state board_kind workspace { id name } } }"}'
Get Board (Full)
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ boards(ids: [BOARD_ID]) { id name columns { id title type } groups { id title } items_page(limit: 20) { cursor items { id name state } } } }"}'
Create Board
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mutation { create_board(board_name: \"New Board\", board_kind: public) { id name } }"}'
Update Board
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mutation { update_board(board_id: BOARD_ID, board_attribute: description, new_value: \"Board description\") }"}'
Delete Board
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mutation { delete_board(board_id: BOARD_ID) { id } }"}'
🧩 Items
Get Items
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ items(ids: [ITEM_ID]) { id name state } }"}'
Create Item
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mutation { create_item(board_id: BOARD_ID, group_id: \"GROUP_ID\", item_name: \"New item\") { id name } }"}'
Create Item with Column Values
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mutation { create_item(board_id: BOARD_ID, group_id: \"GROUP_ID\", item_name: \"New task\", column_values: \"{\\\"status\\\": {\\\"label\\\": \\\"Working on it\\\"}}\") { id name } }"}'
Update Item Name
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mutation { change_simple_column_value(board_id: BOARD_ID, item_id: ITEM_ID, column_id: \"name\", value: \"Updated name\") { id name } }"}'
Update Column Value
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mutation { change_column_value(board_id: BOARD_ID, item_id: ITEM_ID, column_id: \"status\", value: \"{\\\"label\\\": \\\"Done\\\"}\") { id name } }"}'
Delete Item
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mutation { delete_item(item_id: ITEM_ID) { id } }"}'
📊 Columns
Create Column
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mutation { create_column(board_id: BOARD_ID, title: \"Status\", column_type: status) { id title type } }"}'
🗂 Groups
Create Group
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mutation { create_group(board_id: BOARD_ID, group_name: \"New Group\") { id title } }"}'
📄 Pagination
First Page
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ boards(ids: [BOARD_ID]) { items_page(limit: 50) { cursor items { id name } } } }"}'
Next Page
curl -X POST https://gateway.maton.ai/monday/v2 \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ next_items_page(cursor: \"CURSOR_VALUE\", limit: 50) { cursor items { id name } } }"}'
⚠️ Notes
GraphQL only (no REST)
IDs are strings
Escape JSON inside GraphQL mutations carefully
Default limit: 25 (max: 100)
🛠 Troubleshooting
Check API Key
echo $MATON_API_KEY
Test Auth
curl https://ctrl.maton.ai/connections \
-H "Authorization: Bearer $MATON_API_KEY" | jq
❌ Errors
Code Meaning
400 GraphQL / connection error
401 Invalid API key
403 Missing OAuth scope
429 Rate limited
共 1 个版本