Remove-downtime via curl not API

I create a downtime like the blogpost Using the Icinga Web API

/usr/bin/curl -H "Accept: application/json" -k -u "${user}:${password}" "${url}/host/schedule-downtime?host=${host}" -F "type=fixed" -F start="$start" -F end="$ende" -F "comment=${comment}" -F "all_services=${all_services}" -s

Now I want to remove this downtime with the same way but ic cant find a solution for that.

Give as much information as you can, e.g.

  • Icinga Web 2 2.9.3
  • Used modules and their versions grafana 1.4.2 monitoring 2.9.3
  • Web browser used firefox/curl
  • Icinga 2 version used 2.13.1-1
  • PHP version used 7.3
  • Server operating system and version CentOS 7.9

I think this endpoint is what you’re looking for:
https://icinga.com/docs/icinga-2/latest/doc/12-icinga2-api/#remove-downtime

Hi Ben,

https://localhost:5665/v1/actions/remove-downtime'

is not the solution i need. I want to remove the dowtnime from the agent.
When I try to open

"https://monitor.example.org/v1/actions/remove-downtime"

I get the message

{"status":"error","message":"Page not found."}

Hi, the link mentioned by @steaksauce is correct. if you want to this directly from the agent, not from the master endpoint, there is following question: Did you configured there also the api feature incl. a user with correct permissions?

1 Like

Hi,
yes I have an user with all permissions to set and delete a downtime.
This user ist not an api-user only a web-user. I want to remove the downtime with the normal url with https.

if you want to call an API request, you need an API-user, not an web-user!

For me it looks like you mixes up or confuses the url of the icinga api and icingaweb2. That are two diffrent things! For icingaweb2 there doesn’t exist an api endpoint for this!

1 Like

Thank you very much for the answer.
I want to set the downtime over the icingaweb2 website. If there doesnt exist an endpoint for delete a downtime this is not good for me and i hope it will become in the future.

Icingaweb2 itself has no own API. It’s only an UI which is showing data collected from icinga2. So why create a second API for icingaweb which would only do the same? Or create icingaweb2-API which only push the request to the icinga API? This would be an overhead, wouldn’t it?

At the end you have to look into the icinga2 api and find a way which fits for you :wink:

1 Like