Back

Monday.com API Essential Guide

Aug 3, 20246 minute read

What type of API does Monday.com provide?

Based on the search results, Monday.com uses a GraphQL API. Here are the key points:

  1. The Monday.com API is built with GraphQL, a flexible query language that allows you to return as much or as little data as you need.

  2. Unlike REST APIs with multiple endpoints, GraphQL exposes a single endpoint (https://api.monday.com/v2) and allows you to determine the structure of the returned data.

  3. The GraphQL API supports operations on boards, items, column values, users, workspaces, and more.

  4. GraphQL allows for queries (read operations) and mutations (write operations).

  5. Monday.com provides a GraphQL visual interface called GraphiQL for writing, validating, and testing GraphQL queries.

  6. The API supports the Monday work management, dev, sales CRM, and service products.

  7. Admin, member, and guest users can utilize the Monday.com API, with some restrictions for guest users.

Key considerations:

  • GraphQL provides flexibility in querying data, allowing developers to request only the specific data they need.
  • The single endpoint approach differs from traditional REST APIs with multiple endpoints.
  • Monday.com provides tools like GraphiQL to help developers interact with and test the API.

Best practices:

  • Use the API playground to test and validate queries before implementation.
  • Familiarize yourself with the Monday.com GraphQL schema to understand available queries and mutations.
  • Consider using arguments in queries to filter and narrow down results as needed.

In summary, Monday.com uses a GraphQL API, which offers flexibility and efficiency in data querying compared to traditional REST APIs. This approach allows developers to request precisely the data they need in a single request, potentially reducing the number of API calls required for complex operations.

Does the Monday.com API have webhooks?

Yes, the official Monday.com API does have webhooks. Here are the key points about Monday.com's webhook functionality:

Webhook Availability

Monday.com offers webhooks as part of their API, allowing real-time updates from Monday.com boards.

Types of Events

You can subscribe to various types of events, including:

  • change_column_value
  • change_status_column_value
  • change_subitem_column_value
  • change_specific_column_value
  • change_name
  • create_item
  • item_archived
  • item_deleted
  • item_moved_to_any_group
  • item_moved_to_specific_group
  • item_restored
  • create_subitem
  • change_subitem_name
  • move_subitem
  • subitem_archived
  • subitem_deleted
  • create_column
  • create_update
  • edit_update
  • delete_update
  • create_subitem_update

Creating Webhooks

You can create webhooks in two ways:

  1. Through the Automations Center in the Monday.com interface.
  2. Using the API with the create_webhook mutation.

Webhook Payload

When an event occurs, Monday.com sends a POST request to the specified URL with a JSON payload containing event details.

Webhook Verification

Monday.com uses a challenge-response mechanism to verify webhook URLs. When you add a new webhook, they send a challenge to your URL, which you need to respond to correctly.

Best Practices

  • Use webhooks for real-time updates instead of constantly polling the API.
  • Implement proper error handling and retry logic for webhook processing.
  • Secure your webhook endpoint and validate incoming requests.

Additional Features

Monday.com also offers app lifecycle webhooks for marketplace apps, including install and uninstall events.

In summary, Monday.com's API provides a robust webhook system that allows you to subscribe to a wide range of events, enabling real-time integration with your applications.

Rate Limits and other limitations

Here are the key API rate limits for the Monday.com API:

Query Complexity Limits

  • Single queries are limited to 5,000,000 complexity points [1]

  • For API tokens belonging to apps:

    • Reads and writes are each limited to 5,000,000 complexity points per minute [1][2]
  • For personal API tokens:

    • Combined budget of 10,000,000 points per minute for reads and writes (1,000,000 for trial/free accounts) [1][2]

Request Limits

  • 5,000 requests per minute per IP address [2]

Mutation Limits

  • 2,000 mutations per minute (general limit) [2]

  • Additional 40 mutations per minute limits for:

    • Duplicate group mutation
    • Create board mutation
    • Duplicate board mutation [2]

Other Limits

  • 100 item limit when querying items at the root level [2]

  • 60 second timeout policy for all API calls [2]

  • Maximum of 6 nested queries allowed [2]

Key Points

  • Complexity is the primary rate limiting mechanism and defines the cost of each query [2]

  • Per-minute budgets reset 60 seconds after the first API call [2]

  • Pagination is recommended to reduce complexity and avoid hitting limits [2]

  • The API uses cursor-based pagination for some objects like items_page to handle large datasets [2]

  • Nested queries significantly increase complexity [2]

To avoid hitting limits, it's recommended to:

  • Only request needed data
  • Implement pagination
  • Avoid deeply nested queries
  • Check query complexity before making calls

The 500 record limit mentioned in the community post appears to be specific to a particular API version (2023-10) and may require using cursor-based pagination to retrieve all records [5].

Latest API Version

Based on the search results provided, here are the key points regarding the most recent version of the Monday.com API:

  1. The most recent version of the Monday.com API is 2024-10, which is currently the "Release candidate" version [1].

  2. The API versioning system includes three types of versions [1]:

    • Release candidate (RC): The latest version with new features, but unstable
    • Current: The stable version used by default
    • Maintenance: A stable version for those who can't migrate to the current version
  3. The current stable version is 2024-07 [1].

  4. New features in the 2024-10 version include [2]:

    • Support for the Emails & Activities (E&A) app
    • New timeline items query and mutations
    • New marketplace_app_discounts object for managing discounts
  5. To use a specific API version, you can include the API-Version header in your HTTP requests [1]. For example:

    API-Version: 2024-10
    
  6. Monday.com releases a new API version every quarter and guarantees at least three different versions at the same time [1].

  7. The API playground allows you to test different versions of the API by selecting the version using the "clock going in reverse" icon [1].

Key points to consider:

  • Always check the release notes for the latest updates and changes to the API.
  • Use the appropriate version header in your API calls to ensure compatibility with your application.
  • The Release Candidate version (currently 2024-10) is unstable and should not be used in production applications.

Best practices:

  • Use the Current version (2024-07) for production applications unless you need specific features from the Release Candidate.
  • Stay informed about upcoming changes and deprecations by regularly checking the release notes and changelog.
  • Test your applications with new API versions before they become the Current version to ensure smooth transitions.

How to get a Monday.com developer account and API Keys?

Sign up for a developer account

  1. Go to the Monday.com developer portal at https://developer.monday.com.

  2. Click on the option to sign up for a free developer account.

  3. Fill out the required information to create your account.

Set up your account

Once your developer account is created:

  1. Log in to your Monday.com developer account.

  2. Navigate to the "Developer" section, which should be accessible from your account settings or dashboard.

  3. In the Developer section, you'll be able to access your API tokens and other developer resources.

Get your API token

To use the API, you'll need an authentication token:

  1. Click on your avatar (profile picture) in the bottom left corner of the screen.

  2. Select "My Access Tokens" from the dropdown menu.

  3. Click the blue "Show" button to reveal your API token.

  4. Copy this token - you'll need it to authenticate your API requests.

What can you do with the Monday.com API?

Based on the information provided in the search results, here's a list of data models you can interact with using the Monday.com API, along with what is possible for each:

Boards

  • Access board data to render custom reports inside a monday.com dashboard
  • Create new items on a board when a record is created in another system
  • Import data from another source programmatically

Items

  • Query board items
  • Create new items on boards

Column Values

  • Change column values
  • Guide available for changing column values

Users

  • Interact with user data (specific capabilities not detailed in the search results)

Workspaces

  • Interact with workspace data (specific capabilities not detailed in the search results)

Products

  • The API supports monday work management, dev, sales CRM, and service products

Key Points to Consider:

  • The Monday.com API is built with GraphQL, allowing flexible queries to return as much or as little data as needed
  • Admin, member, and guest users can utilize the API, but with different levels of access
  • Viewers, deactivated users, disabled users, users with unconfirmed emails, and users on student accounts cannot access the API
  • The API supports operations on boards, items, column values, users, workspaces, and more

Best Practices:

  • Refer to the GraphQL overview and development best practices guides provided by Monday.com
  • Use the provided guides for making your first request and querying board items
  • Join the Monday.com developer community for additional support and tips

It's important to note that while these data models are mentioned, the search results don't provide exhaustive details on all possible interactions for each model. For more specific information, it would be beneficial to consult the full API documentation or the GraphQL schema provided by Monday.com.