Acknowledge / Update Incident Status
Acknowledges an Incident Management incident, or moves it between the open statuses (acknowledged, investigating, identified, monitoring).
Two endpoints change an open incident's status:
- Acknowledge is the idempotent "I have got this" call. It acts on any open incident that has not been acknowledged yet and is open to everyone with IM access, because an acknowledgement only ever stops paging.
- Change status moves an incident between the open statuses, including
acknowledged. It is restricted to the incident's team.
Neither endpoint can reach resolved (use Resolve Incident) or merged (use Merge Incidents).
What an acknowledgement stops depends on the incident's current escalation tier. By default it stops the whole escalation chain. If that tier is configured to stop escalating only on resolve, an acknowledgement silences the current page but further tiers keep escalating until the incident is resolved.
Authentication
Any IM-eligible role (admin, editor, responder) or an organization-wide API token, see Authentication. Incident Management must be enabled for the organization.
Acknowledge
POST /api/im/incidents/:id/ack
Acknowledges an open incident that has no acknowledgement yet (acknowledgedAt is null). A triggered incident moves to acknowledged. An incident that was moved to investigating, identified or monitoring without an acknowledgement keeps its status, but the acknowledgement is recorded (acknowledgedBy, acknowledgedAt) and escalation stops exactly as for a triggered one; status in the response is that unchanged status. Calling it again, or calling it on a resolved or merged incident, is not an error: the response says alreadyAcknowledged: true and reports the current status. The timeline records the acknowledgement with source: "api" for an API token and source: "ui" for a browser session.
No request body.
Example (cURL)
curl -X POST "$BASE_URL/api/im/incidents/42/ack" \
-H "Authorization: Bearer $TOKEN"Response
200 OK, first acknowledgement:
{
"acknowledged": true,
"alreadyAcknowledged": false,
"status": "acknowledged",
"acknowledgedBy": "MFcTjWmYq2LpzR8vK1sXo",
"acknowledgedAt": "2026-07-17T09:20:00.000Z"
}Both responses carry acknowledgedAt (ISO timestamp, or null for a resolved/merged incident that was never acknowledged). The incident counts as acknowledged when acknowledgedAt is set or status is resolved or merged; do not infer it from acknowledgedBy, which is null when an API token acknowledged.
200 OK, incident was already acknowledged:
{
"acknowledged": true,
"alreadyAcknowledged": true,
"status": "investigating",
"acknowledgedBy": "MFcTjWmYq2LpzR8vK1sXo",
"acknowledgedAt": "2026-07-17T09:20:00.000Z"
}Common errors
401 Unauthorizedwhen not authenticated403 Forbidden(customerScopedTokenForbidden) when using a customer-scoped token403 Forbidden(imAccessDenied) when the session user has no IM-eligible role403 Forbidden(imNotEnabled) when Incident Management is not enabled for the organization400 Bad Request(invalidRequestBody) when:idis not a positive integer404 Not Found(imIncidentNotFound) when the incident does not exist, or belongs to another organization
Change status
POST /api/im/incidents/:id/status
Moves an incident between the open statuses triggered, acknowledged, investigating, identified and monitoring. Any of the four non-triggered statuses is a valid target from any open status, not just the "next" one; triggered itself is never a target. Setting acknowledged acknowledges the incident and stops escalation as described above. Moving straight from triggered to investigating, identified or monitoring does not record an acknowledgement.
Restricted to the incident's team: you must be a member of the incident's team (teamId) or an organization admin. An organization-wide API token passes as an organization admin.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
status | string | Yes | Target status. One of acknowledged, investigating, identified, monitoring. |
Example (cURL)
curl -X POST "$BASE_URL/api/im/incidents/42/status" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "status": "investigating" }'Response
200 OK: the updated incident row (same shape as the items of List Incidents, without the enrichment fields).
{
"id": 42,
"organizationId": 1,
"teamId": 3,
"title": "Database connection pool exhausted",
"customerId": null,
"primarySourceId": 7,
"severity": "sev1",
"severityManual": false,
"status": "investigating",
"mergedIntoId": null,
"escalationPolicyId": null,
"currentTier": null,
"escalationEpoch": 1,
"escalationCycle": 0,
"acknowledgedBy": "MFcTjWmYq2LpzR8vK1sXo",
"acknowledgedAt": "2026-07-17T09:20:00.000Z",
"snoozedUntil": null,
"autoResolve": true,
"resolvedBy": null,
"resolveNote": null,
"statuspageUpdate": null,
"createdBy": null,
"sourceKind": "alert",
"isTest": false,
"triggeredAt": "2026-07-17T09:12:00.000Z",
"resolvedAt": null
}Common errors
401 Unauthorizedwhen not authenticated403 Forbidden(customerScopedTokenForbidden) when using a customer-scoped token403 Forbidden(imAccessDenied) when the session user has no IM-eligible role403 Forbidden(imNotEnabled) when Incident Management is not enabled for the organization403 Forbidden(imTeamMembershipRequired) when you are neither a member of the incident's team nor an organization admin400 Bad Request(invalidRequestBody) when:idis not a positive integer, orstatusis missing or not a known status value404 Not Found(imIncidentNotFound) when the incident does not exist, or belongs to another organization422 Unprocessable Entity(imIncidentInvalidStatusTransition) whenstatusistriggered,resolvedormerged, the incident is alreadyresolved/merged, orstatusequals its current status409 Conflict(imIncidentStatusConflict) when the incident's status changed concurrently between the read and the write, safe to retry
Create Incident
Manually creates an Incident Management incident for a team; escalation arms moments after creation, with the same paging behavior as an alert-sourced incident.
Resolve Incident
Resolves an Incident Management incident from any non-closed status. This is the only endpoint that can move an incident to resolved.