---
title: "Replace a creative's overrides at a location"
method: PUT
path: "/v1/creative-overrides/{creativeId}"
tags: ["creative-overrides"]
---

# Replace a creative's overrides at a location

`PUT /v1/creative-overrides/{creativeId}`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/creative-overrides/{creativeId}`
- Auth: HTTP bearer

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

## Path parameters

- `creativeId` string, required

## Query parameters

- `node` string

## Request body

- object
  - `values` object, required: Every edit to keep, at most 300 boxes. Edits left out are removed.

## Response `200`

Success.

- object
  - `data` object, required
    - `creativeId` string, required
    - `nodeId` string, required: The location the edits apply at.
    - `values` object, required: The location's edits: box id → the box fields it changes (for example `{ "price": { "text": "13.00" } }`).
    - `overrideId` string, nullable, required: Id of the stored edits (what an approval request is opened against); null before the first save.
    - `approvalState` 'draft' | 'pending' | 'approved' | 'rejected', required: Review state of the edits (not of the design).
    - `requiresApproval` boolean, required: The location requires approval before the edits air.
    - `skipsApproval` boolean, required: The author waived that review for this design.
    - `creative` OverrideCreative, required: A creative's design: the boxes and scenes with their settings.
      - `id` string, required
      - `nodeId` string, nullable, required
      - `name` string, required
      - `backgroundUrl` string, nullable, required
      - `boxes` object[], required
      - `scenes` object[], required
      - `dataSourceId` string, nullable, required
      - `stage` string: Absent when not set.
      - `shareLockDefault` unknown, required
      - `shareEditsSkipApproval` boolean, required
      - `stageWidth` integer
      - `stageHeight` integer
      - `touchEnabled` boolean
      - `approvalState` 'draft' | 'pending' | 'approved' | 'rejected', required: Review state. Editing an approved row returns it to `draft`.
      - `updatedAt` string, required: ISO-8601 timestamp (UTC).
    - `orphanedBoxIds` string[], required: Edited box ids the design no longer has.
    - `updatedAt` string, required: ISO-8601 timestamp (UTC).

## Other responses

- `401`: Missing, expired or revoked bearer token.
- `403`: You lack creative.edit at that location.
- `404`: Unknown location, no such creative, or the creative is not usable at that location.
- `422`: `validation_error` (bad `values`, more than 300 boxes, unknown box ids in `unknownBoxes`) or `locked` (fields the author locked, in `violations`).
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
