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

Werk #22104: REST API: reject rule values in an outdated format when creating or editing rules

Component REST API
Title REST API: reject rule values in an outdated format when creating or editing rules
Date Aug 12, 2026
Level Trivial Change
Class Bug Fix
Compatibility Incompatible - Manual interaction might be required
Checkmk versions & editions
3.0.0b1
Not yet released
Checkmk Community, Checkmk Pro, Checkmk Ultimate, Checkmk Cloud, Checkmk Ultimate MT
2.5.0p12
Not yet released
Checkmk Community, Checkmk Pro, Checkmk Ultimate, Checkmk Cloud, Checkmk Ultimate MT

When creating or editing a rule via the REST API, Checkmk could store a value that did not match the value_raw reported in the API response.

During validation the value_raw field is migrated to the current format first and only then checked. Depending on the ruleset's migration logic, validation could therefore succeed while the original, unmigrated value was persisted to disk. Later on, the consuming plugin could stumble over the unmigrated value. For example, a "Periodic service discovery" rule created this way could send the "Check_MK Discovery" service into a crash.

The REST API now rejects such requests with an HTTP 400 error instead of silently migrating the value. Persisting a migrated value would store data the client is unaware of: unlike the GUI - which renders the migrated value before you save it - an API client never gets to see the migration, and the value_raw reported back would no longer match the input.

If you receive an "Outdated value format" error, migrate the affected value_raw to the current format - for example by opening and saving the rule once in the GUI, then reading it back via the REST API - and submit the migrated value.

To the list of all Werks