WebPixie

Incidents

Query and update incidents through the WebPixie GraphQL API.

findIncident returns an Incident union — one of five types, all implementing IncidentInterface, which holds the common fields. Select the common fields with ... on IncidentInterface and the type-specific ones with an inline fragment on the type. See Incidents for how incidents work in the dashboard. Types that have a payload field carry either SiteWhoisPayload or SiteSSLPayload — see Types — or UptimeLinkRecordRoot, which shares its fields (location, spendTime, page, uptimeLinkSnapshot) with Uptime: findUptimeLinkRecord's response.

Some features and limits mentioned on this page vary by plan. Visit our Pricing page to review the plans.

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 for sorting and the SEVERITY filter — higher means more urgent. 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.
createNotifiedTimeStringISO 8601 timestamp when the create-notification was sent. null if not yet sent.
resolveNotifiedTimeStringISO 8601 timestamp when the resolve-notification was sent. null if not yet sent.
createTime / updateTimeString! / StringISO 8601 timestamps for creation / last update.

Incident Types

TypeCategoryMeaning
SSL_EXPIRATIONSSLThe certificate is close to expiring.
SSL_CHECKSSLThe SSL check failed.
DOMAIN_EXPIRATIONDOMAINThe domain registration is close to expiring.
DOMAIN_SUSPENDEDDOMAINThe domain is in a suspended state, such as a registrar hold.
UPTIME_STATUS_CODEUPTIMEThe response status code was not in the accepted list.
UPTIME_TIMEOUTUPTIMEThe request timed out.
UPTIME_KEYWORD_MATCHUPTIMEA required keyword was missing, or a forbidden keyword was found.
UPTIME_TOO_MANY_REDIRECTSUPTIMEThe request was redirected too many times.
UPTIME_SSLUPTIMEAn SSL/TLS error occurred during the check.
UPTIME_CONNECTIONUPTIMEThe target could not be connected to, or the connection dropped mid-request.
UPTIME_REQUESTUPTIMEThe request was blocked, or the response was too large or malformed.
UPTIME_UNEXPECTEDUPTIMEAn unexpected error occurred during the check.

SiteDomainExpirationIncident

FieldTypeDescription
siteIdID!ID of the affected site.
thresholdInt!Days-before-expiration threshold that triggered this incident.
payloadSiteWhoisPayloadData from the latest successful WHOIS lookup.

SiteDomainSuspendedIncident

FieldTypeDescription
siteIdID!ID of the affected site.
payloadSiteWhoisPayloadThe WHOIS data at the time of the incident.

SiteSslCheckIncident

FieldTypeDescription
siteIdID!ID of the affected site.
errorSiteSslErrorThe error that opened the incident.

SiteSslExpirationIncident

FieldTypeDescription
siteIdID!ID of the affected site.
thresholdInt!Days-before-expiration threshold that triggered this incident.
payloadSiteSSLPayloadData from the latest successful SSL check.

UptimeIncident

FieldTypeDescription
uptimeLinkIdID!ID of the affected uptime monitor.
payloadUptimeLinkRecordRootThe check result that triggered or is tied to this incident.
errorUptimeErrorThe error that opened the incident.

Queries

findIncident

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

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

Parameters

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

Response: an IncidentList — pagination + items: [Incident!]!. Use ... on IncidentInterface for the common fields and inline fragments (... on SiteDomainExpirationIncident) for type-specific fields. See Pagination & Sorting.

Mutations

updateIncident

Updates an incident's description.

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

Parameters

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

Response: the updated Incident.

On this page