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.
POST /api/im/incidents
Creates an incident by hand, outside the alert-ingest pipeline, e.g. for something a human noticed before any monitoring tool did. A manually-created incident is not a lesser incident: escalation tier 1 of the team is armed moments after creation, exactly as for an incident created from an ingested alert. That arming happens after this response is returned, so the response reflects the incident row as it was committed, before escalation starts (see currentTier below).
Authentication
Any IM-eligible role (admin, editor, responder) or an organization-wide API token, see Authentication. Incident Management must be enabled for the organization.
Creating an incident additionally requires the write bar for the target team: an organization admin, or a team admin of that team (team member with imRole: "admin"). An organization-wide API token passes as an organization admin.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
teamId | number | Yes | The team that owns the incident and whose escalation tiers page people. Must belong to your organization. |
title | string | Yes | Incident title, not blank, up to 10,000 characters. |
severity | string | Yes | One of sev1, sev2, sev3, sev4. A manual incident has no alert stream to derive severity from, so it is always created with severityManual: true. |
customerId | number or null | No | Scopes the incident to a customer. Must belong to your organization if given. |
Example (cURL)
curl -X POST "$BASE_URL/api/im/incidents" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"teamId": 3,
"title": "Database connection pool exhausted",
"severity": "sev1"
}'Response
200 OK: the newly created 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": null,
"severity": "sev1",
"severityManual": true,
"status": "triggered",
"mergedIntoId": null,
"escalationPolicyId": null,
"currentTier": null,
"escalationEpoch": 0,
"escalationCycle": 0,
"acknowledgedBy": null,
"acknowledgedAt": null,
"snoozedUntil": null,
"autoResolve": true,
"resolvedBy": null,
"resolveNote": null,
"statuspageUpdate": null,
"createdBy": null,
"sourceKind": "manual",
"isTest": false,
"triggeredAt": "2026-07-17T09:12:00.000Z",
"resolvedAt": null
}sourceKind is manual and primarySourceId is null: a manually-created incident has no backing alert source. createdBy is the creating user's ID for a browser session and null for an API token. Arming the initial escalation and any outbound-integration fan-out happen best-effort after the incident row is committed: the incident is guaranteed to exist even if paging or an outbound integration fails, but such a failure is logged server-side, not surfaced in this response. Because escalation arms after this response is returned, currentTier is always null here. Use Get Incident to see the tier once escalation has started.
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(imTeamWriteDenied) when you are neither an organization admin nor a team admin ofteamId400 Bad Request(invalidRequestBody) whenteamIdis missing or not a positive integer,titleis missing, blank or longer than 10,000 characters,severityis not one ofsev1tosev4, orcustomerIdis present but not a positive integer422 Unprocessable Entity(invalidTeamId) whenteamIddoes not belong to your organization422 Unprocessable Entity(invalidCustomerId) whencustomerIdis given but does not belong to your organization
Find the Incident for a Monitoring Incident
Resolves a monitoring incident id to the Incident Management incident it was bridged into.
Acknowledge / Update Incident Status
Acknowledges an Incident Management incident, or moves it between the open statuses (acknowledged, investigating, identified, monitoring).