Skip to content

Mark an incident as resolved.

POST
/incident/{incident_id}/resolve
curl --request POST \
--url https://api.siteqwality.com/incident/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "post_public_update": true, "notify_subscribers": true, "message": "example" }'

A published incident always gets a public “Resolved” update, and its subscribers are emailed unless notify_subscribers is false.

incident_id
required
string format: uuid

Incident identifier

Optional

Media type application/json
One of:

Optional body of POST /incident/{id}/resolve.

object
post_public_update

Post a public “Resolved” update even when the incident is not on a status page. A published incident always gets one.

boolean | null
notify_subscribers

Email the status page subscribers (default true when published).

boolean | null
message

Text of the public “Resolved” update.

string | null
Example generated
{
"post_public_update": true,
"notify_subscribers": true,
"message": "example"
}

Incident resolved

Media type application/json
object
id
required
string format: uuid
status_page_id

Deprecated: the first page it was created on. status_page_ids lists every page.

string | null format: uuid
status_page_ids
required

Every status page the incident is published on.

Array<string>
title
required
string
public_title

The title status pages show; null shows title.

string | null
severity
required
string
Allowed values: minor major critical
status
required
string
Allowed values: investigating identified monitoring resolved
responder_status
required
string
Allowed values: triggered acknowledged resolved
service_id
string | null format: uuid
created_at
required
string format: date-time
resolved_at
string | null format: date-time
acknowledged_at
string | null format: date-time
first_paged_at

First recorded successful page; absent when no page_sent event exists. Detail endpoints only.

string | null format: date-time
mitigated_at

First transition to public monitoring status. Detail endpoints only.

string | null format: date-time
unassigned_after_exhaustion

True while nobody acknowledged it and its escalation policy ran out, so nobody owns it. Detail endpoints only.

boolean
acknowledged_by
string | null format: uuid
resolved_by

Who resolved it; null for automatic and API-key resolves.

string | null format: uuid
auto_created
required

True when the incident was opened automatically by a monitor state change; false for incidents created manually.

boolean
updates
required
Array<object>
object
id
required
string format: uuid
status
required

The public status when it was posted.

string
Allowed values: investigating identified monitoring resolved
message
required
string
created_at
required
string format: date-time
visibility
required

public updates show on status pages; internal ones only here.

string
Allowed values: public internal
author_user_id

Who posted it; null for the system, API keys and older updates.

string | null format: uuid
affected_http_job_ids
required

Deprecated: the http entries of monitors, for one release.

Array<string>
merged_into_id

The incident this one was merged into; it is then resolved.

string | null format: uuid
resolution_reason

merged for a merged incident, else null.

string | null
monitors
required

Every monitor of the incident. Empty on list endpoints.

Array<object>
object
monitor_id
required
string format: uuid
monitor_type
required
string
Allowed values: http cron browser tls dns dns_record page_speed alert_rule
name

Null when the monitor was deleted.

string | null
impact
One of:

What status pages show for it; null derives it from the incident’s severity.

string
Allowed values: degraded partial_outage major_outage
source
required

auto when a failure joined it, manual when someone added it.

string
Allowed values: auto manual
joined_at
required
string format: date-time
recovered_at
string | null format: date-time
participants
required

Who works it, the lead first. Empty on list endpoints.

Array<object>
object
user_id
required
string format: uuid
role
required
string
Allowed values: lead responder comms
added_by

Who added them; the acknowledger for an automatic lead.

string | null format: uuid
added_at
required
string format: date-time
paged_at

When they were paged on being added; null when they were not.

string | null format: date-time
merged_from
required

The incidents merged into this one, each with its own updates. Empty on list endpoints.

Array<object>

An incident merged into this one; its updates stay on it.

object
id
required
string format: uuid
title
required
string
created_at
required
string format: date-time
updates
required
Array<object>
object
id
required
string format: uuid
status
required

The public status when it was posted.

string
Allowed values: investigating identified monitoring resolved
message
required
string
created_at
required
string format: date-time
visibility
required

public updates show on status pages; internal ones only here.

string
Allowed values: public internal
author_user_id

Who posted it; null for the system, API keys and older updates.

string | null format: uuid
Example
{
"severity": "minor",
"status": "investigating",
"responder_status": "triggered",
"updates": [
{
"status": "investigating",
"visibility": "public"
}
],
"monitors": [
{
"monitor_type": "http",
"impact": "degraded",
"source": "auto"
}
],
"participants": [
{
"role": "lead"
}
],
"merged_from": [
{
"updates": [
{
"status": "investigating",
"visibility": "public"
}
]
}
]
}

Invalid request body

Missing or invalid authentication

Incident not found

Incident is already resolved; data holds its current state

Internal server error