Sign Customiser

Navigation

Dark mode

Applies an RFC 7396 JSON Merge Patch to one jacket: properties omitted from the body are unchanged, and null clears a nullable property (description). Arrays are replaced wholesale, so sending excluded_colour_ids replaces the whole exclusion list.

PATCH/api/v3/customisers/{customiser_id}/jackets/{jacket_id}
PATCHUpdate a jacket
PATCH/api/v3/customisers/{customiser_id}/jackets/{jacket_id}

Update a jacket

Applies an RFC 7396 JSON Merge Patch to one jacket: properties omitted from the body are unchanged, and `null` clears a nullable property (`description`). Arrays are replaced wholesale, so sending `excluded_colour_ids` replaces the whole exclusion list. Read-only and unknown fields are rejected. An empty object `{}` is a valid no-op. Requires `customisers:write`. `jacket_type` may be changed to a type no other jacket of this customiser holds; switching to one that is taken is a 422 on `/jacket_type`. 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

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

Path

The customiser id.

The jacket id, from the list jackets operation.

Body
Update a jacket

Overview

Read-only and unknown fields are rejected. An empty object {} is a valid no-op. Requires customisers:write. jacket_type may be changed to a type no other jacket of this customiser holds; switching to one that is taken is a 422 on /jacket_type. 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 the Authorization header.

Required scope: customisers:write

Path parameters

customiser_idstringpathrequired

The customiser id.

Example: 1

jacket_idstringpathrequired

The jacket id.

Example: 9

Request body

namestringbody
descriptionstringbody
excluded_colour_idsarraybody
base_priceintegerbody

Request body example

application/json
{
  "name": "Clear Jacket",
  "description": "A clear sleeve that keeps the tube colour",
  "excluded_colour_ids": [
    7
  ],
  "base_price": 500
}
Update a jacket
curl https://web.signcustomiser.com/api/v3/customisers/1/jackets/9 \
  --request PATCH \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Clear Jacket",
  "description": "A clear sleeve that keeps the tube colour",
  "excluded_colour_ids": [
    7
  ],
  "base_price": 500
}'
Response
{
  "data": {
    "object": "jacket",
    "id": 9,
    "customiser_id": 42,
    "name": "Clear Jacket",
    "description": "A clear sleeve that keeps the tube colour",
    "jacket_type": "white",
    "excluded_colour_ids": [
      7
    ],
    "base_price": 500,
    "currency": "USD",
    "price_multiplier": 1,
    "price_multiplier_target": "base_letter_price",
    "sort_order": 1,
    "created_at": "2026-08-13T00:00:00Z",
    "updated_at": "2026-08-13T00:05:00Z"
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/customisers/42/jackets/9",
    "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.