Incidents

Lists windows where an environment's error rate rose well above its usual level, newest first, with how many are ongoing. Incidents count every request in the environment, not just the ones matching a filter.

post/api/pulses/incidents/

Request

  • Base URL
    https://api.respan.ai
  • URL
    https://api.respan.ai/api/pulses/incidents/
  • Auth
    HTTP bearer

Query parameters

pageinteger

Page number.

page_sizeinteger

Incidents per page. Values above 200 are capped at 200.

Request body

start_timestring date-time

Start of the range, ISO 8601. Defaults to 7 days ago. Incidents that overlap the range are returned.

end_timestring date-time

End of the range, ISO 8601. Defaults to now.

state'ongoing' | 'past'

Only incidents in this state.

severity'low' | 'medium' | 'high' | 'critical'

Only incidents of this severity.

environmentstring

Only incidents in this environment.

fault_domain'user' | 'respan' | 'provider' | 'none'

Only incidents for this fault domain.

Example request

{
  "start_time": "2026-09-24T00:00:00Z",
  "end_time": "2026-10-01T00:00:00Z",
  "state": "ongoing",
  "severity": "high",
  "environment": "prod",
  "fault_domain": "provider"
}

Response

A page of incidents.

countinteger required

Incidents on this page.

nextstring uri nullable required

URL of the next page, or null.

previousstring uri nullable required

URL of the previous page, or null.

total_countinteger required

Incidents matching the filters across all pages.

ongoing_countinteger required

How many of those are ongoing.

current_filtersobject

The filters that were applied.

Example response

{
  "results": [
    {
      "id": "3c9d7e1a-58b2-4f0e-a6d4-91c2b7e3f805",
      "title": "Provider rate limit in prod",
      "environment": "prod",
      "fault_domain": "respan",
      "started_at": "2026-09-30T14:02:00Z",
      "ended_at": "2026-09-30T14:47:00Z",
      "duration_seconds": 2700,
      "data_through_at": "2026-09-30T14:47:00Z",
      "state": "past",
      "resolution_reason": "recovered",
      "severity": "high",
      "trigger": "spike",
      "peak_error_rate": 0.42,
      "baseline_error_rate": 0.012,
      "error_count": 1840,
      "request_count": 9620,
      "hot_bucket_count": 31,
      "error_class_breakdown": {
        "provider_rate_limit": 1702,
        "provider_overloaded": 138
      },
      "dominant_error_class": "provider_rate_limit",
      "dominant_fingerprint": "9F3B2C1D4E5A6B7C",
      "impact": {
        "error_count": 1840,
        "request_count": 9620,
        "error_rate": 0.191,
        "peak_error_rate": 0.42,
        "baseline_error_rate": 0.012,
        "rate_delta": 0.179,
        "rate_multiplier": 15.9,
        "affected_customers": 37
      },
      "primary_error": {
        "error_class": "provider_rate_limit",
        "fingerprint": "9F3B2C1D4E5A6B7C"
      },
      "created_at": "2026-09-30T14:05:12.448210Z",
      "updated_at": "2026-09-30T14:52:03.118604Z"
    }
  ],
  "count": 1,
  "total_count": 1
}

Changes

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the // response's property format changed from double to no format for status

    • breaking

      the /// response's property format changed from double to no format for status

    • breaking

      the /// response's property format changed from double to no format for status

    • breaking

      the /// response's property format changed from double to no format for status

    • breaking

      the /// response's property format changed from double to no format for status

    • breaking

      the /// response's property type changed from number null to number, and format from double to no format for status

    • breaking

      the // response's property format changed from double to no format for status

    • breaking

      the // response's property type changed from no type to string for status

    • warning

      added the new no_traffic enum value to the // response property for the response status

    • warning

      added the new recovered enum value to the // response property for the response status

    • warning

      added the new stale enum value to the // response property for the response status

    • info

      api operation id incidents_listIncidents removed and replaced with listIncidents

    • info

      api tag Incidents added

    • info

      api tag incidents removed

    • info

      removed subschema #2 from the // response property oneOf list for the response status

    • info

      endpoint added