curl --request PUT \
--url https://sreagent.app/api/v1/config/status_page_settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"enabled": true,
"logo_url": "<string>",
"page_description": "<string>",
"primary_color": "<string>",
"show_history_days": 123,
"show_uptime_summary": true,
"subscribe_enabled": true,
"support_url": "<string>",
"timezone": "<string>",
"title": "<string>"
}
'import requests
url = "https://sreagent.app/api/v1/config/status_page_settings"
payload = {
"enabled": True,
"logo_url": "<string>",
"page_description": "<string>",
"primary_color": "<string>",
"show_history_days": 123,
"show_uptime_summary": True,
"subscribe_enabled": True,
"support_url": "<string>",
"timezone": "<string>",
"title": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
enabled: true,
logo_url: '<string>',
page_description: '<string>',
primary_color: '<string>',
show_history_days: 123,
show_uptime_summary: true,
subscribe_enabled: true,
support_url: '<string>',
timezone: '<string>',
title: '<string>'
})
};
fetch('https://sreagent.app/api/v1/config/status_page_settings', 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://sreagent.app/api/v1/config/status_page_settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'enabled' => true,
'logo_url' => '<string>',
'page_description' => '<string>',
'primary_color' => '<string>',
'show_history_days' => 123,
'show_uptime_summary' => true,
'subscribe_enabled' => true,
'support_url' => '<string>',
'timezone' => '<string>',
'title' => '<string>'
]),
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://sreagent.app/api/v1/config/status_page_settings"
payload := strings.NewReader("{\n \"enabled\": true,\n \"logo_url\": \"<string>\",\n \"page_description\": \"<string>\",\n \"primary_color\": \"<string>\",\n \"show_history_days\": 123,\n \"show_uptime_summary\": true,\n \"subscribe_enabled\": true,\n \"support_url\": \"<string>\",\n \"timezone\": \"<string>\",\n \"title\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://sreagent.app/api/v1/config/status_page_settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"enabled\": true,\n \"logo_url\": \"<string>\",\n \"page_description\": \"<string>\",\n \"primary_color\": \"<string>\",\n \"show_history_days\": 123,\n \"show_uptime_summary\": true,\n \"subscribe_enabled\": true,\n \"support_url\": \"<string>\",\n \"timezone\": \"<string>\",\n \"title\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sreagent.app/api/v1/config/status_page_settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"enabled\": true,\n \"logo_url\": \"<string>\",\n \"page_description\": \"<string>\",\n \"primary_color\": \"<string>\",\n \"show_history_days\": 123,\n \"show_uptime_summary\": true,\n \"subscribe_enabled\": true,\n \"support_url\": \"<string>\",\n \"timezone\": \"<string>\",\n \"title\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"error": "<string>",
"message": "<string>"
}Update the status page settings
Change one or more of the page’s settings; omitted ones keep their value. enabled is the publish switch: on, the page is served to anybody with the link, off, visitors get a 404. show_history_days is 7..90, the window the page can draw; timezone is an IANA zone name and is what every timestamp customers read is rendered in. logo_url and primary_color are sold separately from the page itself, and a plan without them refuses the call rather than saving the rest.
curl --request PUT \
--url https://sreagent.app/api/v1/config/status_page_settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"enabled": true,
"logo_url": "<string>",
"page_description": "<string>",
"primary_color": "<string>",
"show_history_days": 123,
"show_uptime_summary": true,
"subscribe_enabled": true,
"support_url": "<string>",
"timezone": "<string>",
"title": "<string>"
}
'import requests
url = "https://sreagent.app/api/v1/config/status_page_settings"
payload = {
"enabled": True,
"logo_url": "<string>",
"page_description": "<string>",
"primary_color": "<string>",
"show_history_days": 123,
"show_uptime_summary": True,
"subscribe_enabled": True,
"support_url": "<string>",
"timezone": "<string>",
"title": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
enabled: true,
logo_url: '<string>',
page_description: '<string>',
primary_color: '<string>',
show_history_days: 123,
show_uptime_summary: true,
subscribe_enabled: true,
support_url: '<string>',
timezone: '<string>',
title: '<string>'
})
};
fetch('https://sreagent.app/api/v1/config/status_page_settings', 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://sreagent.app/api/v1/config/status_page_settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'enabled' => true,
'logo_url' => '<string>',
'page_description' => '<string>',
'primary_color' => '<string>',
'show_history_days' => 123,
'show_uptime_summary' => true,
'subscribe_enabled' => true,
'support_url' => '<string>',
'timezone' => '<string>',
'title' => '<string>'
]),
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://sreagent.app/api/v1/config/status_page_settings"
payload := strings.NewReader("{\n \"enabled\": true,\n \"logo_url\": \"<string>\",\n \"page_description\": \"<string>\",\n \"primary_color\": \"<string>\",\n \"show_history_days\": 123,\n \"show_uptime_summary\": true,\n \"subscribe_enabled\": true,\n \"support_url\": \"<string>\",\n \"timezone\": \"<string>\",\n \"title\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://sreagent.app/api/v1/config/status_page_settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"enabled\": true,\n \"logo_url\": \"<string>\",\n \"page_description\": \"<string>\",\n \"primary_color\": \"<string>\",\n \"show_history_days\": 123,\n \"show_uptime_summary\": true,\n \"subscribe_enabled\": true,\n \"support_url\": \"<string>\",\n \"timezone\": \"<string>\",\n \"title\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sreagent.app/api/v1/config/status_page_settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"enabled\": true,\n \"logo_url\": \"<string>\",\n \"page_description\": \"<string>\",\n \"primary_color\": \"<string>\",\n \"show_history_days\": 123,\n \"show_uptime_summary\": true,\n \"subscribe_enabled\": true,\n \"support_url\": \"<string>\",\n \"timezone\": \"<string>\",\n \"title\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"error": "<string>",
"message": "<string>"
}Authorizations
An sre_ak_* API key holding the api:admin scope (or api:config_read, which every write refuses with read_only_key).
Body
The publish switch. Off, the public page answers 404 to everybody, including anyone holding the link.
https:// only. Sold with primary_color as custom branding: a plan without it refuses the whole call rather than saving the rest.
A line under the title, up to 280 characters, also used as the description of the RSS and Atom feeds. null clears it.
A 6-digit hex colour like #1d72ff. Custom branding, as logo_url.
7..90, the incident history and uptime window the page draws. The headline uptime figure snaps down to the widest standard window this covers.
Whether the overall uptime figure is shown beside the status banner.
Whether the header offers the RSS and Atom links.
Where a visitor goes for help. https:// only. null clears it.
An IANA zone name. Every timestamp customers read is rendered in it, and the uptime bars are that zone's calendar days.
The page's heading, up to 120 characters. null clears it.
Response
Updated.

