curl --request GET \
--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.get(url, headers=headers)
print(response.text)const options = {method: 'GET', 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 => "GET",
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("GET", 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.get("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::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"name": "Website",
"protocol": "http",
"request": {
"method": "HEAD",
"url": "https://docs.phare.io/introduction",
"tls_skip_verify": false,
"body": "Hello, World!",
"follow_redirects": true,
"user_agent_secret": "definitely-not-a-bot",
"headers": [
{
"name": "X-Phare-Says",
"value": "Hello world!"
}
]
},
"regions": [
"as-jpn-hnd"
],
"id": 1,
"project_id": 1,
"status": "fetching",
"paused": true,
"response_time": 123,
"interval": 60,
"timeout": 20000,
"success_assertions": [
{
"type": "status_code",
"operator": "in",
"value": "2xx,30x,418"
}
],
"incident_confirmations": 1,
"recovery_confirmations": 1,
"region_threshold": 1,
"last_checked_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "Unauthorized"
}{
"message": "The platform:write permission is required to perform this action."
}{
"message": "Resource not found"
}Get a monitor
Get a monitor by ID
curl --request GET \
--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.get(url, headers=headers)
print(response.text)const options = {method: 'GET', 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 => "GET",
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("GET", 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.get("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::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"name": "Website",
"protocol": "http",
"request": {
"method": "HEAD",
"url": "https://docs.phare.io/introduction",
"tls_skip_verify": false,
"body": "Hello, World!",
"follow_redirects": true,
"user_agent_secret": "definitely-not-a-bot",
"headers": [
{
"name": "X-Phare-Says",
"value": "Hello world!"
}
]
},
"regions": [
"as-jpn-hnd"
],
"id": 1,
"project_id": 1,
"status": "fetching",
"paused": true,
"response_time": 123,
"interval": 60,
"timeout": 20000,
"success_assertions": [
{
"type": "status_code",
"operator": "in",
"value": "2xx,30x,418"
}
],
"incident_confirmations": 1,
"recovery_confirmations": 1,
"region_threshold": 1,
"last_checked_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"message": "Unauthorized"
}{
"message": "The platform:write permission is required to perform this action."
}{
"message": "Resource 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 '.
Headers
A project header is required when using an organization-scoped API key.
1
A project header is required when using an organization-scoped API key.
"luminous-guiding-tower"
Path Parameters
ID of the monitor to show
Response
Success, monitor retrieved
Monitor name
"Website"
http, tcp Monitoring request, depends of the chosen protocol
- HTTP protocol
- TCP protocol
Show child attributes
Show child attributes
List of regions where monitoring checks are performed
1 - 6 elementsas-jpn-hnd, as-sgp-sin, as-tha-bkk, eu-deu-fra, eu-fra-cdg, eu-gbr-lhr, eu-swe-arn, ng-nld-ams, na-mex-mex, na-usa-iad, na-usa-sea, oc-aus-syd, sa-bra-gru Monitor ID
1
Parent project ID
1
fetching, online, offline, partial, paused Whether the monitor is currently paused
true
Rolling average response time of the last 10 requests, in milliseconds
123
Monitoring interval in seconds
30, 60, 120, 180, 300, 600, 900, 1800, 3600 60
Monitoring timeout in milliseconds
1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 15000, 20000, 25000, 30000 20000
List of assertions that must be true for the check to be considered successful
- Status code assertion
- Response header assertion
- Response body assertion
Show child attributes
Show child attributes
Number of uninterrupted failed checks required to create an incident
1, 2, 3, 4, 5 1
Number of uninterrupted successful checks required to resolve an incident
1, 2, 3, 4, 5 1
Number of regions that must fail before an incident is confirmed
1 <= x <= 101
Date of the last performed check with a 30s accuracy
Date of creation for the entity
Date of last update for the entity
Was this page helpful?