Sign Customiser

Navigation

Dark mode

Customiser letter parts

Add a letter part's demo colours

Copy page

Fills an empty letter part with the demo colours Sign Customiser offers for its sign category, the starter palette the merchant admin offers on an empty letter part. The colours are created in their demo order, and the response lists every created colour in the projection the colours list uses.

POST/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/populate-demo
POSTAdd a letter part's demo colours
POST/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/populate-demo

Add a letter part's demo colours

Fills an empty letter part with the demo colours Sign Customiser offers for its sign category, the starter palette the merchant admin offers on an empty letter part. The colours are created in their demo order, and the response lists every created colour in the projection the colours list uses. The letter part must be declared in the letter type's `letter_parts` (422 `letter_part_not_declared`). The part does not need a colour selection yet: the operation creates one when it is missing. A letter part that already holds colours is refused with a 409 `letter_part_colours_not_empty`, because demo colours would mix into the merchant's own; delete the colours first, or add colours one at a time. A sign category and letter part with no demo colours, such as the side of a neon sign, is refused with a 422 `demo_colours_not_available`. A cut-out metal or stencil customiser refuses the operation with a 422 `letter_types_not_supported`. Requires `customisers:write` and an `Idempotency-Key`; the request takes no body. 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. It reads only Sign Customiser's own demo data, and it spends one unit of the per-key option-write budget.

Authorisation

The Authorization header expects a Bearer token. Generate one on the API keys page in your dashboard.

Path

The customiser id.

The letter type id.

The letter part.

Add a letter part's demo colours

Overview

The letter part must be declared in the letter type's letter_parts (422 letter_part_not_declared). The part does not need a colour selection yet: the operation creates one when it is missing. A letter part that already holds colours is refused with a 409 letter_part_colours_not_empty, because demo colours would mix into the merchant's own; delete the colours first, or add colours one at a time. A sign category and letter part with no demo colours, such as the side of a neon sign, is refused with a 422 demo_colours_not_available. A cut-out metal or stencil customiser refuses the operation with a 422 letter_types_not_supported. Requires customisers:write and an Idempotency-Key; the request takes no body. 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. It reads only Sign Customiser's own demo data, and it spends one unit of the per-key option-write budget.

Authorisation

Bearer token required. Include it in the Authorization header.

Required scope: customisers:write

Path parameters

customiser_idstringpathrequired

The customiser id.

Example: 1

letter_type_idstringpathrequired

The letter type id.

Example: 7

letter_partstringpathrequired

The letter part.

Example: face

Add a letter part's demo colours
curl https://web.signcustomiser.com/api/v3/customisers/1/letter-types/7/letter-parts/face/colours/populate-demo \
  --request POST \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
Response
{
  "data": [
    {
      "object": "colour",
      "id": 31,
      "customiser_id": 42,
      "name": "White",
      "description": null,
      "colour_type": "single",
      "hexcode": "#ffffff",
      "multi_colour_hexcodes": null,
      "texture": "flat",
      "min_width_cm": null,
      "min_height_cm": null,
      "min_size_rule": "any",
      "base_price": 0,
      "currency": "USD",
      "price_multiplier": 1,
      "price_multiplier_target": "base_letter_price",
      "sort_order": 1,
      "image_url": "https://cdn.example.com/demo/white.png",
      "example_image_url": null,
      "texture_image_url": null,
      "created_at": "2026-08-13T00:00:00Z",
      "updated_at": "2026-08-13T00:00:00Z"
    }
  ],
  "pagination": {
    "has_more": false,
    "next_cursor": null
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/customisers/42/letter-types/7/letter-parts/face/colours/populate-demo",
    "documentation": "https://www.signcustomiser.com/help/api/",
    "next": null
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}

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