Merge incidents
An outage can open more than one incident: a teammate files one by hand while a monitor opens another, or two services each open their own. Merging folds the duplicates (the sources) into the incident you keep (the target), so responders and customers follow one timeline.
What a merge does
Section titled “What a merge does”- Sources resolve as merged. Each source becomes
resolvedwithresolution_reason: "merged"andmerged_into_idset to the target. A merged incident cannot be reopened. - Monitors and participants move. The sources’ affected monitors and participants are added to the target.
- The highest severity wins. The target takes the highest severity among itself and its sources.
- Updates stay on the source. The target lists each source under
merged_from, with the source’sid,title,created_atand its ownupdates, so you can read the full history from the target. - Published sources point to the target. A source that is on a status page gets one public update, “Merged into” followed by the target’s title, and the target is added to that page.
- Sources are quiet. A merge sends no resolved notification and no subscriber email for the sources.
- Paging carries over. The sources’ escalations stop. If a source was still paging and the target was not, the target’s escalation starts.
- All or nothing. If any source cannot be merged, nothing changes.
Merge through the API
Section titled “Merge through the API”The incident in the path is the target. Send between 1 and 20 source ids:
curl -X POST https://api.siteqwality.com/incident/$TARGET_ID/merge \ -H "Authorization: Bearer $SITEQWALITY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "source_ids": ["<source-id-1>", "<source-id-2>"] }'The response is the target incident, with the moved monitors and participants and the sources under merged_from.
| Status | Meaning |
|---|---|
200 | Merged. The body is the target. |
400 | source_ids is empty or has more than 20 ids. |
404 | The target, or any source, is not an incident in your account. |
409 | The merge is not allowed. data.conflict says why (below). |
Conflicts
Section titled “Conflicts”A 409 carries one of these codes in data.conflict, and data.incident_id names the incident it refused:
data.conflict | Meaning |
|---|---|
same_incident | One of the sources is the target itself. |
source_merged | A source was already merged into another incident. |
source_resolved | A source is already resolved. |
target_resolved | The target is resolved. |
target_merged | The target was itself merged into another incident. Merge into that one instead. |
See also
Section titled “See also” Incident reference The merge request, the conflict codes and the merged_from field.
Incidents overview Status, responder status and the lifecycle.