Sign Customiser

Applies an RFC 7396 JSON Merge Patch to one backboard: properties omitted from the body are unchanged, and null clears a nullable property (description, backboard_type, outline_size, price_per_sq_cm). Arrays are replaced wholesale, so sending letter_type_ids replaces the whole assignment.

PATCH/api/v3/customisers/{customiser_id}/backboards/{backboard_id}

Overview

Read-only and unknown fields are rejected. An empty object {} is a valid no-op. Requires customisers:write. backboard_type may only become custom_shape or cutout on a backboard that already carries an uploaded shape, so attach one through PUT .../backboards/{backboard_id}/shape first. custom_shape is additionally refused while the customiser has a border margin configured, because a shape owns its own proportions. Clear the border margins first. 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

backboard_idstringpathrequired

The backboard id.

Example: 11

Request body

namestringbody
descriptionstringbody
letter_type_idsarraybody
base_priceintegerbody
price_per_sq_cmnumberbody

Request body example

application/json
{
  "name": "Clear Acrylic Panel",
  "description": "A 5mm clear acrylic panel",
  "letter_type_ids": [
    3
  ],
  "base_price": 500,
  "price_per_sq_cm": 0.022
}
Update a backboard
curl https://web.signcustomiser.com/api/v3/customisers/1/backboards/11 \
  --request PATCH \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Clear Acrylic Panel",
  "description": "A 5mm clear acrylic panel",
  "letter_type_ids": [
    3
  ],
  "base_price": 500,
  "price_per_sq_cm": 0.022
}'
Response
{
  "data": {
    "object": "backboard",
    "id": 11,
    "customiser_id": 42,
    "name": "Clear Acrylic Panel",
    "description": "A 5mm clear acrylic panel",
    "backboard_type": "board",
    "letter_type_ids": [
      3
    ],
    "outline_size": null,
    "allow_multilayer": false,
    "custom_background_enabled": false,
    "show_custom_background": false,
    "base_price": 500,
    "currency": "USD",
    "price_multiplier": 1,
    "price_multiplier_target": "base_letter_price",
    "price_per_sq_cm": 0.022,
    "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:05: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"
  }
}