Status API

Status endpoints in the Brix REST API for digital signage: 2 operations (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/status

No auth

Get the current platform status, including overall state, 30-day latency attainment, open and recent published incidents, and a 90-day history strip. This endpoint requires no authentication. If the underlying status data is more than three hours old, the state is reported as unknown rather than operational. Pass format=text for a plain-text response. **Notes.** - Answers 200 during an outage too: the state is in the body. - With format=text the body is text/plain.

ParameterInTypeRequiredDescription
formatquery"text"no`text` answers a plain-text summary instead of JSON.
curl "https://api.brixsignage.com/v1/status"

Response 200 Success.

FieldTypeDescription
dataobject
data.state"operational" | "degraded" | "outage" | "unknown"
data.computedAtstring | nullWhen the status was measured; null when never.
data.stalebooleanTrue when the measurement is more than three hours old (the state is then `unknown`).
data.latencyobject | null
data.incidentsarray of StatusIncidentOpen incidents.
data.incidents[].idstring
data.incidents[].titlestring
data.incidents[].status"investigating" | "identified" | "monitoring" | "resolved"
data.incidents[].impact"degraded" | "outage" | "none"
data.incidents[].startedAtstringISO-8601 timestamp (UTC).
data.incidents[].resolvedAtstring | null
data.incidents[].updatesarray of objectOldest first.
data.incidents[].updates[].atstringISO-8601 timestamp (UTC).
data.incidents[].updates[].status"investigating" | "identified" | "monitoring" | "resolved"
data.incidents[].updates[].messagestring
data.incidents[].screensPlayingboolean | nullWhether screens kept playing during the incident; null when not stated.
data.recentarray of StatusIncidentRecently resolved incidents.
data.recent[].idstring
data.recent[].titlestring
data.recent[].status"investigating" | "identified" | "monitoring" | "resolved"
data.recent[].impact"degraded" | "outage" | "none"
data.recent[].startedAtstringISO-8601 timestamp (UTC).
data.recent[].resolvedAtstring | null
data.recent[].updatesarray of objectOldest first.
data.recent[].updates[].atstringISO-8601 timestamp (UTC).
data.recent[].updates[].status"investigating" | "identified" | "monitoring" | "resolved"
data.recent[].updates[].messagestring
data.recent[].screensPlayingboolean | nullWhether screens kept playing during the incident; null when not stated.
data.daysarray of objectOne entry per day, for the last 90 days.
data.days[].datestring`YYYY-MM-DD`.
data.days[].state"operational" | "degraded" | "outage"

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 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.

GET/v1/status/deprecations

No auth

List every API route scheduled for retirement, when it stops working, and its replacement. This endpoint requires no authentication and is safe to poll from a script. An empty list means no routes are currently scheduled for retirement.

curl "https://api.brixsignage.com/v1/status/deprecations"

Response 200 Success.

FieldTypeDescription
dataobject
data.noticeDaysintegerThe minimum notice a retired route gets.
data.policystring
data.deprecationsarray of object
data.deprecations[].routestring`METHOD /path`.
data.deprecations[].announcedstringDate (`YYYY-MM-DD`) it was listed.
data.deprecations[].sunsetstringDate (`YYYY-MM-DD`) it stops working.
data.deprecations[].replacementstring | null
data.deprecations[].whystring
data.deprecations[].noticeDaysintegerDays between `announced` and `sunset`.

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 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.