Uptime
Query and manage uptime monitors through the WebPixie GraphQL API.
Fields
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier for the uptime monitor. |
name | String! | The monitor's display name. |
target | String! | The URL being checked. |
type | UptimeLinkType! | The check type — currently always HTTP. |
status | UptimeLinkStatusType! | ACTIVE or PASSIVE (paused). |
severity | Int! | Numeric severity/priority score, mainly useful for sorting and the SEVERITY filter — higher generally means more urgent. Derived internally from status and recent check results. |
locations | [UptimeLocations!] | Monitoring regions the check runs from. |
checkInterval | Int! | Seconds between checks. |
timeout | Int! | Request timeout in seconds. |
http | UptimeLinkHttp | HTTP-specific check configuration. |
notification | UptimeLinkNotificationConfig! | Notification settings. |
tags | [String!] | Free-form tags attached to the monitor. |
isFavorite | Boolean! | Whether the monitor is marked as a favorite. |
commonName | String! | The monitor's name as shown on its public status page, derived from the target if not explicitly set. |
domain / rootDomain | String | Derived from target. |
lastRecord | UptimeLinkLastRecord | Most recent check result — same fields as findUptimeLinkRecord's items, minus uptimeLinkId/verifiesRecordId. |
lastAccessibility | UptimeLinkLastAccessibility! | Last known up/down transition timestamps. |
nextCheckTime | String | ISO 8601 timestamp of the next scheduled check. |
createTime / updateTime | String! / String | ISO 8601 timestamps for creation / last update. |
UptimeLinkHttp
| Field | Type | Description |
|---|---|---|
method | String | HTTP method used for the check. |
followRedirect | Boolean | Whether HTTP redirects are followed. |
headers | [KeyValue!] | Custom request headers sent with the check. |
data | HttpBody | Request body sent with the check. |
auth | HttpAuth | HTTP authentication used for the check. |
statusCodes | [Int!] | Status codes counted as "up". Any other status code counts as down. |
keywords | [String!] | Keywords the response body must (or must not) contain. |
keywordInverseMatch | Boolean | When true, the check fails if a keyword IS found, instead of not found. |
UptimeLinkLastAccessibility
| Field | Type | Description |
|---|---|---|
up | String | ISO 8601 timestamp of the most recent transition to up. |
down | String | ISO 8601 timestamp of the most recent transition to down. |
UptimeLinkNotificationConfig
| Field | Type | Description |
|---|---|---|
all | Boolean! | Whether all notification channels are enabled. |
occurrenceThreshold | Int! | Number of consecutive down occurrences required before the create-notification is sent. Defaults to 1, must be 1 or greater. |
Queries
findUptimeLink
Paginated, filterable list of your uptime monitors.
query {
findUptimeLink(query: "status = ACTIVE", limit: 25) {
pagination {
count
}
items {
id
name
target
status
lastRecord {
accessibilityStatus
spendTime
}
}
}
}Parameters
| Name | Type | Description |
|---|---|---|
query | String | Filter expression — see UptimeLinkFilterableFields. |
page | Int | Page number, defaults to 1. |
limit | Int | Page size, defaults to 10, capped at 100. |
sort | [Sort!] | Sort order, defaults to newest first. |
Response: an UptimeLinkList — pagination + items: [UptimeLink!]!. See Pagination & Sorting.
findUptimeLinkRecord
Individual check results, also paginated and filterable.
query {
findUptimeLinkRecord(query: "uptimeLinkId = \"...\"", limit: 25) {
items {
location
accessibilityStatus
spendTime
startTime
}
}
}Parameters
| Name | Type | Description |
|---|---|---|
query | String | Filter expression — see UptimeLinkRecordFilterableFields. |
page | Int | Page number, defaults to 1. |
limit | Int | Page size, defaults to 10, capped at 100. |
sort | [Sort!] | Sort order, defaults to newest first. |
Response: an UptimeLinkRecordList — pagination + items: [UptimeLinkRecord!]!. See Pagination & Sorting.
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier for this check result. |
location | UptimeLocations! | Monitoring region the check ran from. |
spendTime | Float! | Seconds the check took to complete. |
page | Webpage | The fetched page's response data, if the check succeeded. |
uptimeLinkSnapshot | UptimeLinkBase | Snapshot of the monitor's configuration at the time of this check. |
error | UptimeErrorCode | Set if the check failed. |
accessibilityStatus | UptimeLinkAccessibilityStatus | Whether the target was reachable on this check, or UNVERIFIED if a cross-region re-check contradicted the primary result. |
startTime / endTime | String! | ISO 8601 timestamps for when the check started/finished. |
uptimeLinkId | ID! | ID of the uptime monitor this record belongs to. |
verifiesRecordId | ID | ID of the failing record this check re-verified from another region, if any. |
findUptimeLinkSummary
Aggregated uptime/response-time stats for a monitor over a time range, bucketed into chunks.
query {
findUptimeLinkSummary(
id: "..."
startTime: "2024-01-01T00:00:00Z"
endTime: "2024-01-31T23:59:59Z"
chunkSize: 24
) {
responseTime
uptimePercent
}
}Parameters
| Name | Type | Description |
|---|---|---|
id | ID! | The uptime monitor's ID. |
startTime | String! | ISO 8601 start of the time range. |
endTime | String! | ISO 8601 end of the time range. |
chunkSize | Int! | Number of buckets to split the time range into (clamped to 7–30). Defaults to 24. |
location | UptimeLocations | Limit the summary to one monitoring region. |
Response: an UptimeLinkSummary — see Types: UptimeLinkSummaryRecord for the shape of each item in records.
| Field | Type |
|---|---|
responseTime | Float! |
uptime / uptimePercent | Float! |
downtime / downtimePercent | Float! |
unmonitored / unmonitoredPercent | Float! |
records | [UptimeLinkSummaryRecord!]! |
incidents | [UptimeIncident!]! |
uptimeLocation
Lists available monitoring regions. No arguments.
Response: an UptimeLocationList — items: [UptimeLocationItem!]!:
| Field | Type | Description |
|---|---|---|
name | String! | Human-readable name of the monitoring region. |
location | UptimeLocations! | The region's identifier, used in locations args. |
uptimeLinkTag
Lists the tags currently in use across your uptime monitors. No arguments. Response: [String!]!.
Mutations
createUptimeLink
Creates a new uptime monitor.
mutation {
createUptimeLink(input: {
target: "https://acme.io"
checkInterval: 300
timeout: 10
notification: { all: true }
}) {
id
name
status
}
}Parameters
| Name | Type | Description |
|---|---|---|
input | UptimeLinkInput! | The monitor's configuration — see below. |
UptimeLinkInput fields
| Field | Type | Default | Description |
|---|---|---|---|
target | String! | — | The URL to check (http/https). |
locations | [UptimeLocations!] | null | Monitoring regions to check from. Omit to use the default region. |
type | UptimeLinkType! | HTTP | The check type — currently always HTTP. |
timeout | Int! | 10 | Request timeout in seconds. |
http | UptimeLinkHttpInput | null | HTTP-specific check configuration. |
status | UptimeLinkStatusType! | ACTIVE | Whether the monitor starts active or paused. |
notification | UptimeLinkNotificationConfigInput | null | Notification settings. |
checkInterval | Int! | 3600 | Seconds between checks. |
name | String | null | Display name for the monitor. |
commonName | String | null | The monitor's name as shown on its public status page, derived from the target if omitted. |
tags | [String!] | null | Free-form tags to attach. |
UptimeLinkHttpInput fields
| Field | Type | Default | Description |
|---|---|---|---|
method | String | "GET" | HTTP method to use for the check. |
followRedirect | Boolean | true | Whether to follow HTTP redirects. |
headers | [KeyValueInput!] | null | Custom request headers to send with the check. |
data | HttpBodyInput | null | Request body to send with the check. |
auth | HttpAuthInput | null | HTTP authentication to use for the check. |
statusCodes | [Int!] | null | Status codes to count as "up". Omit to accept any status code as up. |
keywords | [String!] | null | Keywords the response body must (or must not) contain. |
keywordInverseMatch | Boolean | null | When true, the check fails if a keyword IS found, instead of not found. |
Response: the created UptimeLink (see Fields above).
updateUptimeLink
Updates an existing uptime monitor. Only the fields you pass are changed.
mutation {
updateUptimeLink(id: "...", input: { checkInterval: 60 }) {
id
checkInterval
}
}Parameters
| Name | Type | Description |
|---|---|---|
id | ID! | The uptime monitor's ID. |
input | UptimeLinkUpdateInput! | Fields to update — the same 11 fields as UptimeLinkInput above (including target), all optional here. Omitted fields are left unchanged. |
Response: the updated UptimeLink.
deleteUptimeLink / bulkDeleteUptimeLink
mutation {
deleteUptimeLink(id: "...") {
affectedRecords
}
}mutation {
bulkDeleteUptimeLink(ids: ["...", "..."]) {
affectedRecords
}
}Parameters
| Name | Type | Description |
|---|---|---|
id (single) | ID! | The uptime monitor's ID. |
ids (bulk) | [ID!]! | IDs of the uptime monitors to delete. |
Response: a DeleteResult — { affectedRecords: Int! }.
pauseUptimeLink / resumeUptimeLink
Toggle status between ACTIVE and PASSIVE for one or more monitors, without deleting them.
mutation {
pauseUptimeLink(ids: ["...", "..."]) {
affectedRecords
}
}Parameters
| Name | Type | Description |
|---|---|---|
ids | [ID!]! | IDs of the uptime monitors to pause/resume. |
Response: an UpdateResult — { affectedRecords: Int! }.
Filterable Fields
UptimeLinkFilterableFields (for findUptimeLink) and UptimeLinkRecordFilterableFields (for findUptimeLinkRecord) — see Discovering Filterable Fields.
enum UptimeLinkFilterableFields {
ID
STATUS
IS_FAVORITE
TYPE
LOCATIONS
TARGET
NAME
DOMAIN
ROOT_DOMAIN
CHECK_INTERVAL
TIMEOUT
HTTP_STATUS_CODES
HTTP_KEYWORDS
HTTP_KEYWORD_INVERSE_MATCH
TAGS
CREATE_TIME
UPDATE_TIME
LAST_ACCESSIBILITY_STATUS
LAST_UP_TIME
LAST_DOWN_TIME
LAST_CHECK_TIME
SEVERITY
}
enum UptimeLinkRecordFilterableFields {
ID
UPTIME_LINK_ID
LOCATION
ACCESSIBILITY_STATUS
ERROR
SPEND_TIME
START_TIME
END_TIME
PAGE_TITLE
PAGE_STATUS_CODE
PAGE_RESPONSE_TIME
PAGE_CONTENT_SIZE
CREATE_TIME
NEXT_CHECK_TIME
}