Sign Customiser

Navigation

Dark mode

Customiser support finishes

Update a support finish

Copy page

Applies an RFC 7396 JSON Merge Patch to one support finish: properties omitted from the body are unchanged, and null clears a nullable property (description, hexcode, min_width_cm, min_height_cm). Arrays are replaced wholesale, so backboard_ids replaces the whole assignment and must still name at least one of this customiser's backboards.

PATCH/api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id}
PATCHUpdate a support finish
PATCH/api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id}

Update a support finish

Applies an RFC 7396 JSON Merge Patch to one support finish: properties omitted from the body are unchanged, and `null` clears a nullable property (`description`, `hexcode`, `min_width_cm`, `min_height_cm`). Arrays are replaced wholesale, so `backboard_ids` replaces the whole assignment and must still name at least one of this customiser's backboards. Read-only and unknown fields are rejected — sending one at all is a 422, whatever its value. An empty object `{}` is a valid no-op. `hexcode` and `opacity` are two halves of one stored colour: naming either leaves the other as it was. The patched result must still be renderable, so clearing the `hexcode` of a `colour` finish is a 422 `colour_value_required`, and switching to the `texture` kind is refused with a 422 `texture_image_required` unless the finish already carries a texture image. Requires `customisers:write`. An `Idempotency-Key` is optional here: sending one makes the update safe to retry (an exact repeat replays the original response; the same key with a different body is a 409). The update clears the customiser's cached storefront configuration and runs the advisory language sync, and never regenerates Shopify products, product images, or the product cache.

Authorisation

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

Path

The customiser id.

The support finish id, from the list support finishes operation.

Body
Update a support finish

Overview

Read-only and unknown fields are rejected — sending one at all is a 422, whatever its value. An empty object {} is a valid no-op. hexcode and opacity are two halves of one stored colour: naming either leaves the other as it was. The patched result must still be renderable, so clearing the hexcode of a colour finish is a 422 colour_value_required, and switching to the texture kind is refused with a 422 texture_image_required unless the finish already carries a texture image. Requires customisers:write. An Idempotency-Key is optional here: sending one makes the update safe to retry (an exact repeat replays the original response; the same key with a different body is a 409). The update clears the customiser's cached storefront configuration and runs the advisory language sync, and never regenerates Shopify products, product images, or the product cache.

Authorisation

Bearer token required. Include it in the Authorization header.

Required scope: customisers:write

Path parameters

customiser_idstringpathrequired

The customiser id.

Example: 1

support_finish_idstringpathrequired

The support finish id.

Example: 27

Request body

finish_kindstringbody
min_size_rulestringbody
price_multiplier_targetstringbody
namestringbody
descriptionstringbody
hexcodestringbody
opacitynumberbody
applied_to_visualisationbooleanbody
backboard_idsarraybody
base_priceintegerbody
price_multipliernumberbody

Request body example

application/json
{
  "finish_kind": "colour",
  "min_size_rule": "any",
  "price_multiplier_target": "base_letter_price",
  "name": "Gloss Black",
  "description": "A deep gloss black",
  "hexcode": "#111111",
  "opacity": 0.8,
  "applied_to_visualisation": true,
  "backboard_ids": [
    11
  ],
  "base_price": 500,
  "price_multiplier": 1.2
}
Update a support finish
curl https://web.signcustomiser.com/api/v3/customisers/1/support-finishes/27 \
  --request PATCH \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "finish_kind": "colour",
  "min_size_rule": "any",
  "price_multiplier_target": "base_letter_price",
  "name": "Gloss Black",
  "description": "A deep gloss black",
  "hexcode": "#111111",
  "opacity": 0.8,
  "applied_to_visualisation": true,
  "backboard_ids": [
    11
  ],
  "base_price": 500,
  "price_multiplier": 1.2
}'
Response
{
  "data": {
    "object": "support_finish",
    "id": 27,
    "customiser_id": 42,
    "name": "Gloss Black",
    "description": "A deep gloss black",
    "finish_kind": "colour",
    "hexcode": "#111111",
    "opacity": 0.8,
    "applied_to_visualisation": true,
    "backboard_ids": [
      11
    ],
    "min_width_cm": null,
    "min_height_cm": null,
    "min_size_rule": "any",
    "base_price": 500,
    "currency": "USD",
    "price_multiplier": 1,
    "price_multiplier_target": "base_letter_price",
    "sort_order": 1,
    "preview_image_url": null,
    "example_image_url": null,
    "texture_image_url": null,
    "created_at": "2026-08-13T00:00:00Z",
    "updated_at": "2026-08-13T00:05:00Z"
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/customisers/42/support-finishes/27",
    "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.