Sign Customiser

Navigation

Dark mode

Customiser sections

Update the backlights section

Copy page

Partially update the backlights section with a JSON Merge Patch (RFC 7396): the request body is a JSON object that contains only the properties to change. Omitted properties are unchanged, null clears a property that can hold null, and an empty object {} is a valid no-op.

PATCH/api/v3/customisers/{customiser_id}/backlights-section
PATCHUpdate the backlights section
PATCH/api/v3/customisers/{customiser_id}/backlights-section

Update the backlights section

Partially update the backlights section with a JSON Merge Patch (RFC 7396): the request body is a JSON object that contains only the properties to change. Omitted properties are unchanged, null clears a property that can hold null, and an empty object {} is a valid no-op. This section accepts title, description, optional, optional_label and optional_default_none. Any other property is refused with a 422 problem with code `unknown_field`, and `object`, `customiser_id` and `updated_at` are refused as read-only. The first write creates the section. Requires the `customisers:write` scope. title, description and optional_label are customiser text in the authoring language. A write replaces an unpublished Languages draft of the same text, and the response then lists the replaced keys in meta.replaced_drafts. optional_default_none applies only while optional is true: a write that leaves the section not optional stores optional_default_none as false, whatever the patch sends. A blank optional_label is stored as null, which restores the built-in label. On a sign type that does not offer backlights, the write is refused with a 422 problem with code `option_family_not_supported` and pointer "", as writes to the backlights themselves are, and nothing is stored. The read stays available. A successful update immediately changes the storefront: the customiser's cached configuration is invalidated and translated language content is resynchronised. It never regenerates your Shopify products, product images, or product cache. Send an `Idempotency-Key` header (1-255 visible ASCII characters, e.g. a UUID) to make the write safe to retry: repeating the same key with the same body replays the original response (marked `Idempotency-Replay: true`) without executing again; the same key with a different body is a 409 problem with code `idempotency_key_conflict`. The header is optional here, as on the option families' update operations. Validation failures are 422 problems: `validation_failed` lists every field error in `errors[]` with a JSON `pointer`. A 400 problem means the body is not valid JSON; a 422 problem with code `invalid_document` means the body is not a JSON object. 401/403/404/429 behave as on the read operation, with `customisers:write` as the required scope.

Authorisation

The Authorization header expects a Bearer token. Generate one on the API keys page in your dashboard.

Path

The customiser id, from the list customisers operation.

Body
Update the backlights section

Overview

This section accepts title, description, optional, optional_label and optional_default_none. Any other property is refused with a 422 problem with code unknown_field, and object, customiser_id and updated_at are refused as read-only. The first write creates the section. Requires the customisers:write scope. title, description and optional_label are customiser text in the authoring language. A write replaces an unpublished Languages draft of the same text, and the response then lists the replaced keys in meta.replaced_drafts. optional_default_none applies only while optional is true: a write that leaves the section not optional stores optional_default_none as false, whatever the patch sends. A blank optional_label is stored as null, which restores the built-in label. On a sign type that does not offer backlights, the write is refused with a 422 problem with code option_family_not_supported and pointer "", as writes to the backlights themselves are, and nothing is stored. The read stays available. A successful update immediately changes the storefront: the customiser's cached configuration is invalidated and translated language content is resynchronised. It never regenerates your Shopify products, product images, or product cache. Send an Idempotency-Key header (1-255 visible ASCII characters, e.g. a UUID) to make the write safe to retry: repeating the same key with the same body replays the original response (marked Idempotency-Replay: true) without executing again; the same key with a different body is a 409 problem with code idempotency_key_conflict. The header is optional here, as on the option families' update operations. Validation failures are 422 problems: validation_failed lists every field error in errors[] with a JSON pointer. A 400 problem means the body is not valid JSON; a 422 problem with code invalid_document means the body is not a JSON object. 401/403/404/429 behave as on the read operation, with customisers:write as the required scope.

Authorisation

Bearer token required. Include it in the Authorization header.

Required scope: customisers:write

Path parameters

customiser_idstringpathrequired

The customiser id, from the list customisers operation.

Example: 1

Request body

titlestringbody
descriptionstringbody
optionalbooleanbody
optional_labelstringbody
optional_default_nonebooleanbody

Request body example

application/json
{
  "title": "Choose your backlight",
  "description": "Pick one of our backlights.",
  "optional": true,
  "optional_label": "No backlight",
  "optional_default_none": false
}
Update the backlights section
curl https://web.signcustomiser.com/api/v3/customisers/1/backlights-section \
  --request PATCH \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "title": "Choose your backlight",
  "description": "Pick one of our backlights.",
  "optional": true,
  "optional_label": "No backlight",
  "optional_default_none": false
}'
Response
{
  "data": {
    "object": "backlight_section",
    "customiser_id": 42,
    "title": "Choose your backlight",
    "description": "Pick one of our backlights.",
    "optional": true,
    "optional_label": "No backlight",
    "optional_default_none": false,
    "updated_at": "2026-05-04T09:12:31Z"
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/customisers/42/backlights-section",
    "documentation": "https://www.signcustomiser.com/help/api/"
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}

Type a question and press Enter. Use the arrow keys to move between the results.