Catch up on the latest product updates, best practices, and expert insights from the Checkmk Conference #12 – Watch the livestream recordings now

Werk #22313: Errors now return the correct HTTP status code

Component User interface
Title Errors now return the correct HTTP status code
Date Aug 31, 2026
Level Prominent Change
Class Bug Fix
Compatibility Compatible - no manual interaction needed
Checkmk versions & editions
3.0.0b1
Not yet released
Checkmk Community, Checkmk Pro, Checkmk Ultimate, Checkmk Cloud, Checkmk Ultimate MT
2.5.0p15
Not yet released
Checkmk Community, Checkmk Pro, Checkmk Ultimate, Checkmk Cloud, Checkmk Ultimate MT

Previously, when a request to Checkmk failed -- due to a timeout, invalid input, missing permissions, an unknown page, and so on -- the HTTP response still carried status 200 OK, with only the error message in the body indicating something went wrong. A caller that checks the status code rather than parsing the body had no way to detect the failure.

This mattered most for machine-readable output formats, such as downloading a CSV export from a view via output_format=csv_export in a script.

Failing requests now return the status code that matches the actual failure -- for example 503 Service Unavailable for a timeout, 400 Bad Request for invalid input, 401 Unauthorized for missing authentication, or 404 Not Found for an unknown page -- instead of always 200.

If you have automation or scripts calling into Checkmk that only check for a 200 status to judge success, review them: a failure that used to pass silently will now correctly surface as a non-2xx response.

To the list of all Werks