What can we help you with?

Does monday.com have an API?

 

We most certainly do! Our API is built on GraphQL and will give you a ton of flexibility for accessing and changing information in your monday.com account.

 

Tip: For more detailed information on everything API related, make sure to check out our API documentation!

 

Why GraphQL?

Our users use monday.com to manage all sorts of information, and we wanted to build an API that is as flexible as our platform. Therefore, we built an API that could handle expressive queries to get exactly the information you need, when you need it. If you want to know more about GraphQL as a query language, check out graphql.org. 😄 

 

Documentation and testing

To make using our API easier, we have written documentation explaining the queries and mutations you can do to your data. You can also test your queries in our GraphQL explorer

 

Authenticating with your API Token

Any request to our API must be accompanied by an API Token, to let us know you're you. 😊

 

API for admins users

Each admin on the account has their own API Token -- make sure to keep this safe! To generate your API Token: 

  1. Log into your monday.com account.
  2. Click on your avatar in the top right corner.
  3. Select "Administration."
  4. Click "Connections" on the left side of the admin page. 
  5. Select "API" in the top menu. 
  6. Click on the "Copy" button to the right of the personal API Token. This is what you should be looking at:

Admin API Token.png

 

API for non-admin users

If you are not an admin of your monday.com account, you can get your API Tokens via the developers' section, following these steps: 

  1. Log into your monday.com account.
  2. Click on your avatar in the top right corner.
  3. Select "Developers."
  4. Click "Developer" and then "My Access Tokens" at the top. 
  5. By selecting "Show" next to the API token, you'll then be able to copy it as well. 

You can use this API token to authenticate all your requests to our API, as well as in our testing environment. The token can be regernated at any time, but note that this will cause the old one to expire. 

 

API tokens generated through OAuth

You can also generate a token for specific apps using the OAuth Authorization Flow. The permissions of these tokens are limited based on the authorization scopes of the app to which they are linked. For more information, check out our OAuth documentation.

 

API Token permissions

Each user's API Token is scoped to the permissions of that user themselves. 

For example, if the user has read-only access to a certain board, the API Token will not be able to update any information on that board. 

Similarly, if a user does not have access to a private board -- any apps that use the API Token will not have access to that board either. 

Note: We currently do not support "superuser" API tokens that have read and write access to every board on an account. 

 

Accessing our GraphQL API

We know that our users like to test things out before implementing them, so we included a query editor directly in our platform! You can use this to try queries and mutations before implementing them in your application. To use the API explorer, go to this link.

Once you've opened the explorer page, enter your API Token in this field: 

image_1.png

After supplying your token, you will enter our testing environment. The left pane of the explorer is where you enter your query or mutation, and when you press "Play" at the top left, the right pane will contain your results. 

Frame_10.png

You can also click the "Docs" button in the top right to access our documentation directly from the explorer. To access our documentation outside the explorer, check out this link!

 

Sending requests

So, you've tested your queries and you're ready to send them directly from your application? Well, you've come to the right place. 😊

All requests to our server should be POST requests sent to api.monday.com/v2. 

Be sure to use the application/json content type, and pass your API key as an "Authorization" parameter in the headers:

{
"Content-Type" : "application/json",
"Authorization" : "mySuperSecretAPIKey"
}

The request body is where your query and variables are passed. It should look like this:

{ 
"query" : "...",
"variables" : {"myVariable" : "foo", "yourVariable" : "bar"}
}  

 

Postman Collection

We have collected examples of the most common API requests in a Postman collection. You can use it to test sample requests with our API and generate code snippets to copy into your application. Take a look at the examples so you can test your own requests.

Why use the API?

Not sure whether you need to use the API or not? The API lets custom applications access the monday work OS, so you can connect your own scripts, integrations, and tools to your workflows. If that sounds like something you're interested in, then the API is for you.

You can use the API in many ways to supercharge your workflows. Here are some examples:

  • Connecting to third-party data integrations
  • Configuring no-code integration tools like Zapier to build custom data flows
  • Importing and exporting data in batches
  • Using the API as a data layer for custom monday apps to connect to monday

How to go further

The monday platform also contains tools to build applications that are embedded inside your workflows – such as app board views, integrations, and more.

If you need even more options to enhance your workflows, you can use the monday apps framework to create bespoke applications for specific needs inside your workspace. Learn more in our Apps Framework documentation and deep dive into our examples.

Rate limits

The API rate limits are based on the complexity level, which is limited to 10,000,000 / minute per account. You can learn more about this here!

 

Happy coding!

Now that you've got a basic understanding of sending requests to our API, go ahead and check out our API documentation. You can also play around with our testing environment!

And last but certainly not least, check out our quick start tutorials in different programming languages:

 

 

 


 

If you have any questions, please reach out to our team right here. We’re available 24/7 and happy to help.