Delete a monitor
curl --request DELETE \
--url https://api.phare.io/uptime/monitors/{monitorId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.phare.io/uptime/monitors/{monitorId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.phare.io/uptime/monitors/{monitorId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.phare.io/uptime/monitors/{monitorId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.phare.io/uptime/monitors/{monitorId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.phare.io/uptime/monitors/{monitorId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.phare.io/uptime/monitors/{monitorId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyThis response has no body data.{
"message": "Unauthenticated."
}{
"message": "The monitors:write permission is required to perform this action."
}{
"message": "Record not found."
}Monitors
Delete a monitor
Delete a monitor by ID with its check history, its status page components, and the incidents and maintenance windows of this monitor only, the ones shared with other monitors are kept. This cannot be undone, and triggers the uptime.monitor.deleted alert rules.
Requires the monitors:write permission.
DELETE
/
uptime
/
monitors
/
{monitorId}
Delete a monitor
curl --request DELETE \
--url https://api.phare.io/uptime/monitors/{monitorId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.phare.io/uptime/monitors/{monitorId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.phare.io/uptime/monitors/{monitorId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.phare.io/uptime/monitors/{monitorId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.phare.io/uptime/monitors/{monitorId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.phare.io/uptime/monitors/{monitorId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.phare.io/uptime/monitors/{monitorId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyThis response has no body data.{
"message": "Unauthenticated."
}{
"message": "The monitors:write permission is required to perform this action."
}{
"message": "Record not found."
}Authorizations
Use a user token to access authenticated routes. The token must be specified in the Authorization HTTP header with the following format 'Authorization: Bearer '.
Scopes
monitors:write
Headers
A project header is required when using an organization-scoped API key.
Example:
1
A project header is required when using an organization-scoped API key.
Example:
"luminous-guiding-tower"
Path Parameters
ID of the monitor to delete
Response
Success, monitor deleted
Last modified on February 8, 2026
Was this page helpful?