Skip to content

Merge incidents into this one.

POST
/incident/{incident_id}/merge
curl --request POST \
--url https://api.siteqwality.com/incident/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/merge \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "source_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ] }'

All or nothing. Each source is resolved as merged (no resolved notification), keeps its updates, and hands its monitors, participants and status pages to this incident; a published source gets one public “Merged into” update. This incident takes the highest severity, and if a source was paging and this one was not, its escalation starts. The sources’ escalations are canceled. Returns this incident.

incident_id
required
string format: uuid

The incident to merge into

Media type application/json
object
source_ids
required

The incidents to merge into the one in the path (1 to 20).

Array<string>
Example generated
{
"source_ids": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
]
}

The merged incident

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"
}
]
}
]
}

No source_ids, or more than 20

Missing or invalid authentication

This incident or a source not found

A source is this incident, already merged or resolved, or this incident is resolved or merged; data holds the refused incident’s state

Internal server error