Skip to main content

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​

ParameterDescription
startDate, endDateThe 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.
statusopen (anything not yet resolved) or resolved. Leave it out for both.
severityA severity number from 1 to 5. Repeat the parameter for several, e.g. severity=1&severity=2.
servicesA service's integration key. Repeat the parameter for several services.
pageNumberWhich 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​

StatusWhen
400A 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.
401The API key is missing, wrong or disabled. See API Keys.
500Something went wrong in Oppex. Retry. If it keeps happening, contact support with the message.

FAQ

Why was my date rejected?

The date needs a timezone offset. 2026-09-01T00:00:00 is rejected. Add Z for UTC (2026-09-01T00:00:00Z), or an offset such as +05:30.

Can I fetch a single incident by id?

Not yet. List incidents over a short date range and find the id in the results.

In this article

FAQ

Why was my date rejected?

The date needs a timezone offset. 2026-09-01T00:00:00 is rejected. Add Z for UTC (2026-09-01T00:00:00Z), or an offset such as +05:30.

Can I fetch a single incident by id?

Not yet. List incidents over a short date range and find the id in the results.