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 · For AI agents: the full docs index is at /llms.txt

Base URL https://api.brixsignage.com. Send Authorization: Bearer $BRIX_API_KEY unless an operation says Auth: none or Auth: no API key. The Permission line names what the key must hold. See Authentication and scopes, Errors and rate limits and Pagination.

Every 4xx and 5xx response below returns this body:

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.

GET /v1/uptime

Auth: Bearer token. Permission: 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.

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

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

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