Uptime API

Uptime endpoints in the Brix REST API for digital signage: 1 operation (GET). Each lists its path, auth, required permission and a curl example.

View as Markdown

Base URL https://api.brixsignage.com. Send Authorization: Bearer $BRIX_API_KEY unless an operation says No auth. The permission chip names what the key must hold. See Authentication and scopes, Errors and rate limits and Pagination.

GET/v1/uptime

Bearer token screen.view

Get an uptime report for a date range, with online percentage per screen and per location, downtime windows, and mean time to recovery. **Notes.** - Only screens at locations the caller can see. outageSummary is present only when there were outages.

ParameterInTypeRequiredDescription
fromquerystringnoISO-8601 start (default: the start of the workspace's offline-history window).
toquerystringnoISO-8601 end (default: now).
screenIdquerystringnoOnly this screen.
curl "https://api.brixsignage.com/v1/uptime" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200 Success.

FieldTypeDescription
dataobject
data.fromstring | null
data.tostring | null
data.offlineRetentionDaysintegerHow far back offline history is kept.
data.fleetobject
data.fleet.screenCountinteger
data.fleet.onlinePctnumber0–100.
data.fleet.outagesinteger
data.fleet.mttrSecnumber | nullMean time to recover, in seconds; null with no recovered outage.
data.fleet.totalDowntimeSecnumber
data.fleet.plannedDarkSecnumberDowntime the screen was expected to be dark (a schedule or power policy).
data.fleet.plannedDarkOutagesinteger
data.fleet.outageSummaryOutageSummaryOutages in a window, by cause.
data.fleet.outageSummary.windowDaysinteger
data.fleet.outageSummary.countintegerUnplanned outages in the window.
data.fleet.outageSummary.byCauseobjectOutage count per cause; a cause with none is absent.
data.fleet.outageSummary.byBucketobject
data.fleet.outageSummary.topCausestring | null
data.fleet.outageSummary.topCauseSharenumber
data.fleet.outageSummary.hedgedSharenumber
data.fleet.outageSummary.lastCauseobject | null
data.fleet.outageSummary.lastAtstring | null
data.fleet.outageSummary.lastKnownCauseobject | null
data.fleet.outageSummary.avgRssiDbmnumber | null
data.fleet.outageSummary.insightstring | nullThe rollup sentence, e.g. `All 6 were Wi-Fi drops.`
data.fleet.screensWithOutagesinteger
data.screensarray of object
data.screens[].screenIdstring
data.screens[].screenNamestring
data.screens[].nodeIdstring | null
data.screens[].locationLabelstring | null
data.screens[].status"online" | "offline" | "pairing"
data.screens[].lastSeenAtstring | null
data.screens[].windowSecnumber
data.screens[].downtimeSecnumber
data.screens[].uptimeSecnumber
data.screens[].onlinePctnumber
data.screens[].outagesinteger
data.screens[].mttrSecnumber | null
data.screens[].plannedDarkOutagesinteger
data.screens[].plannedDarkSecnumber
data.screens[].downtimeWindowsarray of object
data.screens[].downtimeWindows[].fromstringISO-8601 timestamp (UTC).
data.screens[].downtimeWindows[].tostring | nullNull while the screen is still down.
data.screens[].downtimeWindows[].durationSecnumber
data.screens[].downtimeWindows[].detectionPathstringHow the outage was noticed, e.g. `ws-close`, `heartbeat-timeout`.
data.screens[].downtimeWindows[].causestring | null
data.screens[].downtimeWindows[].causeDetailstring | null
data.screens[].downtimeWindows[].causeLabelstring | null
data.screens[].downtimeWindows[].reasonstring | null
data.screens[].downtimeWindows[].expectedDarkboolean | null
data.screens[].downtimeWindows[].expectedReasonstring | null
data.screens[].outageSummaryOutageSummaryOutages in a window, by cause.
data.screens[].outageSummary.windowDaysinteger
data.screens[].outageSummary.countintegerUnplanned outages in the window.
data.screens[].outageSummary.byCauseobjectOutage count per cause; a cause with none is absent.
data.screens[].outageSummary.byBucketobject
data.screens[].outageSummary.topCausestring | null
data.screens[].outageSummary.topCauseSharenumber
data.screens[].outageSummary.hedgedSharenumber
data.screens[].outageSummary.lastCauseobject | null
data.screens[].outageSummary.lastAtstring | null
data.screens[].outageSummary.lastKnownCauseobject | null
data.screens[].outageSummary.avgRssiDbmnumber | null
data.screens[].outageSummary.insightstring | nullThe rollup sentence, e.g. `All 6 were Wi-Fi drops.`
data.locationsarray of object
data.locations[].nodeIdstring | null
data.locations[].namestring
data.locations[].screenCountinteger
data.locations[].onlinePctnumber
data.locations[].windowSecnumber
data.locations[].downtimeSecnumber
data.locations[].outagesinteger
data.locations[].mttrSecnumber | null
data.locations[].outageSummaryOutageSummaryOutages in a window, by cause.
data.locations[].outageSummary.windowDaysinteger
data.locations[].outageSummary.countintegerUnplanned outages in the window.
data.locations[].outageSummary.byCauseobjectOutage count per cause; a cause with none is absent.
data.locations[].outageSummary.byBucketobject
data.locations[].outageSummary.topCausestring | null
data.locations[].outageSummary.topCauseSharenumber
data.locations[].outageSummary.hedgedSharenumber
data.locations[].outageSummary.lastCauseobject | null
data.locations[].outageSummary.lastAtstring | null
data.locations[].outageSummary.lastKnownCauseobject | null
data.locations[].outageSummary.avgRssiDbmnumber | null
data.locations[].outageSummary.insightstring | nullThe rollup sentence, e.g. `All 6 were Wi-Fi drops.`
data.locations[].screensWithOutagesinteger

Response 401 Missing, expired or revoked bearer token.

FieldTypeDescription
errorstringMachine-readable code: `unauthorized`, `forbidden`, `not_found`, `validation_error`, `conflict`, `rate_limited`, `internal_error`, …
messagestringHuman-readable explanation. Safe to show an operator.
requestIdstringPresent on 5xx: quote it to support.

Response 403 The token lacks the permission this operation needs (see `x-brix-permission`).

FieldTypeDescription
errorstringMachine-readable code: `unauthorized`, `forbidden`, `not_found`, `validation_error`, `conflict`, `rate_limited`, `internal_error`, …
messagestringHuman-readable explanation. Safe to show an operator.
requestIdstringPresent on 5xx: quote it to support.

Response 422 `from` or `to` is not an ISO-8601 timestamp.

FieldTypeDescription
errorstringMachine-readable code: `unauthorized`, `forbidden`, `not_found`, `validation_error`, `conflict`, `rate_limited`, `internal_error`, …
messagestringHuman-readable explanation. Safe to show an operator.
requestIdstringPresent on 5xx: quote it to support.

Response 5XX Server error. The body carries a `requestId` to quote to support.

FieldTypeDescription
errorstringMachine-readable code: `unauthorized`, `forbidden`, `not_found`, `validation_error`, `conflict`, `rate_limited`, `internal_error`, …
messagestringHuman-readable explanation. Safe to show an operator.
requestIdstringPresent on 5xx: quote it to support.