Getting started overview

Integrating with Monday.com typically involves accessing its GraphQL API to automate workflows, manage data, or build custom applications. The process begins with establishing an account, generating an API token, and then executing a basic query or mutation. Monday.com's API is built on GraphQL, which allows for flexible data retrieval and manipulation through a single endpoint. This approach enables developers to request precisely the data they need, minimizing over-fetching or under-fetching of information.

This guide provides a structured approach to initiate development with Monday.com, focusing on the essential steps from account creation to a successful first API call. Understanding the core authentication mechanism and the structure of GraphQL requests is fundamental for effective integration.

Quick Reference Steps

Step What to Do Where
1. Sign Up Create a new Monday.com account or sign in. Monday.com homepage
2. Generate API Token Navigate to the Developer section and create a Personal API Token. Monday.com API documentation » Admin » Developers » My Access Tokens
3. Prepare Request Construct a basic GraphQL query. Your preferred HTTP client (e.g., cURL, Postman) or SDK
4. Execute Request Send the GraphQL query with the API token in the authorization header. API endpoint: https://api.monday.com/v2
5. Verify Response Check for a successful JSON response. Your HTTP client's response viewer

Create an account and get keys

To begin using the Monday.com API, you must have an active Monday.com account. Monday.com offers an individual free tier that supports up to two users, which is sufficient for initial API exploration and development. For larger teams or more advanced features, various paid plans are available, starting from $10 per seat per month when billed annually.

Account Creation

  1. Navigate to Monday.com: Open your web browser and go to the Monday.com website.
  2. Sign Up: Click on the 'Get Started' or 'Sign Up' button.
  3. Follow On-screen Prompts: Provide your email address, create a password, and follow any additional steps to set up your workspace. This typically involves naming your workspace and inviting initial team members, though these steps can be skipped or modified later.
  4. Access Workspace: Once registered, you will be directed to your Monday.com workspace dashboard.

Generating an API Token

After setting up your account, the next critical step is to generate a Personal API Token. This token serves as your authentication credential for all API requests to your Monday.com workspace. It is essential to treat this token like a password and keep it secure, as it grants access to your account's data. For security best practices, consider using environment variables for storing API keys in development and secure secret management services in production environments, as described in Google's API key best practices documentation.

  1. Access Admin Section: In your Monday.com workspace, click on your profile picture in the bottom-left corner to open the menu. Select 'Admin'.
  2. Navigate to Developers: Within the Admin section, find and click on 'Developers' in the left-hand navigation pane.
  3. Go to My Access Tokens: Under the 'Developers' section, click on 'My Access Tokens'.
  4. Generate Token: If you don't have an existing token, click the button to generate a new Personal API Token. Monday.com will display a string of characters; this is your API token.
  5. Copy Token: Copy this token immediately and store it securely. Monday.com typically only shows the full token once upon generation for security reasons. If you lose it, you will need to generate a new one.

For detailed instructions, refer to the Monday.com API Access Token guide.

Your first request

With your Monday.com account active and your Personal API Token secured, you are ready to make your first API request. Monday.com uses a GraphQL endpoint for all API interactions. All requests must be sent as HTTP POST requests to https://api.monday.com/v2, with the API token included in the Authorization header.

API Endpoint Details

  • Endpoint URL: https://api.monday.com/v2
  • HTTP Method: POST
  • Content-Type Header: application/json
  • Authorization Header: Bearer YOUR_API_TOKEN (replace YOUR_API_TOKEN with the token you generated)

Example GraphQL Query

Let's run a simple query to retrieve information about the current user. This is a good way to confirm that your authentication and setup are correct.


query {
  me {
    id
    name
    email
  }
}

Making the Request (using cURL)

You can use cURL, a command-line tool for making HTTP requests, to test your API connection. Replace YOUR_API_TOKEN with your actual Personal API Token.


curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: YOUR_API_TOKEN" \
  -d '{"query": "query { me { id name email } }"}' \
  https://api.monday.com/v2

Note that some environments, such as specific shells, may require additional escaping for JSON strings. If you encounter issues, consider using a GraphQL client or an SDK for more complex queries.

Expected Successful Response

A successful response will return a JSON object containing the requested user information:


{
  "data": {
    "me": {
      "id": 1234567,
      "name": "John Doe",
      "email": "[email protected]"
    }
  },
  "account_id": 9876543
}

The id, name, and email fields will reflect the details of the user associated with the API token. The account_id indicates the Monday.com account this user belongs to.

Using an SDK (Python Example)

Monday.com provides official SDKs for several languages, including Python. Using an SDK can simplify the process of making API calls by handling HTTP requests, authentication headers, and JSON parsing.

First, install the Monday.com Python SDK:


pip install monday-sdk-python

Then, execute the query:


import monday_sdk
import os

# It's recommended to store your token in an environment variable
monday = monday_sdk.MondayClient(os.environ.get("MONDAY_API_TOKEN"))

query = 'query { me { id name email } }'
data = monday.api(query)

print(data)

This Python script will produce a similar JSON output, demonstrating the ease of use with an SDK. For more SDK examples across different languages, consult the Monday.com API reference documentation.

Common next steps

After successfully making your first API call, you can explore more advanced functionalities to build robust integrations with Monday.com. The GraphQL structure allows for granular control over data queries and mutations.

  • Explore GraphQL Queries: Learn how to fetch specific boards, items, columns, and users. The Monday.com API Queries documentation provides examples for various data retrieval scenarios.
  • Perform Mutations: Understand how to create, update, and delete items, column values, and boards using GraphQL mutations. This is essential for automating workflows and data synchronization. Refer to the Monday.com API Mutations guide.
  • Webhooks: Implement webhooks to receive real-time updates from Monday.com when specific events occur (e.g., an item is created, a column value changes). This enables event-driven architectures. Consult the Monday.com Webhooks documentation for setup and usage.
  • Rate Limits: Be aware of the API rate limits to prevent your integration from being throttled. Monday.com provides details on its rate limit policies.
  • Error Handling: Implement proper error handling in your code to gracefully manage API errors, such as invalid tokens or malformed queries. GraphQL responses include an errors array for this purpose.
  • Official SDKs: For continued development, leverage the official SDKs (JavaScript, Python, Ruby, C#, PHP, Java) to streamline API interactions and reduce boilerplate code.
  • Build a Custom App: If you plan to distribute your integration or require a more interactive experience, consider building a custom Monday.com app. The Monday Apps Framework provides tools and guidelines.

Troubleshooting the first call

Encountering issues during your initial API call is common. Here are some troubleshooting steps for frequent problems:

  • Invalid API Token:
    • Symptom: HTTP 401 Unauthorized error or an error message indicating an invalid token.
    • Solution: Double-check that your Personal API Token is copied correctly without any extra spaces or characters. Ensure it's included in the Authorization: YOUR_API_TOKEN header (without the Bearer prefix in Monday's specific implementation of the header, which is different from standard OAuth 2.0 Bearer tokens). Regenerate the token if necessary.
  • Incorrect Endpoint:
    • Symptom: HTTP 404 Not Found or connection refused.
    • Solution: Verify that you are sending the request to the correct GraphQL endpoint: https://api.monday.com/v2.
  • Malformed GraphQL Query:
    • Symptom: HTTP 400 Bad Request or a JSON response with an errors array detailing syntax issues.
    • Solution: Carefully review your GraphQL query for typos, missing braces, or incorrect field names. Use a GraphQL IDE (like GraphiQL or Postman's GraphQL client) to validate your query syntax before sending.
  • Missing Content-Type Header:
    • Symptom: API returns an error about unsupported media type or inability to parse request.
    • Solution: Ensure your request includes the Content-Type: application/json header.
  • Network Issues:
    • Symptom: Connection timeouts or inability to reach the host.
    • Solution: Check your internet connection and any firewall settings that might be blocking outbound requests. Test connectivity to other external services.
  • CORS Policy (for browser-based applications):
    • Symptom: Browser console shows CORS errors when making requests from a web application.
    • Solution: Direct browser-based API calls to Monday.com are generally not recommended due to security implications of exposing API tokens client-side. Instead, route requests through a backend server to proxy the API calls. This is a common pattern for secure API access, as noted in general web security practices for CORS.