# Open an incident on a v3 status page. - Checkly Docs

> Open an incident on a v3 status page with its first update and the current status of the impacted components.

Source: https://www.checklyhq.com/docs/api-reference/status-pages-v3/open-an-incident-on-a-v3-status-page/

---

Open an incident on a v3 status page.

```
curl --request POST \
--url https://api.checklyhq.com/v3/status-pages/{statusPageId}/incidents \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data '
{
"name": " ",
"incidentUpdates": [
{
"description": " ",
"publicIncidentUpdateDate": "2026-10-05T01:01:24.648Z",
"notifySubscribers": false
}
],
"componentImpacts": [
{
"componentId": " "
}
]
}
'
```

```
import requests

url = "https://api.checklyhq.com/v3/status-pages/{statusPageId}/incidents"

payload = {
"name": " ",
"incidentUpdates": [
{
"description": " ",
"publicIncidentUpdateDate": "2026-10-05T01:01:24.648Z",
"notifySubscribers": False
}
],
"componentImpacts": [{ "componentId": " " }]
}
headers = {
"Authorization": "Bearer ",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

```
const options = {
method: 'POST',
headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: ' ',
incidentUpdates: [
{
description: ' ',
publicIncidentUpdateDate: '2026-10-05T01:01:24.648Z',
notifySubscribers: false
}
],
componentImpacts: [{componentId: ' '}]
})
};

fetch('https://api.checklyhq.com/v3/status-pages/{statusPageId}/incidents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
```

```
"https://api.checklyhq.com/v3/status-pages/{statusPageId}/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([
'name' => ' ',
'incidentUpdates' => [
[
'description' => ' ',
'publicIncidentUpdateDate' => '2026-10-05T01:01:24.648Z',
'notifySubscribers' => false
]
],
'componentImpacts' => [
[
'componentId' => ' '
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer ",
"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.checklyhq.com/v3/status-pages/{statusPageId}/incidents"

payload := strings.NewReader("{\n \"name\": \" \",\n \"incidentUpdates\": [\n {\n \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\n }\n ],\n \"componentImpacts\": [\n {\n \"componentId\": \" \"\n }\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer ")
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 response = Unirest.post("https://api.checklyhq.com/v3/status-pages/{statusPageId}/incidents")
.header("Authorization", "Bearer ")
.header("Content-Type", "application/json")
.body("{\n \"name\": \" \",\n \"incidentUpdates\": [\n {\n \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\n }\n ],\n \"componentImpacts\": [\n {\n \"componentId\": \" \"\n }\n ]\n}")
.asString();
```

```
require 'uri'
require 'net/http'

url = URI("https://api.checklyhq.com/v3/status-pages/{statusPageId}/incidents")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer '
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \" \",\n \"incidentUpdates\": [\n {\n \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\n }\n ],\n \"componentImpacts\": [\n {\n \"componentId\": \" \"\n }\n ]\n}"

response = http.request(request)
puts response.read_body
```

```
{
"id": " ",
"statusPageId": " ",
"name": " ",
"lastUpdateStatus": "INVESTIGATING",
"created_at": "2023-12-25",
"incidentUpdates": [
{
"description": " ",
"status": "INVESTIGATING",
"id": " ",
"created_at": "2023-12-25",
"publicIncidentUpdateDate": "2026-10-05T01:01:24.661Z",
"notifySubscribers": false
}
],
"duration": 123,
"componentImpacts": [
{
"componentId": " ",
"status": "OPERATIONAL",
"startedAt": "2023-12-25",
"endedAt": "2023-12-25"
}
],
"updated_at": "2023-12-25"
}
```

```
{
"statusCode": 401,
"error": "Unauthorized",
"message": "Bad Token",
"attributes": {}
}
```

```
{
"statusCode": 403,
"error": "Forbidden",
"message": "Forbidden"
}
```

```
{
"statusCode": 404,
"error": "Not Found",
"message": "Not Found"
}
```

```
{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Too Many Requests",
"attributes": {}
}
```

Status Page Incidents

# Open an incident on a v3 status page.

Open an incident on a v3 status page with its first update and the current status of the impacted components.

POST

/

v3

/

status-pages

/

{statusPageId}

/

incidents

Open an incident on a v3 status page.

```
curl --request POST \
--url https://api.checklyhq.com/v3/status-pages/{statusPageId}/incidents \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data '
{
"name": " ",
"incidentUpdates": [
{
"description": " ",
"publicIncidentUpdateDate": "2026-10-05T01:01:24.648Z",
"notifySubscribers": false
}
],
"componentImpacts": [
{
"componentId": " "
}
]
}
'
```

```
import requests

url = "https://api.checklyhq.com/v3/status-pages/{statusPageId}/incidents"

payload = {
"name": " ",
"incidentUpdates": [
{
"description": " ",
"publicIncidentUpdateDate": "2026-10-05T01:01:24.648Z",
"notifySubscribers": False
}
],
"componentImpacts": [{ "componentId": " " }]
}
headers = {
"Authorization": "Bearer ",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

```
const options = {
method: 'POST',
headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: ' ',
incidentUpdates: [
{
description: ' ',
publicIncidentUpdateDate: '2026-10-05T01:01:24.648Z',
notifySubscribers: false
}
],
componentImpacts: [{componentId: ' '}]
})
};

fetch('https://api.checklyhq.com/v3/status-pages/{statusPageId}/incidents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
```

```
"https://api.checklyhq.com/v3/status-pages/{statusPageId}/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([
'name' => ' ',
'incidentUpdates' => [
[
'description' => ' ',
'publicIncidentUpdateDate' => '2026-10-05T01:01:24.648Z',
'notifySubscribers' => false
]
],
'componentImpacts' => [
[
'componentId' => ' '
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer ",
"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.checklyhq.com/v3/status-pages/{statusPageId}/incidents"

payload := strings.NewReader("{\n \"name\": \" \",\n \"incidentUpdates\": [\n {\n \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\n }\n ],\n \"componentImpacts\": [\n {\n \"componentId\": \" \"\n }\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer ")
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 response = Unirest.post("https://api.checklyhq.com/v3/status-pages/{statusPageId}/incidents")
.header("Authorization", "Bearer ")
.header("Content-Type", "application/json")
.body("{\n \"name\": \" \",\n \"incidentUpdates\": [\n {\n \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\n }\n ],\n \"componentImpacts\": [\n {\n \"componentId\": \" \"\n }\n ]\n}")
.asString();
```

```
require 'uri'
require 'net/http'

url = URI("https://api.checklyhq.com/v3/status-pages/{statusPageId}/incidents")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer '
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \" \",\n \"incidentUpdates\": [\n {\n \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\n }\n ],\n \"componentImpacts\": [\n {\n \"componentId\": \" \"\n }\n ]\n}"

response = http.request(request)
puts response.read_body
```

```
{
"id": " ",
"statusPageId": " ",
"name": " ",
"lastUpdateStatus": "INVESTIGATING",
"created_at": "2023-12-25",
"incidentUpdates": [
{
"description": " ",
"status": "INVESTIGATING",
"id": " ",
"created_at": "2023-12-25",
"publicIncidentUpdateDate": "2026-10-05T01:01:24.661Z",
"notifySubscribers": false
}
],
"duration": 123,
"componentImpacts": [
{
"componentId": " ",
"status": "OPERATIONAL",
"startedAt": "2023-12-25",
"endedAt": "2023-12-25"
}
],
"updated_at": "2023-12-25"
}
```

```
{
"statusCode": 401,
"error": "Unauthorized",
"message": "Bad Token",
"attributes": {}
}
```

```
{
"statusCode": 403,
"error": "Forbidden",
"message": "Forbidden"
}
```

```
{
"statusCode": 404,
"error": "Not Found",
"message": "Not Found"
}
```

```
{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Too Many Requests",
"attributes": {}
}
```

#### Authorizations

​

Authorization

string

header

required

The Checkly Public API uses API keys to authenticate requests. You can get the API Key [here](https://app.checklyhq.com/settings/user/api-keys).
Your API key is like a password:
keep it secure!

Authentication to the API is performed using the Bearer auth method in the Authorization header and using the account ID.

For example, set Authorization header while using cURL: `curl -H "Authorization: Bearer [apiKey]" "X-Checkly-Account: [accountId]"`

#### Headers

​

x-checkly-account

string

Your Checkly account ID, you can find it at [https://app.checklyhq.com/settings/account/general](https://app.checklyhq.com/settings/account/general)

#### Path Parameters

​

statusPageId

string

required

#### Body

application/json

​

name

string

required

Maximum string length: `255`

​

incidentUpdates

object[]

required

Exactly one update: the one that opens the incident.

Show child attributes

​

componentImpacts

object[]

The current status of each impacted component. Omitted components are OPERATIONAL.

Show child attributes

#### Response

Created

​

id

string

required

​

statusPageId

string

required

​

name

string

required

​

lastUpdateStatus

enum<string>

required

Available options: `INVESTIGATING`,

`IDENTIFIED`,

`MONITORING`,

`RESOLVED`

​

created_at

string<date>

required

​

incidentUpdates

object[]

required

Show child attributes

​

duration

integer | null

Seconds from the first update to the resolving update; null while ongoing.

​

componentImpacts

object[]

Show child attributes

​

updated_at

string<date> | null

Was this page helpful?

[Suggest edits](https://github.com/checkly/docs/edit/main/api-reference/status-pages-v3/open-an-incident-on-a-v3-status-page.mdx)[Raise issue](https://github.com/checkly/docs/issues/new?title=Issue%20on%20docs&body=Path:%20/api-reference/status-pages-v3/open-an-incident-on-a-v3-status-page)

[List the incidents of a v3 status page. Previous](https://www.checklyhq.com/docs/api-reference/status-pages-v3/list-the-incidents-of-a-v3-status-page)[Retrieve an incident of a v3 status page. Next](https://www.checklyhq.com/docs/api-reference/status-pages-v3/retrieve-an-incident-of-a-v3-status-page)

[x](https://x.com/checklyhq)[github](https://github.com/checkly)[linkedin](https://linkedin.com/company/checkly)

[Powered by This documentation is built and hosted on Mintlify, a developer documentation platform](https://www.mintlify.com/?utm_campaign=poweredBy&utm_medium=referral&utm_source=checkly-422f444a)
