Sign Customiser

Applies an RFC 7396 JSON Merge Patch to one mounting: properties omitted from the body are unchanged, and null clears a nullable property (description, the proportions). Arrays are replaced wholesale, so sending excluded_colour_ids replaces the whole exclusion list.

PATCH/api/v3/customisers/{customiser_id}/mountings/{mounting_id}

Overview

Read-only and unknown fields are rejected. An empty object {} is a valid no-op. Requires customisers:write. Changing visualisation drops the proportions the old visualisation was drawn from, because the storefront would never read them again; send the new visualisation's proportions in the same body to set them. 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 theAuthorization header.

Required scope: customisers:write

Path parameters

customiser_idstringpathrequired

The customiser id.

Example: 1

mounting_idstringpathrequired

The mounting id.

Example: 8

Request body

namestringbody
descriptionstringbody
pedestal_pole_width_pctintegerbody
pedestal_base_depth_pctintegerbody
sign_feet_base_depth_pctintegerbody
sign_feet_post_height_pctintegerbody
sign_feet_inset_pctintegerbody
excluded_colour_idsarraybody
excluded_backboard_idsarraybody
base_priceintegerbody

Request body example

application/json
{
  "name": "Wall Screws",
  "description": "Four stainless screws and wall plugs",
  "pedestal_pole_width_pct": 18,
  "pedestal_base_depth_pct": 100,
  "sign_feet_base_depth_pct": 180,
  "sign_feet_post_height_pct": 10,
  "sign_feet_inset_pct": 15,
  "excluded_colour_ids": [
    3
  ],
  "excluded_backboard_ids": [
    11
  ],
  "base_price": 500
}
Update a mounting
curl https://web.signcustomiser.com/api/v3/customisers/1/mountings/8 \
  --request PATCH \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Wall Screws",
  "description": "Four stainless screws and wall plugs",
  "pedestal_pole_width_pct": 18,
  "pedestal_base_depth_pct": 100,
  "sign_feet_base_depth_pct": 180,
  "sign_feet_post_height_pct": 10,
  "sign_feet_inset_pct": 15,
  "excluded_colour_ids": [
    3
  ],
  "excluded_backboard_ids": [
    11
  ],
  "base_price": 500
}'
Response
{
  "data": {
    "object": "mounting",
    "id": 8,
    "customiser_id": 42,
    "name": "Wall Screws",
    "description": "Four stainless screws and wall plugs",
    "visualisation": "screw",
    "pedestal_pole_width_pct": null,
    "pedestal_base_depth_pct": null,
    "sign_feet_base_depth_pct": null,
    "sign_feet_post_height_pct": null,
    "sign_feet_inset_pct": null,
    "letter_parts": [],
    "excluded_colour_ids": [
      3
    ],
    "excluded_backboard_ids": [],
    "base_price": 500,
    "currency": "USD",
    "price_multiplier": 1,
    "price_multiplier_target": "base_letter_price",
    "sort_order": 1,
    "image_url": null,
    "button_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/mountings/8",
    "documentation": "https://www.signcustomiser.com/help/api/"
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}