Sign Customiser

Navigation

Dark mode

Adds a mounting to the customiser, at the end of the current presentation order. Only name is required; every other field has a documented default (visualisation none, no letter parts, both exclusion arrays empty, base_price 0, price_multiplier 1, price_multiplier_target base_letter_price).

POST/api/v3/customisers/{customiser_id}/mountings
POSTCreate a mounting
POST/api/v3/customisers/{customiser_id}/mountings

Create a mounting

Adds a mounting to the customiser, at the end of the current presentation order. Only `name` is required; every other field has a documented default (`visualisation` none, no letter parts, both exclusion arrays empty, `base_price` 0, `price_multiplier` 1, `price_multiplier_target` base_letter_price). The `*_pct` proportions belong to one visualisation each, so a body naming one the mounting's visualisation would never read is a 422 on that field. `excluded_colour_ids` and `excluded_backboard_ids` must name the customiser's own colours and backboards — an id from another customiser or another store is a 422 on the offending element. Image fields are read-only until the upload surface ships, and `sort_order` moves only through the reorder operation; naming either is a 422. Requires `customisers:write` and an `Idempotency-Key`. The write clears the customiser's cached storefront configuration and runs the advisory language sync. It never regenerates Shopify products, product images, or the product cache, so live listings are untouched. Option writes also spend one unit of a separate per-key option-write budget; exhausting it returns a 429 with `retry_after`.

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
Create a mounting

Overview

The *_pct proportions belong to one visualisation each, so a body naming one the mounting's visualisation would never read is a 422 on that field. excluded_colour_ids and excluded_backboard_ids must name the customiser's own colours and backboards — an id from another customiser or another store is a 422 on the offending element. Image fields are read-only until the upload surface ships, and sort_order moves only through the reorder operation; naming either is a 422. Requires customisers:write and an Idempotency-Key. The write clears the customiser's cached storefront configuration and runs the advisory language sync. It never regenerates Shopify products, product images, or the product cache, so live listings are untouched. Option writes also spend one unit of a separate per-key option-write budget; exhausting it returns a 429 with retry_after.

Authorisation

Bearer token required. Include it in the Authorization header.

Required scope: customisers:write

Path parameters

customiser_idstringpathrequired

The customiser id.

Example: 1

Request body

visualisationstringbody
letter_partsarraybody
price_multiplier_targetstringbody
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
price_multipliernumberbody

Request body example

application/json
{
  "visualisation": "screw",
  "letter_parts": [
    "top"
  ],
  "price_multiplier_target": "base_letter_price",
  "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,
  "price_multiplier": 1.2
}
Create a mounting
curl https://web.signcustomiser.com/api/v3/customisers/1/mountings \
  --request POST \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "visualisation": "screw",
  "letter_parts": [
    "top"
  ],
  "price_multiplier_target": "base_letter_price",
  "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,
  "price_multiplier": 1.2
}'
Response
{
  "data": {
    "object": "mounting",
    "id": 8,
    "customiser_id": 42,
    "name": "Wall Screws",
    "description": null,
    "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": [],
    "excluded_backboard_ids": [],
    "base_price": 0,
    "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:00: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"
  }
}

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