List Incidents
GET /api/v1/incidents
Returns all incidents for your organization, newest first.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
status |
string | Filter by status: new, acknowledged, open, investigating, identified, monitoring, resolved, postmortem |
severity |
string | Filter by severity: critical, high, medium, low, maintenance |
limit |
integer | Results per page (default: 25, max: 100) |
offset |
integer | Number of results to skip (default: 0) |
Example
curl "https://app.alert24.io/api/v1/incidents?status=open&severity=critical" \
-H "Authorization: Bearer ak_live_YOUR_KEY"
Response
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"incident_number": 42,
"title": "Database connection pool exhausted",
"description": "Connection pool hit max limit",
"severity": "critical",
"status": "open",
"affected_services": ["svc-123"],
"impact_description": "Users unable to load dashboards",
"assigned_to": "user-456",
"created_by": "user-789",
"source": "api",
"tags": ["database", "production"],
"started_at": "2026-03-19T14:30:00.000Z",
"acknowledged_at": null,
"resolved_at": null,
"created_at": "2026-03-19T14:30:00.000Z",
"updated_at": "2026-03-19T14:30:00.000Z"
}
],
"meta": {
"total": 1,
"limit": 25,
"offset": 0,
"has_more": false
}
}
Get Incident
GET /api/v1/incidents/:id
Example
curl https://app.alert24.io/api/v1/incidents/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer ak_live_YOUR_KEY"
Create Incident
POST /api/v1/incidents
Scope required: write
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Incident title |
description |
string | No | Detailed description |
severity |
string | No | critical, high, medium (default), low, maintenance |
status |
string | No | Initial status (default: open) |
affected_services |
array | No | Array of service IDs |
impact_description |
string | No | User-facing impact summary |
assigned_to |
string | No | User ID to assign |
tags |
array | No | Array of tag strings |
Example
curl https://app.alert24.io/api/v1/incidents \
-X POST \
-H "Authorization: Bearer ak_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "API latency spike",
"severity": "high",
"description": "P99 latency exceeding 2s on /api/users endpoint",
"affected_services": ["svc-api-gateway"],
"tags": ["performance", "api"]
}'
Response (201 Created)
{
"data": {
"id": "...",
"incident_number": 43,
"title": "API latency spike",
"severity": "high",
"status": "open",
"source": "api",
"created_at": "2026-03-19T15:00:00.000Z"
}
}
Update Incident
PUT /api/v1/incidents/:id
Scope required: write
All fields are optional — only include what you want to change.
Request Body
| Field | Type | Description |
|---|---|---|
title |
string | Updated title |
description |
string | Updated description |
severity |
string | Updated severity |
status |
string | Updated status |
affected_services |
array | Updated service IDs |
impact_description |
string | Updated impact |
assigned_to |
string | Updated assignee |
tags |
array | Updated tags |
resolved_at |
string | ISO 8601 resolution timestamp |
acknowledged_at |
string | ISO 8601 acknowledgement timestamp |
Example — Resolve an incident
curl https://app.alert24.io/api/v1/incidents/INCIDENT_ID \
-X PUT \
-H "Authorization: Bearer ak_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "resolved",
"resolved_at": "2026-03-19T15:30:00.000Z"
}'
Delete Incident
DELETE /api/v1/incidents/:id
Scope required: write
curl https://app.alert24.io/api/v1/incidents/INCIDENT_ID \
-X DELETE \
-H "Authorization: Bearer ak_live_YOUR_KEY"
Returns { "data": null } on success.