Sign Customiser

Adds a material to the customiser, at the end of the current presentation order.

POST/api/v3/customisers/{customiser_id}/materials

Overview

Only name is required; every other field has a documented default (both exclusion arrays empty, base_price 0, price_multiplier 1, price_multiplier_target base_letter_price). excluded_backboard_ids and excluded_mounting_ids must name the customiser's own backboards and mountings — 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 theAuthorization header.

Required scope: customisers:write

Path parameters

customiser_idstringpathrequired

The customiser id.

Example: 1

Request body

price_multiplier_targetstringbody
namestringbody
descriptionstringbody
excluded_backboard_idsarraybody
excluded_mounting_idsarraybody
base_priceintegerbody
price_multipliernumberbody

Request body example

application/json
{
  "price_multiplier_target": "base_letter_price",
  "name": "Brushed Aluminium",
  "description": "3mm brushed aluminium face",
  "excluded_backboard_ids": [
    11
  ],
  "excluded_mounting_ids": [
    4
  ],
  "base_price": 500,
  "price_multiplier": 1.2
}
Create a material
curl https://web.signcustomiser.com/api/v3/customisers/1/materials \
  --request POST \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "price_multiplier_target": "base_letter_price",
  "name": "Brushed Aluminium",
  "description": "3mm brushed aluminium face",
  "excluded_backboard_ids": [
    11
  ],
  "excluded_mounting_ids": [
    4
  ],
  "base_price": 500,
  "price_multiplier": 1.2
}'
Response
{
  "data": {
    "object": "material",
    "id": 5,
    "customiser_id": 42,
    "name": "Brushed Aluminium",
    "description": null,
    "excluded_backboard_ids": [],
    "excluded_mounting_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/materials/5",
    "documentation": "https://www.signcustomiser.com/help/api/"
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}