curl --request POST \
--url 'https://api.flashcat.cloud/status-page/change/create?app_key=' \
--header 'Content-Type: application/json' \
--data '
{
"page_id": 5750613685214,
"type": "incident",
"title": "Web Console Degraded Performance",
"description": "We are investigating degraded performance affecting the web console.",
"status": "investigating",
"start_at_seconds": 1712000000,
"notify_subscribers": true,
"updates": [
{
"status": "investigating",
"description": "We are currently investigating an issue affecting some users.",
"component_changes": [
{
"component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
"status": "degraded"
}
]
}
]
}
'import requests
url = "https://api.flashcat.cloud/status-page/change/create?app_key="
payload = {
"page_id": 5750613685214,
"type": "incident",
"title": "Web Console Degraded Performance",
"description": "We are investigating degraded performance affecting the web console.",
"status": "investigating",
"start_at_seconds": 1712000000,
"notify_subscribers": True,
"updates": [
{
"status": "investigating",
"description": "We are currently investigating an issue affecting some users.",
"component_changes": [
{
"component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
"status": "degraded"
}
]
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
page_id: 5750613685214,
type: 'incident',
title: 'Web Console Degraded Performance',
description: 'We are investigating degraded performance affecting the web console.',
status: 'investigating',
start_at_seconds: 1712000000,
notify_subscribers: true,
updates: [
{
status: 'investigating',
description: 'We are currently investigating an issue affecting some users.',
component_changes: [{component_id: '01KC3GAZ6ZJE40H55GM31RPWZE', status: 'degraded'}]
}
]
})
};
fetch('https://api.flashcat.cloud/status-page/change/create?app_key=', 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.flashcat.cloud/status-page/change/create?app_key=",
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([
'page_id' => 5750613685214,
'type' => 'incident',
'title' => 'Web Console Degraded Performance',
'description' => 'We are investigating degraded performance affecting the web console.',
'status' => 'investigating',
'start_at_seconds' => 1712000000,
'notify_subscribers' => true,
'updates' => [
[
'status' => 'investigating',
'description' => 'We are currently investigating an issue affecting some users.',
'component_changes' => [
[
'component_id' => '01KC3GAZ6ZJE40H55GM31RPWZE',
'status' => 'degraded'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"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.flashcat.cloud/status-page/change/create?app_key="
payload := strings.NewReader("{\n \"page_id\": 5750613685214,\n \"type\": \"incident\",\n \"title\": \"Web Console Degraded Performance\",\n \"description\": \"We are investigating degraded performance affecting the web console.\",\n \"status\": \"investigating\",\n \"start_at_seconds\": 1712000000,\n \"notify_subscribers\": true,\n \"updates\": [\n {\n \"status\": \"investigating\",\n \"description\": \"We are currently investigating an issue affecting some users.\",\n \"component_changes\": [\n {\n \"component_id\": \"01KC3GAZ6ZJE40H55GM31RPWZE\",\n \"status\": \"degraded\"\n }\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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.flashcat.cloud/status-page/change/create?app_key=")
.header("Content-Type", "application/json")
.body("{\n \"page_id\": 5750613685214,\n \"type\": \"incident\",\n \"title\": \"Web Console Degraded Performance\",\n \"description\": \"We are investigating degraded performance affecting the web console.\",\n \"status\": \"investigating\",\n \"start_at_seconds\": 1712000000,\n \"notify_subscribers\": true,\n \"updates\": [\n {\n \"status\": \"investigating\",\n \"description\": \"We are currently investigating an issue affecting some users.\",\n \"component_changes\": [\n {\n \"component_id\": \"01KC3GAZ6ZJE40H55GM31RPWZE\",\n \"status\": \"degraded\"\n }\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flashcat.cloud/status-page/change/create?app_key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"page_id\": 5750613685214,\n \"type\": \"incident\",\n \"title\": \"Web Console Degraded Performance\",\n \"description\": \"We are investigating degraded performance affecting the web console.\",\n \"status\": \"investigating\",\n \"start_at_seconds\": 1712000000,\n \"notify_subscribers\": true,\n \"updates\": [\n {\n \"status\": \"investigating\",\n \"description\": \"We are currently investigating an issue affecting some users.\",\n \"component_changes\": [\n {\n \"component_id\": \"01KC3GAZ6ZJE40H55GM31RPWZE\",\n \"status\": \"degraded\"\n }\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"data": {
"change_id": 6294539747131,
"change_name": "API Test Incident"
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InvalidParameter",
"message": "The specified parameter is not valid."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "Unauthorized",
"message": "You are unauthorized."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "RequestTooFrequently",
"message": "Request too frequently."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InternalError",
"message": "We encountered an internal error, and it has been reported. Please try again later."
}
}Create status page event
Create a new incident or maintenance event on a status page.
curl --request POST \
--url 'https://api.flashcat.cloud/status-page/change/create?app_key=' \
--header 'Content-Type: application/json' \
--data '
{
"page_id": 5750613685214,
"type": "incident",
"title": "Web Console Degraded Performance",
"description": "We are investigating degraded performance affecting the web console.",
"status": "investigating",
"start_at_seconds": 1712000000,
"notify_subscribers": true,
"updates": [
{
"status": "investigating",
"description": "We are currently investigating an issue affecting some users.",
"component_changes": [
{
"component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
"status": "degraded"
}
]
}
]
}
'import requests
url = "https://api.flashcat.cloud/status-page/change/create?app_key="
payload = {
"page_id": 5750613685214,
"type": "incident",
"title": "Web Console Degraded Performance",
"description": "We are investigating degraded performance affecting the web console.",
"status": "investigating",
"start_at_seconds": 1712000000,
"notify_subscribers": True,
"updates": [
{
"status": "investigating",
"description": "We are currently investigating an issue affecting some users.",
"component_changes": [
{
"component_id": "01KC3GAZ6ZJE40H55GM31RPWZE",
"status": "degraded"
}
]
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
page_id: 5750613685214,
type: 'incident',
title: 'Web Console Degraded Performance',
description: 'We are investigating degraded performance affecting the web console.',
status: 'investigating',
start_at_seconds: 1712000000,
notify_subscribers: true,
updates: [
{
status: 'investigating',
description: 'We are currently investigating an issue affecting some users.',
component_changes: [{component_id: '01KC3GAZ6ZJE40H55GM31RPWZE', status: 'degraded'}]
}
]
})
};
fetch('https://api.flashcat.cloud/status-page/change/create?app_key=', 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.flashcat.cloud/status-page/change/create?app_key=",
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([
'page_id' => 5750613685214,
'type' => 'incident',
'title' => 'Web Console Degraded Performance',
'description' => 'We are investigating degraded performance affecting the web console.',
'status' => 'investigating',
'start_at_seconds' => 1712000000,
'notify_subscribers' => true,
'updates' => [
[
'status' => 'investigating',
'description' => 'We are currently investigating an issue affecting some users.',
'component_changes' => [
[
'component_id' => '01KC3GAZ6ZJE40H55GM31RPWZE',
'status' => 'degraded'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"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.flashcat.cloud/status-page/change/create?app_key="
payload := strings.NewReader("{\n \"page_id\": 5750613685214,\n \"type\": \"incident\",\n \"title\": \"Web Console Degraded Performance\",\n \"description\": \"We are investigating degraded performance affecting the web console.\",\n \"status\": \"investigating\",\n \"start_at_seconds\": 1712000000,\n \"notify_subscribers\": true,\n \"updates\": [\n {\n \"status\": \"investigating\",\n \"description\": \"We are currently investigating an issue affecting some users.\",\n \"component_changes\": [\n {\n \"component_id\": \"01KC3GAZ6ZJE40H55GM31RPWZE\",\n \"status\": \"degraded\"\n }\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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.flashcat.cloud/status-page/change/create?app_key=")
.header("Content-Type", "application/json")
.body("{\n \"page_id\": 5750613685214,\n \"type\": \"incident\",\n \"title\": \"Web Console Degraded Performance\",\n \"description\": \"We are investigating degraded performance affecting the web console.\",\n \"status\": \"investigating\",\n \"start_at_seconds\": 1712000000,\n \"notify_subscribers\": true,\n \"updates\": [\n {\n \"status\": \"investigating\",\n \"description\": \"We are currently investigating an issue affecting some users.\",\n \"component_changes\": [\n {\n \"component_id\": \"01KC3GAZ6ZJE40H55GM31RPWZE\",\n \"status\": \"degraded\"\n }\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flashcat.cloud/status-page/change/create?app_key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"page_id\": 5750613685214,\n \"type\": \"incident\",\n \"title\": \"Web Console Degraded Performance\",\n \"description\": \"We are investigating degraded performance affecting the web console.\",\n \"status\": \"investigating\",\n \"start_at_seconds\": 1712000000,\n \"notify_subscribers\": true,\n \"updates\": [\n {\n \"status\": \"investigating\",\n \"description\": \"We are currently investigating an issue affecting some users.\",\n \"component_changes\": [\n {\n \"component_id\": \"01KC3GAZ6ZJE40H55GM31RPWZE\",\n \"status\": \"degraded\"\n }\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"data": {
"change_id": 6294539747131,
"change_name": "API Test Incident"
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InvalidParameter",
"message": "The specified parameter is not valid."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "Unauthorized",
"message": "You are unauthorized."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "RequestTooFrequently",
"message": "Request too frequently."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InternalError",
"message": "We encountered an internal error, and it has been reported. Please try again later."
}
}Restrictions
| Aspect | Value |
|---|---|
| Rate limits | 1,000 requests/minute; 50 requests/second per account |
| Permissions | Status Pages Events Manage (on-call) |
Authorizations
App key issued from the Flashduty console under Account → APP Keys. Required on every public API call. Keep it secret — it grants the same access as the owning account.
Body
Parameters for creating a status page incident or maintenance event. The first update must contain component_changes to define affected components; retrospective events require at least 2 updates.
Status page ID; obtain it from GET /status-page/list.
Change type: incident unplanned incident, maintenance planned maintenance.
incident, maintenance Event title, up to 255 characters.
255Event description (Markdown). Must not be empty.
Initial event status. investigating/identified/monitoring/resolved apply to incidents; scheduled/ongoing/completed apply to maintenances.
investigating, identified, monitoring, resolved, scheduled, ongoing, completed Timeline updates. At least one update is required, and at least one of them must contain component_changes. Immediate events normally pass one update; retrospective events must pass all historical updates.
1Show child attributes
Show child attributes
Event start time in Unix seconds. The stored start time is always derived from the first update's at_seconds (which defaults to the current time when omitted); for maintenances with auto_update_by_schedule, this value schedules the automatic transition to ongoing.
Member IDs responsible for the event.
Linked change IDs (related incidents, deployments, etc.).
Event close time in Unix seconds. Must be greater than or equal to the first update's at_seconds. For retrospective events this is the time the event ended; for maintenances with auto_update_by_schedule it schedules the automatic transition to completed and must be within 30 days from now.
Notify subscribers about this event and all its updates.
Maintenance only: automatically advance the status based on the scheduled window.
Mark this event as a retrospective (historical) one.
Response
Success
Success response envelope. On every 2xx response, request_id identifies the call (also mirrored in the Flashcat-Request-Id header) and data holds the endpoint-specific payload. Failure responses use a different shape — see ErrorResponse.
Was this page helpful?