Incidents

Query and update incidents through the WebPixie GraphQL API.

findIncident returns an Incident union — one of five types, all sharing a common set of fields. See Incidents for what each incident type means. Each type's payload field is either SiteWhoisPayload or SiteSSLPayload — see Types — or UptimeLinkRecordRoot, which shares its fields (location, spendTime, page, uptimeLinkSnapshot) with Uptime: findUptimeLinkRecord's response.

Common Fields

FieldTypeDescription
idID!Unique identifier for the incident.
categoryIncidentCategory!UPTIME, SSL, or DOMAIN.
typeIncidentType!The specific incident type.
levelIncidentLevel!Severity level.
severityInt!Numeric severity/priority score, mainly useful for sorting and the SEVERITY filter — higher generally means more urgent. Derived internally from level; use level for the human-readable severity.
startTimeString!ISO 8601 timestamp when the incident opened.
occurrenceInt!Number of times this condition has been observed.
resolveTimeStringISO 8601 timestamp when the incident resolved. null while still open.
durationIntDuration of the incident in seconds, once resolved.
domain / rootDomainStringThe affected domain, if applicable.
descriptionStringFree-text note, settable via updateIncident.
createNotifiedAtStringISO 8601 timestamp when the create-notification was sent. null if not yet sent.
resolveNotifiedAtStringISO 8601 timestamp when the resolve-notification was sent. null if not yet sent.
createTime / updateTimeString! / StringISO 8601 timestamps for creation / last update.

Incident Types

enum IncidentType {
  SSL_EXPIRATION
  SSL_CHECK
  DOMAIN_EXPIRATION
  DOMAIN_SUSPENDED
  UPTIME_STATUS_CODE
  UPTIME_TIMEOUT
  UPTIME_KEYWORD_MATCH
  UPTIME_TOO_MANY_REDIRECTS
  UPTIME_SSL
  UPTIME_CONNECTION
  UPTIME_REQUEST
  UPTIME_UNEXPECTED
}

SiteDomainExpirationIncident

FieldTypeDescription
siteIdID!ID of the affected site.
thresholdInt!Days-before-expiration threshold that triggered this incident.
payloadSiteWhoisPayloadData from the most recent successful WHOIS lookup; may predate a later escalation of this incident if a subsequent lookup failed to refresh it.
errorSiteWhoisErrorAlways null — WHOIS lookup failures skip incident creation/escalation entirely.

SiteDomainSuspendedIncident

FieldTypeDescription
siteIdID!ID of the affected site.
payloadSiteWhoisPayloadThe WHOIS data at the time of the incident.
errorSiteWhoisErrorAlways null — domain-suspended incidents are only created from a successful WHOIS lookup.

SiteSslCheckIncident

FieldTypeDescription
siteIdID!ID of the affected site.
payloadSiteSSLPayloadThe SSL check data at the time of the incident.
errorSiteSslErrorSet if the SSL check itself failed.

SiteSslExpirationIncident

FieldTypeDescription
siteIdID!ID of the affected site.
thresholdInt!Days-before-expiration threshold that triggered this incident.
payloadSiteSSLPayloadData from the most recent successful SSL check; may predate a later escalation of this incident if a subsequent check failed to refresh it.
errorSiteSslErrorAlways null — SSL-check failures are reported via SiteSslCheckIncident instead.

UptimeIncident

FieldTypeDescription
uptimeLinkIdID!ID of the affected uptime monitor.
payloadUptimeLinkRecordRootThe check result that triggered or is tied to this incident.
errorUptimeErrorSet if the check itself failed.

Queries

findIncident

Paginated, filterable list of incidents across your monitored sites and uptime monitors.

query {
  findIncident(query: "category = DOMAIN", limit: 25) {
    pagination {
      count
    }
    items {
      id
      type
      level
      domain
      startTime
      resolveTime
      ... on SiteDomainExpirationIncident {
        threshold
      }
    }
  }
}

Parameters

NameTypeDescription
queryStringFilter expression — see IncidentFilterableFields.
pageIntPage number, defaults to 1.
limitIntPage size, defaults to 10, capped at 100.
sort[Sort!]Sort order, defaults to newest first.

Response: an IncidentListpagination + items: [Incident!]!. Use inline fragments (... on SiteDomainExpirationIncident) to select type-specific fields. See Pagination & Sorting.

Mutations

updateIncident

Updates an incident's description.

mutation {
  updateIncident(id: "...", input: { description: "Investigating with the registrar" }) {
    id
    description
  }
}

Parameters

NameTypeDescription
idID!The incident's ID.
inputUpdateIncident!{ description: String } — free-text note to attach to the incident.

Response: the updated Incident.

Filterable Fields

IncidentFilterableFields — see Discovering Filterable Fields.

enum IncidentFilterableFields {
  ID
  SITE_ID
  UPTIME_LINK_ID
  DOMAIN
  ROOT_DOMAIN
  CATEGORY
  TYPE
  LEVEL
  OCCURRENCE
  START_TIME
  RESOLVE_TIME
  DURATION
  DESCRIPTION
  CREATE_TIME
  UPDATE_TIME
  SEVERITY
}

On this page