Creative overrides API

Creative overrides endpoints in the Brix REST API: 2 operations (GET, PUT), 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/creative-overrides/{creativeId}

Bearer token creative.view

Return the edits a location has made to a creative that was shared with it, the merged result of applying those edits, and any edits that have stopped applying.

ParameterInTypeRequiredDescription
creativeIdpathstringyesCreative id: one of yours, or one shared into this workspace.
nodequerystringnoLocation id. Default: the workspace root.
curl "https://api.brixsignage.com/v1/creative-overrides/{creativeId}" \
  -H "Authorization: Bearer $BRIX_API_KEY"

Response 200 Success.

FieldTypeDescription
dataobject
data.creativeIdstring
data.nodeIdstringThe location the edits apply at.
data.valuesobjectThe location's edits: box id → the box fields it changes (for example `{ "price": { "text": "13.00" } }`).
data.overrideIdstring | nullId of the stored edits (what an approval request is opened against); null before the first save.
data.approvalState"draft" | "pending" | "approved" | "rejected"Review state of the edits (not of the design).
data.requiresApprovalbooleanThe location requires approval before the edits air.
data.skipsApprovalbooleanThe author waived that review for this design.
data.creativeOverrideCreativeA creative's design: the boxes and scenes with their settings.
data.creative.idstring
data.creative.nodeIdstring | null
data.creative.namestring
data.creative.backgroundUrlstring | null
data.creative.boxesarray of object
data.creative.scenesarray of object
data.creative.dataSourceIdstring | null
data.creative.stagestringAbsent when not set.
data.creative.shareLockDefaultany | null
data.creative.shareEditsSkipApprovalboolean
data.creative.stageWidthinteger
data.creative.stageHeightinteger
data.creative.touchEnabledboolean
data.creative.approvalState"draft" | "pending" | "approved" | "rejected"Review state. Editing an approved row returns it to `draft`.
data.creative.updatedAtstringISO-8601 timestamp (UTC).
data.orphanedBoxIdsarray of stringEdited box ids the design no longer has.
data.sharedFromstring | nullThe workspace that owns the design, when it was shared in from another workspace.
data.baseOverrideCreativeA creative's design: the boxes and scenes with their settings.
data.base.idstring
data.base.nodeIdstring | null
data.base.namestring
data.base.backgroundUrlstring | null
data.base.boxesarray of object
data.base.scenesarray of object
data.base.dataSourceIdstring | null
data.base.stagestringAbsent when not set.
data.base.shareLockDefaultany | null
data.base.shareEditsSkipApprovalboolean
data.base.stageWidthinteger
data.base.stageHeightinteger
data.base.touchEnabledboolean
data.base.approvalState"draft" | "pending" | "approved" | "rejected"Review state. Editing an approved row returns it to `draft`.
data.base.updatedAtstringISO-8601 timestamp (UTC).
data.rejectedFieldsarray of string`boxId.field` edits that no longer apply because the author locked the field.
data.updatedAtstring | nullWhen the edits were last saved; null before the first save.

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 Unknown location, no such creative, or the creative is not usable at that location.

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.

PUT/v1/creative-overrides/{creativeId}

Bearer token creative.edit

Replace a location's edits to a shared creative. If the creative's author has locked a field against editing, the request is rejected with a 422 error for that field. **Notes.** - The response has no sharedFrom, base or rejectedFields (GET has them). A save returns approved edits to draft.

ParameterInTypeRequiredDescription
creativeIdpathstringyesCreative id: one of yours, or one shared into this workspace.
nodequerystringnoLocation id. Default: the workspace root.

Request body application/json

FieldTypeRequiredDescription
valuesobjectyesEvery edit to keep, at most 300 boxes. Edits left out are removed.
curl -X PUT "https://api.brixsignage.com/v1/creative-overrides/{creativeId}" \
  -H "Authorization: Bearer $BRIX_API_KEY" \
  -H "Content-Type: application/json"

Response 200 Success.

FieldTypeDescription
dataobject
data.creativeIdstring
data.nodeIdstringThe location the edits apply at.
data.valuesobjectThe location's edits: box id → the box fields it changes (for example `{ "price": { "text": "13.00" } }`).
data.overrideIdstring | nullId of the stored edits (what an approval request is opened against); null before the first save.
data.approvalState"draft" | "pending" | "approved" | "rejected"Review state of the edits (not of the design).
data.requiresApprovalbooleanThe location requires approval before the edits air.
data.skipsApprovalbooleanThe author waived that review for this design.
data.creativeOverrideCreativeA creative's design: the boxes and scenes with their settings.
data.creative.idstring
data.creative.nodeIdstring | null
data.creative.namestring
data.creative.backgroundUrlstring | null
data.creative.boxesarray of object
data.creative.scenesarray of object
data.creative.dataSourceIdstring | null
data.creative.stagestringAbsent when not set.
data.creative.shareLockDefaultany | null
data.creative.shareEditsSkipApprovalboolean
data.creative.stageWidthinteger
data.creative.stageHeightinteger
data.creative.touchEnabledboolean
data.creative.approvalState"draft" | "pending" | "approved" | "rejected"Review state. Editing an approved row returns it to `draft`.
data.creative.updatedAtstringISO-8601 timestamp (UTC).
data.orphanedBoxIdsarray of stringEdited box ids the design no longer has.
data.updatedAtstringISO-8601 timestamp (UTC).

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 You lack creative.edit at that location.

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 Unknown location, no such creative, or the creative is not usable at that location.

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 `validation_error` (bad `values`, more than 300 boxes, unknown box ids in `unknownBoxes`) or `locked` (fields the author locked, in `violations`).

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.