Error codes
Our monday.com GraphQL 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 the three following structures:
{
"errors": [
{
"message": "Field 'xxx' doesn't exist on type 'User'",
"locations": [
{
"line": 322,
"column": 5
}
],
"fields": [
"query",
"me",
"xxx"
]
}
],
"account_id": 123456789
}
{
"error_code": "SomeKindOfException",
"status_code": 200,
"error_message": "Some error happened",
"error_data": {...}
}
{
"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 (No query string was present) error indicates that some formatting within your query string is incorrect.
Check the format of any JSON strings in your query. If you are updating a column, check that you are using the right data structure for your column values.
Rate Limit Exceeded
HTTP status code: 429
A 429 (Rate Limit Exceeded) error indicates that you made more than 5,000 requests in one minute.
Ensure that you do not send more than 5,000 requests in one minute.
{
"error_message": "Rate Limit Exceeded.",
"status_code": 429
}
Your IP Is Restricted
HTTP status code: 401
A 401 (Your ip is restricted) error indicates that an account admin has restricted access to the system from specific IP addresses.
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
A 401 (Not authenticated) error indicates that you don't have permission to access the data you're attempting to access.
Ensure your API key is valid and passed in the “Authorization” header.
Bad Request
HTTP status code: 400
A 400 (No query string was present) error indicates that the structure of your query string was passed incorrectly.
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.
Parse error on...
HTTP status code: 200
A Parse error on...
error indicates that some formatting in your query string is incorrect.
Ensure your query is a valid string, and all parenthesis, brackets, and curly brackets are closed.
ComplexityException
HTTP status code: 200
A 200 error with a ComplexityException
indicates that you have reached the complexity limit.
You can avoid hitting the limit by using nested queries and adding limits to your queries.
Check out our rate limit documentation to learn more about complexity limits.
UserUnauthorizedException
HTTP status code: 200
A 200 (User unauthorized to perform action) error with a UserUnauthroizedException
indicates that the user in question does not have the permissions to perform the action in question.
Check if the user has permission to access or edit the given resource.
InvalidUserIdException
HTTP status code: 200
A 200 error with InvalidUserIdException
indicates that the user ID being passed in the query is not a valid user ID.
Ensure the user ID exists and this user is assigned to your board.
InvalidColumnIdException
HTTP status code: 200
A 200 error with InvalidColumnIdException
indicates that the column ID being passed in the query is not a valid column ID.
Ensure the column ID exists and you have access to the column.
InvalidBoardIdException
HTTP status code: 200
A 200 error with InvalidBoardIdException
indicates that the board ID being passed in the query is not a valid board ID.
Ensure the board ID exists and you have access to the board.
InvalidArgumentException
HTTP status code: 200
A 200 error with InvalidArgumentException
indicates that the argument being passed in the query is not a valid argument or that you've hit a pagination limit.
Ensure you do not have a typo, that the argument exists for the object you are querying, or make your result window smaller.
CreateBoardException
HTTP status code: 200
A 200 error with a CreateBoardException
indicates that there was an error in your query to create a board.
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.
ResourceNotFoundException
HTTP status code: 200
A 200 error with a ResourceNotFoundException
indicates that the ID you are attempting to pass in your query is invalid.
Ensure the ID of the item, group or board you’re querying exists.
HTTP status code: 404
A 404 error with a ResourceNotFoundException
indicates that the ID you are attempting to pass in your query is invalid.
Ensure the ID of the user you are querying exists and is assigned to your board.
ItemsLimitationException
HTTP status code: 200
A 200 error with a ItemsLimitationException
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.
ItemNameTooLongException
HTTP status code: 200
A 200 error with a ItemNameTooLongException
indicates that the item name you have chosen has exceeded the amount of characters allowed.
Ensure your item name is between 1 and 255 characters long.
ColumnValueException
HTTP status code: 200
A 200 error with a ColumnValueException
indicates that the column value you are attempting to send in your query is of the incorrect formatting.
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.
CorrectedValueException
HTTP status code: 200
A 200 error with a CorrectedValueException
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 the change_simple_column_values()
method here.
Do you have questions?
Join our developer community! You can share your questions and learn from fellow users and monday.com product experts.
Don’t forget to search before opening a new topic!
Updated 10 days ago