Power policies API

Power policies endpoints in the Brix REST API: 5 operations (GET, POST, PATCH), with auth, permissions and curl examples.

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/power-policies

Bearer token screen.view

List the power policies configured for your workspace. Each policy defines an open and close window for the screens using it. **Notes.** - Needs the permission at the workspace root: a location-scoped key is refused.

curl "https://api.brixsignage.com/v1/power-policies" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200 Success.

FieldTypeDescription
dataarray of PowerPolicy
data[].idstringPower policy id.
data[].spaceIdstring
data[].namestring
data[].descriptionstring | null
data[].windowsWeeklyWindowsOpen window per weekday (`mon` … `sun`). A day that is absent is closed.
data[].windows.monOpenWindow
data[].windows.mon.startstringOpening time, `HH:MM` 24-hour, local time.
data[].windows.mon.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data[].windows.mon.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data[].windows.mon.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data[].windows.mon.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data[].windows.tueOpenWindow
data[].windows.tue.startstringOpening time, `HH:MM` 24-hour, local time.
data[].windows.tue.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data[].windows.tue.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data[].windows.tue.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data[].windows.tue.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data[].windows.wedOpenWindow
data[].windows.wed.startstringOpening time, `HH:MM` 24-hour, local time.
data[].windows.wed.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data[].windows.wed.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data[].windows.wed.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data[].windows.wed.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data[].windows.thuOpenWindow
data[].windows.thu.startstringOpening time, `HH:MM` 24-hour, local time.
data[].windows.thu.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data[].windows.thu.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data[].windows.thu.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data[].windows.thu.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data[].windows.friOpenWindow
data[].windows.fri.startstringOpening time, `HH:MM` 24-hour, local time.
data[].windows.fri.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data[].windows.fri.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data[].windows.fri.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data[].windows.fri.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data[].windows.satOpenWindow
data[].windows.sat.startstringOpening time, `HH:MM` 24-hour, local time.
data[].windows.sat.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data[].windows.sat.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data[].windows.sat.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data[].windows.sat.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data[].windows.sunOpenWindow
data[].windows.sun.startstringOpening time, `HH:MM` 24-hour, local time.
data[].windows.sun.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data[].windows.sun.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data[].windows.sun.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data[].windows.sun.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data[].rebootHourLocalinteger | nullHour (0–23, local time) the device restarts each day; null = no scheduled restart.
data[].timezonestring | nullIANA time zone the windows use; null = each screen's own time zone.
data[].createdAtstringISO-8601 timestamp (UTC).
data[].updatedAtstringISO-8601 timestamp (UTC).
data[].deletedAtstring | nullAlways null on these reads.
data[].screenCountintegerScreens that use this policy.
{
  "data": [
    {
      "id": "ppol_1a2b3c4d5e6f7a8b",
      "spaceId": "space_1a2b3c4d5e6f7a8b",
      "name": "Store hours",
      "description": "Open 8 to 22",
      "windows": {
        "mon": {
          "start": "08:00",
          "end": "22:00"
        },
        "tue": {
          "start": "08:00",
          "end": "22:00",
          "volume": 40
        }
      },
      "rebootHourLocal": 4,
      "timezone": "Europe/London",
      "createdAt": "2026-09-28T09:00:00.000Z",
      "updatedAt": "2026-09-28T09:00:00.000Z",
      "deletedAt": null,
      "screenCount": 12
    }
  ]
}

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

POST/v1/power-policies

Bearer token screen.edit

Create a named power policy that defines when screens using it should power on and off. **Notes.** - Needs the permission at the workspace root: a location-scoped key is refused.

Request body application/json

FieldTypeRequiredDescription
namestringnoDefault on create: `Untitled policy`.
descriptionstring | nullno
windowsobjectnoOpen window per weekday. `null` or an absent day is closed. A malformed day is dropped (closed), not refused.
windows.monOpenWindow | nullno
windows.tueOpenWindow | nullno
windows.wedOpenWindow | nullno
windows.thuOpenWindow | nullno
windows.friOpenWindow | nullno
windows.satOpenWindow | nullno
windows.sunOpenWindow | nullno
rebootHourLocalnumber | nullno0–23; rounded and clamped. Null (or a value that is not a number) turns the restart off.
timezonestring | nullnoIANA time zone (`Europe/London`). An unknown zone is refused with 422.
curl -X POST "https://api.brixsignage.com/v1/power-policies" \
  -H "Authorization: Bearer $BRIX_API_KEY" \
  -H "Content-Type: application/json"

Response 201 Success.

FieldTypeDescription
dataPowerPolicy
data.idstringPower policy id.
data.spaceIdstring
data.namestring
data.descriptionstring | null
data.windowsWeeklyWindowsOpen window per weekday (`mon` … `sun`). A day that is absent is closed.
data.windows.monOpenWindow
data.windows.mon.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.mon.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.mon.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.mon.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.mon.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.tueOpenWindow
data.windows.tue.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.tue.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.tue.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.tue.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.tue.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.wedOpenWindow
data.windows.wed.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.wed.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.wed.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.wed.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.wed.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.thuOpenWindow
data.windows.thu.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.thu.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.thu.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.thu.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.thu.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.friOpenWindow
data.windows.fri.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.fri.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.fri.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.fri.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.fri.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.satOpenWindow
data.windows.sat.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.sat.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.sat.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.sat.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.sat.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.sunOpenWindow
data.windows.sun.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.sun.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.sun.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.sun.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.sun.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.rebootHourLocalinteger | nullHour (0–23, local time) the device restarts each day; null = no scheduled restart.
data.timezonestring | nullIANA time zone the windows use; null = each screen's own time zone.
data.createdAtstringISO-8601 timestamp (UTC).
data.updatedAtstringISO-8601 timestamp (UTC).
data.deletedAtstring | nullAlways null on these reads.
data.screenCountintegerScreens that use this policy.

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 Unknown `timezone`.

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/power-policies/{id}

Bearer token screen.view

Get one power policy by its ID. **Notes.** - Needs the permission at the workspace root: a location-scoped key is refused.

ParameterInTypeRequiredDescription
idpathstringyesPower policy id.
curl "https://api.brixsignage.com/v1/power-policies/{id}" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200 Success.

FieldTypeDescription
dataPowerPolicy
data.idstringPower policy id.
data.spaceIdstring
data.namestring
data.descriptionstring | null
data.windowsWeeklyWindowsOpen window per weekday (`mon` … `sun`). A day that is absent is closed.
data.windows.monOpenWindow
data.windows.mon.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.mon.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.mon.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.mon.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.mon.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.tueOpenWindow
data.windows.tue.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.tue.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.tue.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.tue.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.tue.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.wedOpenWindow
data.windows.wed.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.wed.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.wed.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.wed.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.wed.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.thuOpenWindow
data.windows.thu.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.thu.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.thu.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.thu.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.thu.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.friOpenWindow
data.windows.fri.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.fri.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.fri.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.fri.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.fri.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.satOpenWindow
data.windows.sat.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.sat.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.sat.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.sat.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.sat.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.sunOpenWindow
data.windows.sun.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.sun.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.sun.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.sun.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.sun.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.rebootHourLocalinteger | nullHour (0–23, local time) the device restarts each day; null = no scheduled restart.
data.timezonestring | nullIANA time zone the windows use; null = each screen's own time zone.
data.createdAtstringISO-8601 timestamp (UTC).
data.updatedAtstringISO-8601 timestamp (UTC).
data.deletedAtstring | nullAlways null on these reads.
data.screenCountintegerScreens that use this policy.

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 404 No such power policy in this workspace.

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.

PATCH/v1/power-policies/{id}

Bearer token screen.edit

Update a power policy's open and close windows, reboot hour, time zone, or name. **Notes.** - screenCount in this response is always 0; read the policy to get the real count. - An empty name keeps the current name. - Needs the permission at the workspace root: a location-scoped key is refused.

ParameterInTypeRequiredDescription
idpathstringyesPower policy id.

Request body application/json

FieldTypeRequiredDescription
namestringnoDefault on create: `Untitled policy`.
descriptionstring | nullno
windowsobjectnoOpen window per weekday. `null` or an absent day is closed. A malformed day is dropped (closed), not refused.
windows.monOpenWindow | nullno
windows.tueOpenWindow | nullno
windows.wedOpenWindow | nullno
windows.thuOpenWindow | nullno
windows.friOpenWindow | nullno
windows.satOpenWindow | nullno
windows.sunOpenWindow | nullno
rebootHourLocalnumber | nullno0–23; rounded and clamped. Null (or a value that is not a number) turns the restart off.
timezonestring | nullnoIANA time zone (`Europe/London`). An unknown zone is refused with 422.
curl -X PATCH "https://api.brixsignage.com/v1/power-policies/{id}" \
  -H "Authorization: Bearer $BRIX_API_KEY" \
  -H "Content-Type: application/json"

Response 200 Success.

FieldTypeDescription
dataPowerPolicy
data.idstringPower policy id.
data.spaceIdstring
data.namestring
data.descriptionstring | null
data.windowsWeeklyWindowsOpen window per weekday (`mon` … `sun`). A day that is absent is closed.
data.windows.monOpenWindow
data.windows.mon.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.mon.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.mon.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.mon.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.mon.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.tueOpenWindow
data.windows.tue.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.tue.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.tue.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.tue.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.tue.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.wedOpenWindow
data.windows.wed.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.wed.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.wed.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.wed.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.wed.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.thuOpenWindow
data.windows.thu.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.thu.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.thu.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.thu.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.thu.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.friOpenWindow
data.windows.fri.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.fri.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.fri.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.fri.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.fri.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.satOpenWindow
data.windows.sat.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.sat.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.sat.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.sat.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.sat.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.windows.sunOpenWindow
data.windows.sun.startstringOpening time, `HH:MM` 24-hour, local time.
data.windows.sun.endstringClosing time, `HH:MM`. An `end` at or before `start` runs past midnight.
data.windows.sun.volumeinteger | nullVolume 0–100 while open; absent or null keeps the screen's own.
data.windows.sun.brightnessinteger | nullBacklight 0–100 while open; absent or null keeps the screen's own.
data.windows.sun.mutedboolean | nullMute (true) or unmute (false) while open; absent or null keeps the screen's own.
data.rebootHourLocalinteger | nullHour (0–23, local time) the device restarts each day; null = no scheduled restart.
data.timezonestring | nullIANA time zone the windows use; null = each screen's own time zone.
data.createdAtstringISO-8601 timestamp (UTC).
data.updatedAtstringISO-8601 timestamp (UTC).
data.deletedAtstring | nullAlways null on these reads.
data.screenCountintegerScreens that use this policy.

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 404 No such power policy in this workspace.

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 Unknown `timezone`.

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.

POST/v1/power-policies/{id}/delete

Bearer token screen.edit

Delete a power policy. Screens that use it go back to their own operating hours. A deleted policy cannot be restored. **Notes.** - A POST to /delete, not DELETE. Screens that use the policy keep the link and use their own operating hours until they get another policy. There is no restore route. - Needs the permission at the workspace root: a location-scoped key is refused.

ParameterInTypeRequiredDescription
idpathstringyesPower policy id.
curl -X POST "https://api.brixsignage.com/v1/power-policies/{id}/delete" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200 Success.

FieldTypeDescription
dataobject
data.idstring
data.deletedtrue

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 404 No such power policy in this workspace.

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.