Update an alert channel
const url = 'https://app.hostrepute.com/api/v1/alerts/01a178db-d7b6-7131-a50c-cb60224dd1cd';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"type":"email","settings":null,"frequency":"once_on_listed_delisted","is_active":true,"alert_group_uuids":["01a178db-d7b4-730d-82fa-5fb952d888e4"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://app.hostrepute.com/api/v1/alerts/01a178db-d7b6-7131-a50c-cb60224dd1cd \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "type": "email", "settings": null, "frequency": "once_on_listed_delisted", "is_active": true, "alert_group_uuids": [ "01a178db-d7b4-730d-82fa-5fb952d888e4" ] }'Change an alert channel. Send only the fields you want to change. When you change type, also send the settings field for the new type. When you change a webhook channel’s URL and leave out settings.webhook_secret, the current secret is kept.
Needs the alert:update ability.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The UUID of the alert channel.
Example
01a178db-d7b6-7131-a50c-cb60224dd1cdRequest Body
Section titled “Request Body”object
The kind of channel. Your plan decides which ones you can use.
Example
nullWhere the channel sends alerts. Send the one field that matches the channel’s type.
object
The email address to send alerts to.
Example
nullA Slack incoming webhook URL on hooks.slack.com.
Example
nullThe Telegram chat ID to send alerts to.
Example
nullA Discord webhook URL on discord.com.
Example
nullThe integration (routing) key of a PagerDuty Events API v2 integration.
Example
nullYour Pushover user key.
Example
nullThe public HTTPS URL HostRepute posts alerts to.
Example
nullA new signing secret, 32 to 255 characters. Leave it out to keep the current one.
Example
nullExample
nullWhich blocklist alerts the channel gets: once_on_listed_delisted when a domain or IP is listed and again when it is removed, or once_per_check_while_listed only when it is listed.
Example
once_per_check_while_listedWhether the channel sends alerts. A channel your plan no longer includes can still be turned off.
Example
trueThe UUIDs of the delivery hours this channel follows. Replaces the current list.
Example
[ "01a178db-d7b4-730d-82fa-5fb952d888e4"]Responses
Section titled “Responses”object
object
object
object
object
object
object
object
object
object
object
Example
{ "data": { "uuid": "01a178db-d7b6-7131-a50c-cb60224dd1cd", "type": "email", "frequency": "once_per_check_while_listed", "is_active": true, "last_sent_at": "2026-10-25T21:31:02.000000Z", "alert_groups": [ { "uuid": "01a178db-d7b4-730d-82fa-5fb952d888e4", "name": "Business hours", "slug": "business-hours", "timezone": "America/New_York", "schedule": { "mon": { "enabled": true, "start": "08:00", "end": "18:00" }, "tue": { "enabled": true, "start": "08:00", "end": "18:00" }, "wed": { "enabled": true, "start": "08:00", "end": "18:00" }, "thu": { "enabled": true, "start": "08:00", "end": "18:00" }, "fri": { "enabled": true, "start": "08:00", "end": "18:00" }, "sat": { "enabled": false, "start": "08:00", "end": "18:00" }, "sun": { "enabled": false, "start": "08:00", "end": "18:00" } }, "is_default": false, "created_at": "2026-07-15T13:02:19.000000Z", "updated_at": "2026-07-15T13:02:19.000000Z" } ], "created_at": "2026-07-15T13:04:51.000000Z", "updated_at": "2026-10-26T15:37:16.000000Z" }}No alert channel with this UUID in your team
object
Example
{ "message": "No query results for model [App\\Models\\Alert] 01a178db-d7b6-7131-a50c-cb60224dd1cd"}Channel not on your plan
object
object
Example
{ "message": "This alert destination channel is not available on your current subscription plan.", "errors": { "type": [ "This alert destination channel is not available on your current subscription plan." ] }}
