curl --request POST \
--url https://api.phare.io/uptime/maintenance-windows \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Database upgrade",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"description": "Planned database upgrade and maintenance",
"monitors": [
1,
2,
3
],
"status_pages": [
1,
2
]
}
'import requests
url = "https://api.phare.io/uptime/maintenance-windows"
payload = {
"title": "Database upgrade",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"description": "Planned database upgrade and maintenance",
"monitors": [1, 2, 3],
"status_pages": [1, 2]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Database upgrade',
starts_at: '2023-11-07T05:31:56Z',
ends_at: '2023-11-07T05:31:56Z',
description: 'Planned database upgrade and maintenance',
monitors: [1, 2, 3],
status_pages: [1, 2]
})
};
fetch('https://api.phare.io/uptime/maintenance-windows', 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/maintenance-windows",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => 'Database upgrade',
'starts_at' => '2023-11-07T05:31:56Z',
'ends_at' => '2023-11-07T05:31:56Z',
'description' => 'Planned database upgrade and maintenance',
'monitors' => [
1,
2,
3
],
'status_pages' => [
1,
2
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.phare.io/uptime/maintenance-windows"
payload := strings.NewReader("{\n \"title\": \"Database upgrade\",\n \"starts_at\": \"2023-11-07T05:31:56Z\",\n \"ends_at\": \"2023-11-07T05:31:56Z\",\n \"description\": \"Planned database upgrade and maintenance\",\n \"monitors\": [\n 1,\n 2,\n 3\n ],\n \"status_pages\": [\n 1,\n 2\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.phare.io/uptime/maintenance-windows")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Database upgrade\",\n \"starts_at\": \"2023-11-07T05:31:56Z\",\n \"ends_at\": \"2023-11-07T05:31:56Z\",\n \"description\": \"Planned database upgrade and maintenance\",\n \"monitors\": [\n 1,\n 2,\n 3\n ],\n \"status_pages\": [\n 1,\n 2\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.phare.io/uptime/maintenance-windows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Database upgrade\",\n \"starts_at\": \"2023-11-07T05:31:56Z\",\n \"ends_at\": \"2023-11-07T05:31:56Z\",\n \"description\": \"Planned database upgrade and maintenance\",\n \"monitors\": [\n 1,\n 2,\n 3\n ],\n \"status_pages\": [\n 1,\n 2\n ]\n}"
response = http.request(request)
puts response.read_body{
"monitoring_mode": "pause",
"title": "Database upgrade",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"id": 1,
"project_id": 1,
"state": "scheduled",
"description": "Planned database upgrade and maintenance",
"monitors": [
1,
2,
3
],
"status_pages": [
1,
2
],
"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": "<string>",
"errors": {
"key": [
"The key field is required"
]
}
}Create a maintenance window
Create a maintenance window
curl --request POST \
--url https://api.phare.io/uptime/maintenance-windows \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Database upgrade",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"description": "Planned database upgrade and maintenance",
"monitors": [
1,
2,
3
],
"status_pages": [
1,
2
]
}
'import requests
url = "https://api.phare.io/uptime/maintenance-windows"
payload = {
"title": "Database upgrade",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"description": "Planned database upgrade and maintenance",
"monitors": [1, 2, 3],
"status_pages": [1, 2]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Database upgrade',
starts_at: '2023-11-07T05:31:56Z',
ends_at: '2023-11-07T05:31:56Z',
description: 'Planned database upgrade and maintenance',
monitors: [1, 2, 3],
status_pages: [1, 2]
})
};
fetch('https://api.phare.io/uptime/maintenance-windows', 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/maintenance-windows",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => 'Database upgrade',
'starts_at' => '2023-11-07T05:31:56Z',
'ends_at' => '2023-11-07T05:31:56Z',
'description' => 'Planned database upgrade and maintenance',
'monitors' => [
1,
2,
3
],
'status_pages' => [
1,
2
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.phare.io/uptime/maintenance-windows"
payload := strings.NewReader("{\n \"title\": \"Database upgrade\",\n \"starts_at\": \"2023-11-07T05:31:56Z\",\n \"ends_at\": \"2023-11-07T05:31:56Z\",\n \"description\": \"Planned database upgrade and maintenance\",\n \"monitors\": [\n 1,\n 2,\n 3\n ],\n \"status_pages\": [\n 1,\n 2\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.phare.io/uptime/maintenance-windows")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Database upgrade\",\n \"starts_at\": \"2023-11-07T05:31:56Z\",\n \"ends_at\": \"2023-11-07T05:31:56Z\",\n \"description\": \"Planned database upgrade and maintenance\",\n \"monitors\": [\n 1,\n 2,\n 3\n ],\n \"status_pages\": [\n 1,\n 2\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.phare.io/uptime/maintenance-windows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Database upgrade\",\n \"starts_at\": \"2023-11-07T05:31:56Z\",\n \"ends_at\": \"2023-11-07T05:31:56Z\",\n \"description\": \"Planned database upgrade and maintenance\",\n \"monitors\": [\n 1,\n 2,\n 3\n ],\n \"status_pages\": [\n 1,\n 2\n ]\n}"
response = http.request(request)
puts response.read_body{
"monitoring_mode": "pause",
"title": "Database upgrade",
"starts_at": "2023-11-07T05:31:56Z",
"ends_at": "2023-11-07T05:31:56Z",
"id": 1,
"project_id": 1,
"state": "scheduled",
"description": "Planned database upgrade and maintenance",
"monitors": [
1,
2,
3
],
"status_pages": [
1,
2
],
"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": "<string>",
"errors": {
"key": [
"The key field is required"
]
}
}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"
Body
Maintenance window request
Maintenance window title
"Database upgrade"
pause, mute, normal Date and time when the maintenance window starts
Date and time when the maintenance window ends
Description of the maintenance window
"Planned database upgrade and maintenance"
List of monitor IDs linked to the maintenance window
[1, 2, 3]
List of status page IDs linked to the maintenance window
[1, 2]
Response
Success, maintenance window created
pause, mute, normal Maintenance window title
"Database upgrade"
Date and time when the maintenance window starts
Date and time when the maintenance window ends
Maintenance window ID
1
Parent project ID
1
scheduled, in_progress, completed, cancelled Description of the maintenance window
"Planned database upgrade and maintenance"
List of monitor IDs linked to the maintenance window
[1, 2, 3]
List of status page IDs linked to the maintenance window
[1, 2]
Date of creation for the entity
Date of last update for the entity
Was this page helpful?