List incidents
curl --request GET \
--url https://api.phare.io/uptime/incidents \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.phare.io/uptime/incidents"
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/incidents', 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/incidents",
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/incidents"
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/incidents")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.phare.io/uptime/incidents")
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{
"data": [
{
"impact": "unknown",
"title": "Service is not working as expected",
"exclude_from_downtime": false,
"id": 1,
"project_id": 1,
"type": "monitor",
"slug": "APP-123",
"state": "unknown",
"status": "ongoing",
"description": "The server answered with an unexpected status code: 503.",
"incident_at": "2023-11-07T05:31:56Z",
"recovery_at": "2023-11-07T05:31:56Z",
"monitors": [
1,
2,
3
],
"tags": [
"environment:production"
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"meta": {
"current_page": 2,
"from": 11,
"to": 20,
"per_page": 100,
"path": "https://api.phare.io/{resource}?page=2"
},
"links": {
"first": "https://api.phare.io/{resource}?page=2",
"last": "https://api.phare.io/{resource}?page=10",
"prev": "https://api.phare.io/{resource}?page=1",
"next": "https://api.phare.io/{resource}?page=1"
}
}{
"message": "Unauthorized"
}{
"message": "The platform:write permission is required to perform this action."
}Incidents
List incidents
Get a paginated list of incidents
GET
/
uptime
/
incidents
List incidents
curl --request GET \
--url https://api.phare.io/uptime/incidents \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.phare.io/uptime/incidents"
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/incidents', 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/incidents",
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/incidents"
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/incidents")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.phare.io/uptime/incidents")
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{
"data": [
{
"impact": "unknown",
"title": "Service is not working as expected",
"exclude_from_downtime": false,
"id": 1,
"project_id": 1,
"type": "monitor",
"slug": "APP-123",
"state": "unknown",
"status": "ongoing",
"description": "The server answered with an unexpected status code: 503.",
"incident_at": "2023-11-07T05:31:56Z",
"recovery_at": "2023-11-07T05:31:56Z",
"monitors": [
1,
2,
3
],
"tags": [
"environment:production"
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"meta": {
"current_page": 2,
"from": 11,
"to": 20,
"per_page": 100,
"path": "https://api.phare.io/{resource}?page=2"
},
"links": {
"first": "https://api.phare.io/{resource}?page=2",
"last": "https://api.phare.io/{resource}?page=10",
"prev": "https://api.phare.io/{resource}?page=1",
"next": "https://api.phare.io/{resource}?page=1"
}
}{
"message": "Unauthorized"
}{
"message": "The platform:write permission is required to perform this action."
}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.
Example:
1
A project header is required when using an organization-scoped API key.
Example:
"luminous-guiding-tower"
Query Parameters
Filter incidents by monitor ID. Can be specified multiple times to filter by multiple monitor IDs.
Filter incidents by tag. Can be specified multiple times to filter by multiple tags.
Page number to show
Example:
1
Number of resources to return per page
Required range:
1 <= x <= 100Example:
20
Last modified on February 8, 2026
Was this page helpful?