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 (internal server error) 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 or change_multiple_column_values mutations

If these don't fix the issue, reach out to our team!

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.

ColumnValueException

HTTP status code: 200

A 200 ColumnValueException error 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.

ComplexityException

HTTP status code: 200

A 200 ComplexityException error 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.

CorrectedValueException

HTTP status code: 200

A 200 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 the change_simple_column_values() method here.

CreateBoardException

HTTP status code: 200

A 200 CreateBoardException error 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.

DeleteLastGroupException

HTTP status code: 409

A 409 DeleteLastGroupException error indicates that the last group on a board is being deleted or archived. Ensure that you have at least one group on the board to resolve the error.

InvalidArgumentException

HTTP status code: 200

A 200 InvalidArgumentException error 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.

InvalidBoardIdException

HTTP status code: 200

A 200 InvalidBoardIdException error 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.

InvalidColumnIdException

HTTP status code: 200

A 200 InvalidColumnIdException error 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.

InvalidUserIdException

HTTP status code: 200

A 200 InvalidUserIdException error 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.

InvalidVersionException

HTTP status code: 200

A 200 InvalidVersionException error indicates that the requested API version is invalid.

Ensure that your request follows the proper format.

ItemNameTooLongException

HTTP status code: 200

A 200 ItemNameTooLongException error 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.

ItemsLimitationException

HTTP status code: 200

A 200 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.

RecordValidException

HTTP status code: 422

A 422 RecordValidException error indicates one of two things:

  • 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)

If your board has reached the subscriber limit, read more about optimizing board subscribers here. If a user or team has reached the board subscription limit, unsubscribe from or delete/archive irrelevant boards.

ResourceNotFoundException

HTTP status code: 200

A 200 ResourceNotFoundException error 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 ResourceNotFoundException error 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.

UserUnauthorizedException

HTTP status code: 403

A 403 UserUnauthorizedException error indicates that the user in question does not have the permission to perform the action in question.

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! 😎