Get incident

GET/v1/api/sites/{site_id}/incidents/{incident_id}

Read one monitoring incident of a site; a crawl slowdown carries its cause and recovery.

Scope
alerts:read
Token
API key or OAuth access token
Role
Any workspace member
MCP tool
get_incident
What scopes, tokens and roles mean →
Request
curl "https://api.crawle.io/v1/api/sites/11111111-1111-1111-1111-111111111111/incidents/1" \
  -H "Authorization: Bearer $CRAWLE_API_KEY"
const response = await fetch("https://api.crawle.io/v1/api/sites/11111111-1111-1111-1111-111111111111/incidents/1", {
  headers: {
    Authorization: `Bearer ${process.env.CRAWLE_API_KEY}`,
  },
});
const data = await response.json();
import os

import requests

response = requests.request(
    "GET",
    "https://api.crawle.io/v1/api/sites/11111111-1111-1111-1111-111111111111/incidents/1",
    headers={
        "Authorization": f"Bearer {os.environ['CRAWLE_API_KEY']}",
    },
)
data = response.json()
$CRAWLE_API_KEY
is an API key from Settings › API keys.
Response 200JSON
{
  "acknowledged_at": "example",
  "acknowledged_by": "example",
  "affected_count": 1,
  "closure_kind": "merged_into_group",
  "created_at": "example",
  "details": {},
  "eligibility_revision": 1,
  "escalation_count": 1,
  "extra_data": {
    "closure_kind": "consumed"
  },
  "first_detected_at": "example",
  "id": 1,
  "last_checked_at": "example",
  "membership_key": "example",
  "membership_revision": "example",
  "membership_state": "confirmed",
  "redirected_count": 1,
  "resolved_at": "example",
  "resolved_count": 1,
  "restored_count": 1,
  "severity": "critical",
  "status": "active",
  "summary": "example",
  "title": "Example",
  "trigger_type": "example",
  "website_id": 1
}

Example generated from the API contract.

Parameters

site_idpath · string (uuid)required
incident_idpath · integerrequired
at least 1

Response 200

affected_countintegerrequired
idintegerrequired
severityenumrequired
Incident severity.one of "critical", "warning", "info"
statusenumrequired
Lifecycle status.one of "active", "acknowledged", "resolved"
summarystringrequired
titlestringrequired
trigger_typestringrequired
The kind of incident, for example pages_erroring, title_changed, robots_txt_changed or crawl_slowdown. New kinds appear over time; read it as an open string.
website_idintegerrequired
acknowledged_atstring or null
acknowledged_bystring or null
closure_kindenum or null
How a resolved incident was closed when that was not a plain recovery. merged_into_group: a broken-link incident folded into a group. alert_exclusion: closed by an alert exclusion. null: a normal recovery, or an incident that is not resolved. The field is absent when the site's crawler predates it. It does not mirror extra_data.closure_kind, which can say more (consumed, unverified_legacy, partially_superseded).one of "merged_into_group", "alert_exclusion"
created_atstring or null
detailsobject or null
eligibility_revisioninteger or null
escalation_countinteger or null
extra_dataPublicIncidentExtraData or array of any or null
Trigger evidence as the crawler stored it: an object for most triggers, and a list or null for some. For a closed incident it can carry closure_kind.
first_detected_atstring or null
last_checked_atstring or null
membership_keystring or null
membership_revisionstring or null
membership_stateenum or null
confirmed: the count and the page come from one stored snapshot. partial: the count is known but the page could not be read. unavailable: no page list exists for this incident (site-level triggers, broken links; the answer is HTTP 200, not an error), and total is null.one of "confirmed", "partial", "unavailable"
redirected_countinteger or null
resolved_atstring or null
resolved_countinteger or null
restored_countinteger or null

Errors

  • 401

    When
    Missing, invalid, or expired token.
  • 403

    When
    The token has none of the accepted scopes (alerts:read).
  • 422

    When
    The request did not match the schema. detail lists each problem.
  • 502

    When
    The site's crawler answered outside the contract (crawler_response_invalid).
  • 429

    When
    Rate limited. Wait for Retry-After seconds.

All errors and what to do →

Generated from the API contract at 7e7039b0b, synced October 30, 2026.