List Incidents (Organization)
GET /api/incidents?organizationId=:organizationId
List Incidents (Organization)
GET /api/incidents?organizationId=:organizationId
Lists incidents for an organization. If organizationId is omitted, the API falls back to the organization from your session.
Readonly users only see incidents for customers they are assigned to.
Authentication
Requires a valid session.
- Header:
Authorization: Bearer <token>
Query Parameters
organizationId(optional): Organization ID. Defaults to your session organization.limit(optional, default:100, max:500): Maximum number of incidents to return.offset(optional, default:0): Pagination offset.includeTotal(optional, default:0): If set to1(ortrue), the response includestotal,limit, andoffset.
Example (cURL)
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"
curl -X GET "$BASE_URL/api/incidents?organizationId=1" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
To paginate:
curl -X GET "$BASE_URL/api/incidents?organizationId=1&limit=100&offset=0" \
-H "Authorization: Bearer $TOKEN" \
-H "Accept: application/json"
Example Response (excerpt)
[
{
"id": 123,
"websiteId": 101,
"status": "open",
"severity": "downtime",
"started_at": "2026-02-26T12:10:00.000Z",
"resolved_at": null,
"last_notified_at": "2026-02-26T12:11:00.000Z",
"error_message": "Timeout",
"status_code": null,
"response_time_ms": null,
"website": {
"id": 101,
"name": "Main Marketing Site",
"url": "https://example.com",
"status": "active"
},
"customer": {
"id": 12,
"email": "ops@example.com",
"company": "Acme Corp"
}
}
]
If includeTotal=1, the response shape changes to:
{
"incidents": [],
"total": 1234,
"limit": 100,
"offset": 0
}
Common Errors
400 Organization ID is requiredif the API cannot infer an organization401 Unauthorizedif you are not authenticated403 Forbiddenif you do not have access to the organization500 Failed to fetch incidentson unexpected errors