The API call to update the discovery state of a service is not working for the state “monitored” if you want to enable the monitoring for a found service. The other action ignore is working as expected.
Example:
curl -X 'PUT' \
'http://localhost:5000/cmk/check_mk/api/1.0/objects/host/localhost/actions/update_discovery_phase/invoke' \
-H 'accept: */*' \
-H 'Authorization: Basic authstring' \
-H 'Content-Type: application/json' \
-d '{
"target_phase": "monitored",
"check_type": "df",
"service_item": "C:/"
}'
Leads to a change inside the monitoring but without enabling the filesystem check for C:.
The response from API is as expected a 204 without any output.