Get Incident Details
GET /api/incidents/:incidentPublicId
Get Incident Details
GET /api/incidents/:incidentPublicId
Returns detailed incident data, including a timeline of failed/recovery checks and alert events.
Authentication
Requires a valid session.
- Header:
Authorization: Bearer <token>
Parameters
incidentPublicId(Path, required): Incident public UUID.
Example (cURL)
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"
curl -X GET "$BASE_URL/api/incidents/6bfec6f6-245a-47ce-843b-157d97d56f88" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
Note: evidenceCheck can be null. screenshotUrl is only set when hasScreenshot is true.
Example Response (excerpt)
{
"incident": {
"id": 123,
"websiteId": 101,
"type": "downtime",
"status": "open",
"startedAt": "2026-02-26T12:10:00.000Z",
"resolvedAt": null,
"statusCode": null,
"errorMessage": "Timeout",
"responseTimeMs": null
},
"timeline": {
"outageStartedAt": "2026-02-26T12:08:00.000Z",
"outageStartedCheck": {
"id": "chk_01H...",
"checkedAt": "2026-02-26T12:08:00.000Z",
"status": "failure",
"statusCode": 503,
"errorMessage": "Timeout",
"responseTimeMs": null,
"location": { "id": 1, "code": "fra", "name": "Frankfurt" }
},
"confirmationAt": "2026-02-26T12:10:00.000Z",
"failedChecks": [],
"failedChecksTotal": 2,
"alertEvents": [
{
"id": 987,
"sentAt": "2026-02-26T12:11:00.000Z",
"type": "email",
"status": "sent",
"channelName": "Ops Email",
"errorMessage": null
}
],
"recoveryChecks": [],
"recoveryChecksTotal": 0
},
"evidenceCheck": {
"id": "chk_01H...",
"checkedAt": "2026-02-26T12:08:00.000Z",
"diagnostics": null,
"hasScreenshot": false,
"screenshotUrl": null
}
}
Common Errors
400 Incident public ID (UUID) requiredif:incidentPublicIdis invalid401 Unauthorizedif you are not authenticated403 Forbiddenif the incident exists but you do not have access404 Incident not foundif the incident does not exist