List Incidents
Fetch the incidents in your workspace, filtered by date, service, severity and status. Use it to build reports, sync incidents into another tool, or check whether an incident you raised is still open.
Request
GET https://api.oppex.ai/api/v1/incident/list
Send your API key in the X-API-KEY header. Every query parameter is optional.
curl -G "https://api.oppex.ai/api/v1/incident/list" \
-H "X-API-KEY: <your-api-key>" \
--data-urlencode "startDate=2026-09-01T00:00:00Z" \
--data-urlencode "endDate=2026-09-27T00:00:00Z" \
--data-urlencode "status=open" \
--data-urlencode "severity=1" \
--data-urlencode "severity=2"
Query parameters
| Parameter | Description |
|---|---|
startDate, endDate | The date range, as ISO-8601 date-times with a timezone offset, such as 2026-09-01T00:00:00Z or 2026-09-01T09:00:00+05:30. Send both or neither. startDate must be before endDate. |
status | open (anything not yet resolved) or resolved. Leave it out for both. |
severity | A severity number from 1 to 5. Repeat the parameter for several, e.g. severity=1&severity=2. |
services | A service's integration key. Repeat the parameter for several services. |
pageNumber | Which page of results to return, starting at 1 (the default). |
Results come 100 per page.
Response
{
"success": true,
"statusCode": 200,
"message": "Success",
"data": {
"totalIncidents": 142,
"pageNumber": 1,
"maxPages": 2,
"filter": { "startDate": "2026-09-01T00:00:00Z", "endDate": "2026-09-27T00:00:00Z", "status": "open", "severity": [1, 2], "services": null },
"incidents": [
{
"incident_id": "8GFB1ADE-1M3C-KJ2QX7PA",
"title": "Deploy failed on prod",
"status": "TRIGGERED",
"severity": 2,
"priority": 1,
"created_at": "2026-09-26T10:14:03Z",
"service_key": "<integration-key>",
"source": "GitHub Actions",
"num_grouped_incidents": 0,
"auto_resolved": false
}
]
}
}
The example shows the most useful fields of each incident. Each one also carries workspace_id,
src_timestamp, group, tenant, assigned_to and assign_to_details (who it is assigned to),
service_details, resolved_by and resolved_by_details, and custom_details (the details you sent
when posting it).
To fetch every page, repeat the request with pageNumber from 1 up to maxPages.
Errors
| Status | When |
|---|---|
400 | A parameter is invalid, for example only one of startDate and endDate was sent, a date has no timezone offset, or status isn't open or resolved. The message starts with Invalid request: and says which one. |
401 | The API key is missing, wrong or disabled. See API Keys. |
500 | Something went wrong in Oppex. Retry. If it keeps happening, contact support with the message. |