Create
Create a status page incident.
This endpoint requires an API key with the βCreate status page incidents, status page maintenance windows, and publish status page updatesβ scope.
curl --request POST \
--url https://api.incident.io/v2/status_page_incidents \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"component_statuses": [
{
"component_id": "01FCNDV6P870EA6S7TK1DSYDG2",
"component_status": "operational"
}
],
"idempotency_key": "alert-12345-abcde",
"incident_status": "investigating",
"message": "We are currently investigating reports of elevated error rates affecting our API.",
"name": "Elevated API latency",
"notify_subscribers": true,
"status_page_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}
'import requests
url = "https://api.incident.io/v2/status_page_incidents"
payload = {
"component_statuses": [
{
"component_id": "01FCNDV6P870EA6S7TK1DSYDG2",
"component_status": "operational"
}
],
"idempotency_key": "alert-12345-abcde",
"incident_status": "investigating",
"message": "We are currently investigating reports of elevated error rates affecting our API.",
"name": "Elevated API latency",
"notify_subscribers": True,
"status_page_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}
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({
component_statuses: [{component_id: '01FCNDV6P870EA6S7TK1DSYDG2', component_status: 'operational'}],
idempotency_key: 'alert-12345-abcde',
incident_status: 'investigating',
message: 'We are currently investigating reports of elevated error rates affecting our API.',
name: 'Elevated API latency',
notify_subscribers: true,
status_page_id: '01FCNDV6P870EA6S7TK1DSYDG0'
})
};
fetch('https://api.incident.io/v2/status_page_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.incident.io/v2/status_page_incidents",
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([
'component_statuses' => [
[
'component_id' => '01FCNDV6P870EA6S7TK1DSYDG2',
'component_status' => 'operational'
]
],
'idempotency_key' => 'alert-12345-abcde',
'incident_status' => 'investigating',
'message' => 'We are currently investigating reports of elevated error rates affecting our API.',
'name' => 'Elevated API latency',
'notify_subscribers' => true,
'status_page_id' => '01FCNDV6P870EA6S7TK1DSYDG0'
]),
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.incident.io/v2/status_page_incidents"
payload := strings.NewReader("{\n \"component_statuses\": [\n {\n \"component_id\": \"01FCNDV6P870EA6S7TK1DSYDG2\",\n \"component_status\": \"operational\"\n }\n ],\n \"idempotency_key\": \"alert-12345-abcde\",\n \"incident_status\": \"investigating\",\n \"message\": \"We are currently investigating reports of elevated error rates affecting our API.\",\n \"name\": \"Elevated API latency\",\n \"notify_subscribers\": true,\n \"status_page_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\"\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.incident.io/v2/status_page_incidents")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"component_statuses\": [\n {\n \"component_id\": \"01FCNDV6P870EA6S7TK1DSYDG2\",\n \"component_status\": \"operational\"\n }\n ],\n \"idempotency_key\": \"alert-12345-abcde\",\n \"incident_status\": \"investigating\",\n \"message\": \"We are currently investigating reports of elevated error rates affecting our API.\",\n \"name\": \"Elevated API latency\",\n \"notify_subscribers\": true,\n \"status_page_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.incident.io/v2/status_page_incidents")
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 \"component_statuses\": [\n {\n \"component_id\": \"01FCNDV6P870EA6S7TK1DSYDG2\",\n \"component_status\": \"operational\"\n }\n ],\n \"idempotency_key\": \"alert-12345-abcde\",\n \"incident_status\": \"investigating\",\n \"message\": \"We are currently investigating reports of elevated error rates affecting our API.\",\n \"name\": \"Elevated API latency\",\n \"notify_subscribers\": true,\n \"status_page_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\"\n}"
response = http.request(request)
puts response.read_body{
"status_page_incident": {
"component_impacts": [
{
"component_id": "01GW7P4ES31Q6V1ZQH321T0GJN",
"component_status": "degraded_performance",
"end_at": "2021-08-17T13:28:57.801578Z",
"start_at": "2021-08-17T13:28:57.801578Z"
}
],
"id": "01FCNDV6P870EA6S7TK1DSYDG0",
"incident_status": "investigating",
"name": "Elevated API latency",
"published_at": "2021-08-17T13:28:57.801578Z",
"status_page_id": "01FCNDV6P870EA6S7TK1DSYDG0",
"updates": [
{
"component_statuses": [
{
"component_id": "01FCNDV6P870EA6S7TK1DSYDG2",
"component_status": "operational"
}
],
"id": "01FCNDV6P870EA6S7TK1DSYDG0",
"incident_status": "investigating",
"message": "abc123",
"published_at": "2021-08-17T13:28:57.801578Z",
"status_page_incident_id": "01FCNDV6P870EA6S7TK1DSYDG1"
}
]
}
}Authorizations
API key from your incident.io dashboard (Settings β API keys)
Body
A unique key to de-duplicate requests. If you send a request with an idempotency_key that was already used, the original response will be returned.
"alert-12345-abcde"
Current status for this status page incident
investigating, identified, monitoring, resolved "investigating"
Markdown initial update on this status page incident
4096"We are currently investigating reports of elevated error rates affecting our API."
A title for the incident
200"Elevated API latency"
Whether to notify subscribers about this status page incident. This will not work if your status page has more than 1000 subscribers.
true
ID of the status page. You can find this by calling the ListStatusPages endpoint.
"01FCNDV6P870EA6S7TK1DSYDG0"
An array of mappings from component ID to current component status
Show child attributes
Show child attributes
[
{
"component_id": "01FCNDV6P870EA6S7TK1DSYDG2",
"component_status": "operational"
}
]
Response
Created response.
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://api.incident.io/v2/status_page_incidents \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"component_statuses": [
{
"component_id": "01FCNDV6P870EA6S7TK1DSYDG2",
"component_status": "operational"
}
],
"idempotency_key": "alert-12345-abcde",
"incident_status": "investigating",
"message": "We are currently investigating reports of elevated error rates affecting our API.",
"name": "Elevated API latency",
"notify_subscribers": true,
"status_page_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}
'import requests
url = "https://api.incident.io/v2/status_page_incidents"
payload = {
"component_statuses": [
{
"component_id": "01FCNDV6P870EA6S7TK1DSYDG2",
"component_status": "operational"
}
],
"idempotency_key": "alert-12345-abcde",
"incident_status": "investigating",
"message": "We are currently investigating reports of elevated error rates affecting our API.",
"name": "Elevated API latency",
"notify_subscribers": True,
"status_page_id": "01FCNDV6P870EA6S7TK1DSYDG0"
}
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({
component_statuses: [{component_id: '01FCNDV6P870EA6S7TK1DSYDG2', component_status: 'operational'}],
idempotency_key: 'alert-12345-abcde',
incident_status: 'investigating',
message: 'We are currently investigating reports of elevated error rates affecting our API.',
name: 'Elevated API latency',
notify_subscribers: true,
status_page_id: '01FCNDV6P870EA6S7TK1DSYDG0'
})
};
fetch('https://api.incident.io/v2/status_page_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.incident.io/v2/status_page_incidents",
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([
'component_statuses' => [
[
'component_id' => '01FCNDV6P870EA6S7TK1DSYDG2',
'component_status' => 'operational'
]
],
'idempotency_key' => 'alert-12345-abcde',
'incident_status' => 'investigating',
'message' => 'We are currently investigating reports of elevated error rates affecting our API.',
'name' => 'Elevated API latency',
'notify_subscribers' => true,
'status_page_id' => '01FCNDV6P870EA6S7TK1DSYDG0'
]),
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.incident.io/v2/status_page_incidents"
payload := strings.NewReader("{\n \"component_statuses\": [\n {\n \"component_id\": \"01FCNDV6P870EA6S7TK1DSYDG2\",\n \"component_status\": \"operational\"\n }\n ],\n \"idempotency_key\": \"alert-12345-abcde\",\n \"incident_status\": \"investigating\",\n \"message\": \"We are currently investigating reports of elevated error rates affecting our API.\",\n \"name\": \"Elevated API latency\",\n \"notify_subscribers\": true,\n \"status_page_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\"\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.incident.io/v2/status_page_incidents")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"component_statuses\": [\n {\n \"component_id\": \"01FCNDV6P870EA6S7TK1DSYDG2\",\n \"component_status\": \"operational\"\n }\n ],\n \"idempotency_key\": \"alert-12345-abcde\",\n \"incident_status\": \"investigating\",\n \"message\": \"We are currently investigating reports of elevated error rates affecting our API.\",\n \"name\": \"Elevated API latency\",\n \"notify_subscribers\": true,\n \"status_page_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.incident.io/v2/status_page_incidents")
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 \"component_statuses\": [\n {\n \"component_id\": \"01FCNDV6P870EA6S7TK1DSYDG2\",\n \"component_status\": \"operational\"\n }\n ],\n \"idempotency_key\": \"alert-12345-abcde\",\n \"incident_status\": \"investigating\",\n \"message\": \"We are currently investigating reports of elevated error rates affecting our API.\",\n \"name\": \"Elevated API latency\",\n \"notify_subscribers\": true,\n \"status_page_id\": \"01FCNDV6P870EA6S7TK1DSYDG0\"\n}"
response = http.request(request)
puts response.read_body{
"status_page_incident": {
"component_impacts": [
{
"component_id": "01GW7P4ES31Q6V1ZQH321T0GJN",
"component_status": "degraded_performance",
"end_at": "2021-08-17T13:28:57.801578Z",
"start_at": "2021-08-17T13:28:57.801578Z"
}
],
"id": "01FCNDV6P870EA6S7TK1DSYDG0",
"incident_status": "investigating",
"name": "Elevated API latency",
"published_at": "2021-08-17T13:28:57.801578Z",
"status_page_id": "01FCNDV6P870EA6S7TK1DSYDG0",
"updates": [
{
"component_statuses": [
{
"component_id": "01FCNDV6P870EA6S7TK1DSYDG2",
"component_status": "operational"
}
],
"id": "01FCNDV6P870EA6S7TK1DSYDG0",
"incident_status": "investigating",
"message": "abc123",
"published_at": "2021-08-17T13:28:57.801578Z",
"status_page_incident_id": "01FCNDV6P870EA6S7TK1DSYDG1"
}
]
}
}