We are receiving error messages with the API, but the status returns as 200. For example, when we hit our complexity limit we get a status 200 with a response payload of
{'errors': [{'message': 'Query has complexity of 30001, which exceeds max complexity of 9473'}], 'account_id': 4440630}
Another example includes using the “change_multiple_column_values” mutation which reports an error when a column value isn’t properly formatted for its column type. This is an example of the response payload with a status 200:
{'error_code': 'ColumnValueException', 'status_code': 200, 'error_message': 'invalid value,
please check our API documentation for the correct data structure for this
column. https://monday.com/developers/v2#column-values-section', 'error_data':
{'column_value': '2095 - Meat Product Manufacturing', 'column_type': 'NumericColumn'}}
Generally speaking, we would expect errors to return a 4XX or a 5XX status code. Receiving errors as a status 200 is misleading and it appears that the key for finding an error is inconsistent. IE, the complexity limit returns its errors within the “errors” key, but the ColumnValueException error has keys of “error_code”, “error_message”, and “error_data”. Would it be possible to make these errors return some non-200 status code instead to make them more identifiable?