Error codes
Our monday.com platform API returns the set of predefined errors listed below. If an exception is handled by the GraphQL application later, it will return a 200 status code and further information in one of these three formats:
{
"errors": [
{
"message": "Parse error on \")\" (RPAREN) at [59, 15]",
"locations": [
{
"line": 59,
"column": 15
}
]
}
],
"account_id": 1234567890
}
{
"errors": [
{
"message": "User unauthorized to perform action",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"me"
],
"extensions": {
"code": "UserUnauthorizedException",
"error_data": {},
"status_code": 403
}
}
],
"error_message": "User unauthorized to perform action",
"error_code": "UserUnauthorizedException",
"error_data": {},
"status_code": 403,
"account_id": 123456
}
{
"error_message": "Internal server error",
"status_code": 500
}
Check out this code sample below to see how to catch the different error structures!
function handleError(error) {
if (error.hasOwnProperty('error_message') || error.hasOwnProperty('error_code') || error.hasOwnProperty('errors')) {
throw 'error!';
}
}
try {
handleError(error);
} catch (e) {
console.error(e);
}
Internal server error
HTTP status code: 500
A 500 internal server error is a general error that indicates something went wrong.
Common causes of this error are:
- Invalid arguments, such as board or item IDs that don't exist
- Malformatted JSON column values when using the
create_item
orchange_multiple_column_values
mutations
If these don't fix the issue, reach out to our team!
Concurrency limit exceeded
HTTP status code: 429
- A
Concurrency limit exceeded
error indicates that you exceeded the maximum number of queries allowed at once. - To resolve the error, reduce the number of queries sent at once and use a retry mechanism in your code.
{
"errors": [
{
"message": "Concurrency limit exceeded",
"extensions": {
"code": "maxConcurrencyExceeded"
}
}
],
"account_id": 123456
}
Rate limit exceeded
HTTP status code: 429
- A
Rate Limit Exceeded
error indicates that you made more than 5,000 requests in one minute. - To resolve the error, reduce the number of requests sent in one minute.
{
"error_message": "Rate Limit Exceeded.",
"status_code": 429
}
Your IP Is restricted
HTTP status code: 401
- A
Your ip is restricted
error indicates that an account admin has restricted access to the system from specific IP addresses. - To resolve the error, confirm that your IP address is not restricted by your account admin.
{
"error_message": "Your ip is restricted.",
"status_code": 401
}
Unauthorized
HTTP status code: 401
- An
Unauthorized
error indicates that you don't have permission to access the data you're attempting to access. - To resolve the error, ensure your API key is valid and passed in the “Authorization” header.
Bad request
HTTP status code: 400
- A
Bad request
error indicates that the structure of your query string was passed incorrectly. - To resolve the error, ensure your query string is passed with the “query” key, your request is sent as a POST request with a JSON body, and that your query does not contain unterminated strings.
Missing required permissions
HTTP status code: 200
- A
missingRequiredPermissions
error indicates that the API operation has exceeded the OAuth permission scopes granted for the app. - To resolve the error, review your app's permission scopes to ensure the correct ones are requested.
Parse error on...
HTTP status code: 200
- A
Parse error on...
error indicates that some formatting in your query string is incorrect. - To resolve the error, ensure your query is a valid string and all parenthesis, brackets, and curly brackets are closed.
ColumnValueException
HTTP status code: 200
- A
ColumnValueException
error indicates that the column value you are attempting to send in your query is of the incorrect formatting. - To resolve the error:
- If you are updating a column value, ensure the value conforms with each column’s data structure. To learn more about columns that support JSON values, check out the
change_column_values()
method here. - If you’re retrieving a column value, ensure the column is supported by our API and not calculated in the client (eg, formula column).
- If you get the error "The column has no connected boards," ensure the Connect column you're referencing is connected to a board via the monday.com UI.
- If you are updating a column value, ensure the value conforms with each column’s data structure. To learn more about columns that support JSON values, check out the
ComplexityException
HTTP status code: 200
- A
ComplexityException
error indicates that you have reached the complexity limit. - To resolve the error, add limits to your queries and only request the information you need. Check out our rate limit documentation to learn more about complexity limits.
CorrectedValueException
HTTP status code: 200
- A
CorrectedValueException
error indicates that the value you are attempting to send in your query is of the wrong type. - If you try to update a column with simple values (
String
values), ensure the column supports this type of value format. To learn more about columns that support simple values, check out thechange_simple_column_values()
method here.
CreateBoardException
HTTP status code: 200
- A
CreateBoardException
error indicates that there was an error in your query to create a board. - To resolve the error:
- If you’re creating a board from a template, ensure the template ID is a valid monday template or a board that has template status. To learn more about making a board a template, check out our resource on board templates here.
- If you’re duplicating a board, ensure the board ID exists.
DeleteLastGroupException
HTTP status code: 409
- A
DeleteLastGroupException
error indicates that the last group on a board is being deleted or archived. - To resolve the error, ensure that you have at least one group on the board to resolve the error.
Field limit exceeded
HTTP status code: 429
- A
FIELD_LIMIT_EXCEEDED
error indicates that there are too many requests running concurrently. - To resolve the error, wait for the amount of time indicated in the error before retrying the call.
InvalidArgumentException
HTTP status code: 200
- An
InvalidArgumentException
error indicates that the argument being passed in the query is not a valid argument or that you've hit a pagination limit. - To resolve the error, ensure there are no typos, the argument exists for the object you are querying, or make your result window smaller.
InvalidBoardIdException
HTTP status code: 200
- An
InvalidBoardIdException
error indicates that the board ID being passed in the query is not a valid board ID. - To resolve the error, ensure the board ID exists and you have access to the board.
InvalidColumnIdException
HTTP status code: 200
- An
InvalidColumnIdException
error indicates that the column ID being passed in the query is not a valid column ID. - To resolve the error, ensure the column ID exists and you have access to the column.
InvalidUserIdException
HTTP status code: 200
- An
InvalidUserIdException
error indicates that the user ID being passed in the query is not a valid user ID. - To resolve the error, ensure the user ID exists and this user is assigned to your board.
InvalidVersionException
HTTP status code: 200
- An
InvalidVersionException
error indicates that the requested API version is invalid. - To resolve the error, ensure that your request follows the proper format.
ItemNameTooLongException
HTTP status code: 200
- An
ItemNameTooLongException
error indicates that the item name you have chosen has exceeded the number of characters allowed. - To resolve the error, ensure your item name is between 1 and 255 characters long.
ItemsLimitationException
HTTP status code: 200
- An
ItemsLimitationException
error indicates that you have exceeded the limit of items allowed for a board. - To prevent abuse, each board has a limit of 10,000 items created via the API. This error is thrown when you have reached the limit.
JsonParseException
HTTP status code: 400
- A
JsonParseException
error indicates an issue interpreting the provided JSON. - To resolve the error, verify all JSON is valid using a JSON validator (e.g., JSON lint).
RecordValidException
HTTP status code: 422
- A
RecordValidException
error indicates that the record you're trying to update or add is invalid. Some common reasons include:- A board has exceeded the number of permitted subscribers (400 individual subscribers or 100 teams)
- A user or team has exceeded the board subscription limit (up to 10,000)
- A board has exceeded the maximum number of items it can have (varies depending on the plan)
- To resolve the error, learn about optimizing board subscribers here, unsubscribe from or delete/archive irrelevant boards, or delete items on the board.
ResourceNotFoundException
HTTP status code: 200
- A 200
ResourceNotFoundException
error indicates that the ID you are attempting to pass in your query is invalid. - To resolve the error, ensure the ID of the item, group, or board you’re querying exists.
HTTP status code: 404
- A 404
ResourceNotFoundException
error indicates that the ID you are attempting to pass in your query is invalid. - To resolve the error, ensure the ID of the user you are querying exists and is assigned to your board.
UserUnauthorizedException
HTTP status code: 403
- A
UserUnauthorizedException
error indicates that the user in question does not have the permission to perform the action in question. - To resolve the error, check if the user has permission to access or edit the given resource.
Join our developer community!
We've created a community specifically for our devs where you can search through previous topics to find solutions, ask new questions, hear about new features and updates, and learn tips and tricks from other devs. Come join in on the fun! 😎
Updated about 1 month ago