Skip to main content

monday

All Contributors

A monday.com Python Client Library

For an overview of the Monday API, click here.

Requirements

  • Python >= 3.6

Getting started

pip install monday

monday is very simple to use -- take a look at the below example:

from monday import MondayClient


monday = MondayClient('your token')

monday.items.create_item(board_id='12345678', group_id='today',  item_name='Do a thing')

Available methods:

Items Resource (monday.items)

  • create_item(board_id, group_id, item_name, column_values=None, create_labels_if_missing=False) - Create an item on a board in the given group with name item_name.

  • create_subitem(parent_item_id, subitem_name, column_values=None, create_labels_if_missing=False) - Create a subitem underneath a given parent item. Monday API will return an error if the board you're trying to add to does not have a subitems column/at least one subitem created.

  • fetch_items_by_column_value(board_id, column_id, value) - Fetch items on a board by column value.

  • fetch_items_by_id(board_id, [ids]) - Fetch items from any board by ids, passed in as an array of integers.

  • change_item_value(board_id, item_id, column_id, value) - Change column values for item on a board. Check Monday's API for which columns are supported.

  • change_multiple_column_values(board_id, item_id, column_values, create_labels_if_missing=False) - Change multiple column values for item on a board. Column values should be passed in as JSON. Check Monday's API for which columns are supported.

  • add_file_to_column(item_id, column_id, file) - Upload a file to a file type column specified by column_id. Monday limits uploads to 500MB in size.

  • move_item_to_group(item_id, group_id) - Move the item to a group within the same board.

  • archive_item_by_id(item_id) - Archive the item by item_id.

  • delete_item_by_id(item_id) - Delete the item by item_id.

Updates Resource (monday.updates)

  • create_update(item_id, update_body) - Create an update attached to a given item.

  • fetch_updates(limit, page=None) - Fetch a certain number of updates, starting from the given page. Default is 1

  • fetch_updates_for_item(board_id, item_id, limit) - Fetch all updates for a certain item on a certain board up to a certain limit, set by you. Default is 100 updates

Tags Resource (monday.tags)

  • fetch_tags(tag_ids=None) - Fetch all tags associated with an account. Optionally takes a list containing tag ids (if you know them). Returns IDs, names, and colors.

Boards Resource (monday.boards)

  • fetch_boards(**kwargs) - Fetch boards associated with an account. Returns boards and their groups, tags, and columns. Accepts keyword arguments:

    • limit - The number of boards returned (int. Default is 25).
    • page - The page number returned, should you implement pagination(int. Starts at 1).
    • ids - A list of the unique board identifier(s) (List[int]).
    • board_kind - The board's kind (BoardKind. public / private / share).
    • state - The state of the board (BoardState. all / active / archived / deleted. Default is active).
    • order_by - The order in which to retrieve your boards (BoardsOrderBy. created_at / used_at).
  • fetch_boards_by_id([board_ids]) - Since Monday does not allow querying boards by name, you can use fetch_boards to get a list of boards, and then fetch_boards_by_id to get more detailed info about the groups and columns on that board. Accepts a comma separated list of board ids.

  • fetch_columns_by_board_id([board_ids]) - Get all columns, as well as their ids, types, and settings. Accepts a comma separated list of board ids.

  • fetch_items_by_board_id([board_ids], **kwargs) - Get all items on a board(s). Accepts a comma separated list of board ids.

    • limit - The number of rows returned (int. no default).
    • page - The page number returned, should you implement pagination(int. no default).
  • create_board(board_name, board_kind, workspace_id) - Create board with the given name and kind by (and optional) workspace id.

Users Resource (monday.users)

  • fetch_users(**kwargs) - Fetch user information associated with an account. See Monday API docs for a list of accepted keyword arguments.

Workspaces Resource (monday.workspaces)

  • get_workspaces() - Get all workspaces.

  • create_workspace(name, kind, description) - Create workspace with the given name, kind and description.

  • add_users_to_workspace(workspace_id, [user_ids], kind) - Add given users of the given kind to the given workspace.

  • delete_users_from_workspace(workspace_id, [user_ids]) - Delete given users from the given workspace.

  • add_teams_to_workspace(workspace_id, [team_ids]) - Add given teams to the given workspace.

  • delete_teams_from_workspace(workspace_id, [team_ids]) - Delete given teams from the given workspace.

Groups Resource (monday.groups)

  • get_groups_by_board([board_ids]) - Get all groups associated with a certain board or boards. Accepts a single id or a comma separated list of ids.

  • get_items_by_group(board_id, group_id) - Get all items that are members of a given group.

  • create_group(board_id, group_name) - Create a group on a given board.

  • duplicate_group(board_id, group_id) - Duplicate a group and all its items on a given board.

  • archive_group(board_id, group_id) - Archive a group on a given board.

  • delete_group(board_id, group_id) - Delete a group on a given board.

Notifications Resource (monday.notifications)

  • create_notification(user_id, target_id, text, target_type) - The create_notification mutation allows to trigger a notification within the platform (will also send out an email if the recipient's email preferences are set up accordingly).

Additional Resources and Code Samples

Contributors

Lemi Boyce
Lemi Boyce

💻 🐛 🚧
Tony Morello
Tony Morello

💻
chdastolfo
chdastolfo

💻 🐛 📖 🚧
Lucio Mitsuru Seki
Lucio Mitsuru Seki

💻
YOGESH NILE
YOGESH NILE

💻
spencersamuel7
spencersamuel7

💻
Alb. C
Alb. C

💻
pevner-p2
pevner-p2

💻
Taylor Cochran
Taylor Cochran

💻

Bug Reports

TBD

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

monday-1.3.3.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

monday-1.3.3-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file monday-1.3.3.tar.gz.

File metadata

  • Download URL: monday-1.3.3.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.15

File hashes

Hashes for monday-1.3.3.tar.gz
Algorithm Hash digest
SHA256 f6dab3b9d25ae9b8d244b1fa50ca78b2e7f31c701fb5cf76f3765092a1685a26
MD5 d213b083395fc1b6c5ccafaadd84cd4e
BLAKE2b-256 71c7d76fbe3c3e338028089774ade91996923b1d5fd4bf1885bbc38d33843ff5

See more details on using hashes here.

File details

Details for the file monday-1.3.3-py3-none-any.whl.

File metadata

  • Download URL: monday-1.3.3-py3-none-any.whl
  • Upload date:
  • Size: 15.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.15

File hashes

Hashes for monday-1.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 14e720fb6eee26ed9e21682f8a891648e0d61a6302bd5aa336b7ecdc76d7cdb6
MD5 b4781ef872468b508972db089a87bca7
BLAKE2b-256 918d31f4f79a4f8f272f907b5939e72516f41ff9477d36cc9f5c0b58fd6e4539

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page