Sign Customiser

Adds a backboard to the customiser, at the end of the current presentation order. Only name is required; every other field has a documented default (backboard_type null, letter_type_ids empty, allow_multilayer false, base_price 0, price_multiplier 1, price_multiplier_target base_letter_price).

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

Overview

On a channel customiser outside the cut-out family, letter_type_ids is required and must name at least one of the customiser's own letter types, because a backboard no letter type offers is unreachable in the storefront. Image fields, the uploaded shape and everything derived from it (geometry, custom_shape, padding), and the multilayer layers definitions are read-only here, and sort_order moves only through the reorder operation — naming any of them is a 422. The shape has its own slot, PUT .../backboards/{backboard_id}/shape. backboard_type cannot be set to custom_shape or cutout on a create: those draw the board from an uploaded shape, and a create has no row to attach one to yet. Create the backboard, attach its shape with PUT .../backboards/{backboard_id}/shape, then set the type. 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

backboard_typestringbody
price_multiplier_targetstringbody
namestringbody
descriptionstringbody
letter_type_idsarraybody
outline_sizeintegerbody
allow_multilayerbooleanbody
custom_background_enabledbooleanbody
show_custom_backgroundbooleanbody
base_priceintegerbody
price_multipliernumberbody
price_per_sq_cmnumberbody

Request body example

application/json
{
  "backboard_type": "board",
  "price_multiplier_target": "base_letter_price",
  "name": "Clear Acrylic Panel",
  "description": "A 5mm clear acrylic panel",
  "letter_type_ids": [
    3
  ],
  "outline_size": 8,
  "allow_multilayer": false,
  "custom_background_enabled": false,
  "show_custom_background": false,
  "base_price": 500,
  "price_multiplier": 1.2,
  "price_per_sq_cm": 0.022
}
Create a backboard
curl https://web.signcustomiser.com/api/v3/customisers/1/backboards \
  --request POST \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "backboard_type": "board",
  "price_multiplier_target": "base_letter_price",
  "name": "Clear Acrylic Panel",
  "description": "A 5mm clear acrylic panel",
  "letter_type_ids": [
    3
  ],
  "outline_size": 8,
  "allow_multilayer": false,
  "custom_background_enabled": false,
  "show_custom_background": false,
  "base_price": 500,
  "price_multiplier": 1.2,
  "price_per_sq_cm": 0.022
}'
Response
{
  "data": {
    "object": "backboard",
    "id": 11,
    "customiser_id": 42,
    "name": "Clear Acrylic Panel",
    "description": null,
    "backboard_type": "board",
    "letter_type_ids": [],
    "outline_size": null,
    "allow_multilayer": false,
    "custom_background_enabled": false,
    "show_custom_background": false,
    "base_price": 0,
    "currency": "USD",
    "price_multiplier": 1,
    "price_multiplier_target": "base_letter_price",
    "price_per_sq_cm": null,
    "sort_order": 1,
    "image_url": null,
    "button_image_url": null,
    "geometry": {
      "has_custom_shape": false,
      "status": null,
      "failure_reason": null,
      "measured_at": 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/backboards/11",
    "documentation": "https://www.signcustomiser.com/help/api/"
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}