# Post an update to an incident. - Checkly Docs

> Post an update to an incident. A RESOLVED update closes the incident.

Source: https://www.checklyhq.com/docs/api-reference/status-pages-v3/post-an-update-to-an-incident/

---

Post an update to an incident.

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

```
import requests

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

payload = {
"description": " ",
"publicIncidentUpdateDate": "2026-10-05T01:01:24.648Z",
"notifySubscribers": False
}
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({
description: ' ',
publicIncidentUpdateDate: '2026-10-05T01:01:24.648Z',
notifySubscribers: false
})
};

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

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

payload := strings.NewReader("{\n \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\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/{incidentId}/incident-updates")
.header("Authorization", "Bearer ")
.header("Content-Type", "application/json")
.body("{\n \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\n}")
.asString();
```

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

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

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 \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\n}"

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

```
{
"description": " ",
"status": "INVESTIGATING",
"id": " ",
"created_at": "2023-12-25",
"publicIncidentUpdateDate": "2026-10-05T01:01:24.661Z",
"notifySubscribers": false
}
```

```
{
"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 Incident Updates

# Post an update to an incident.

Post an update to an incident. A RESOLVED update closes the incident.

POST

/

v3

/

status-pages

/

{statusPageId}

/

incidents

/

{incidentId}

/

incident-updates

Post an update to an incident.

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

```
import requests

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

payload = {
"description": " ",
"publicIncidentUpdateDate": "2026-10-05T01:01:24.648Z",
"notifySubscribers": False
}
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({
description: ' ',
publicIncidentUpdateDate: '2026-10-05T01:01:24.648Z',
notifySubscribers: false
})
};

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

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

payload := strings.NewReader("{\n \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\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/{incidentId}/incident-updates")
.header("Authorization", "Bearer ")
.header("Content-Type", "application/json")
.body("{\n \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\n}")
.asString();
```

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

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

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 \"description\": \" \",\n \"publicIncidentUpdateDate\": \"2026-10-05T01:01:24.648Z\",\n \"notifySubscribers\": false\n}"

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

```
{
"description": " ",
"status": "INVESTIGATING",
"id": " ",
"created_at": "2023-12-25",
"publicIncidentUpdateDate": "2026-10-05T01:01:24.661Z",
"notifySubscribers": false
}
```

```
{
"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

​

incidentId

string

required

#### Body

application/json

​

description

string

required

​

status

enum<string>

required

Available options: `INVESTIGATING`,

`IDENTIFIED`,

`MONITORING`,

`RESOLVED`

​

publicIncidentUpdateDate

string<date-time>

default: 2026-10-05T01:01:24.648Z

When the update is shown as posted. Defaults to now. May be backdated: the earliest update sets the incident start.

​

notifySubscribers

boolean

default: false

#### Response

Created

​

description

string

required

​

status

enum<string>

required

Available options: `INVESTIGATING`,

`IDENTIFIED`,

`MONITORING`,

`RESOLVED`

​

id

string

required

​

created_at

string<date>

required

​

publicIncidentUpdateDate

string<date-time>

default: 2026-10-05T01:01:24.661Z

When the update is shown as posted. Defaults to now. May be backdated: the earliest update sets the incident start.

​

notifySubscribers

boolean

default: false

Was this page helpful?

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

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

[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)
