Incidents

Returns one incident with exact counts, the error groups behind it, the providers, models, endpoints and customers it hit, and its latest failed requests. Send an empty body.

post/api/pulses/incidents/{incident_id}/

Request

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

Path parameters

incident_idstring required

Incident ID, from List incidents.

Request body

object required

Response

The incident.

Example response

{
  "incident": {
    "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"
  },
  "affected": {
    "providers": {
      "unique_count": 2,
      "total_occurrences": 1840,
      "values": [
        {
          "value": "openai",
          "occurrence_count": 1702,
          "percentage": 92.5,
          "first_seen_at": "2026-09-30T14:02:03.517203",
          "last_seen_at": "2026-09-30T14:46:58.006114"
        }
      ]
    },
    "models": {
      "unique_count": 2,
      "total_occurrences": 1840,
      "values": [
        {
          "value": "openai",
          "occurrence_count": 1702,
          "percentage": 92.5,
          "first_seen_at": "2026-09-30T14:02:03.517203",
          "last_seen_at": "2026-09-30T14:46:58.006114"
        }
      ]
    },
    "endpoints": {
      "unique_count": 2,
      "total_occurrences": 1840,
      "values": [
        {
          "value": "openai",
          "occurrence_count": 1702,
          "percentage": 92.5,
          "first_seen_at": "2026-09-30T14:02:03.517203",
          "last_seen_at": "2026-09-30T14:46:58.006114"
        }
      ]
    },
    "customers": {
      "unique_count": 2,
      "total_occurrences": 1840,
      "values": [
        {
          "value": "openai",
          "occurrence_count": 1702,
          "percentage": 92.5,
          "first_seen_at": "2026-09-30T14:02:03.517203",
          "last_seen_at": "2026-09-30T14:46:58.006114"
        }
      ]
    }
  },
  "contributors": {
    "items": [
      {
        "fingerprint": "9F3B2C1D4E5A6B7C",
        "title": "provider_rate_limit · openai chat/completions · 429",
        "error_class": "provider_rate_limit",
        "provider": "openai",
        "model": "gpt-4o",
        "endpoint": "chat/completions",
        "status": 429,
        "occurrence_count": 1702,
        "percentage": 92.5,
        "affected_customers": 35,
        "first_seen_at": "2026-09-30T14:02:03.517203",
        "last_seen_at": "2026-09-30T14:46:58.006114",
        "error_group_url": "/api/pulses/errors/9f3b2c1d4e5a6b7c/",
        "drilldown_filters": {
          "start_time": "2026-09-30 14:02:00",
          "end_time": "2026-09-30 14:47:00",
          "environment": "prod"
        }
      }
    ],
    "total_groups": 2,
    "total_occurrences": 1840
  },
  "occurrence_preview": [
    {
      "unique_id": "1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a",
      "timestamp": "2026-09-30T14:46:58.006114",
      "fingerprint": "9F3B2C1D4E5A6B7C",
      "error_class": "provider_rate_limit",
      "provider": "openai",
      "model": "gpt-4o",
      "endpoint": "chat/completions",
      "status": 429,
      "customer_identifier": "acme-corp",
      "error_group_url": "/api/pulses/errors/9f3b2c1d4e5a6b7c/",
      "log_url": "/api/request-logs/1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a/"
    }
  ],
  "data_status": {
    "data_through_at": "2026-09-30T14:47:00Z"
  },
  "links": {
    "timeseries": "/api/pulses/incidents/3c9d7e1a-58b2-4f0e-a6d4-91c2b7e3f805/timeseries/",
    "acknowledgement": "/api/pulses/incidents/3c9d7e1a-58b2-4f0e-a6d4-91c2b7e3f805/acknowledgement/"
  }
}

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'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 object to no type for status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • breaking

      removed the required property / from the response with the status

    • info

      api operation id incidents_retrieveIncident removed and replaced with retrieveIncident

    • info

      api tag Incidents added

    • info

      api tag incidents removed

    • info

      added to the response property allOf list for the response status

    • info

      endpoint added