Sign Customiser

Navigation

Dark mode

Applies an RFC 7396 JSON Merge Patch to one preset: properties omitted from the body are unchanged. design replaces wholesale — it is one document, not a set of properties to merge into — so sending it replaces the whole snapshot. An empty object {} is a valid no-op.

PATCH/api/v3/customisers/{customiser_id}/presets/{preset_id}
PATCHUpdate a preset
PATCH/api/v3/customisers/{customiser_id}/presets/{preset_id}

Update a preset

Applies an RFC 7396 JSON Merge Patch to one preset: properties omitted from the body are unchanged. `design` replaces wholesale — it is one document, not a set of properties to merge into — so sending it replaces the whole snapshot. An empty object `{}` is a valid no-op. Read-only and unknown properties are rejected, and `code` never changes. Requires `customisers:write`. 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 preset id, from the list presets operation.

Body
Update a preset

Overview

Read-only and unknown properties are rejected, and code never changes. Requires customisers:write. 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

preset_idstringpathrequired

The preset id.

Example: 31

Request body

namestringbody
designobjectbody

Request body example

application/json
{
  "name": "Neon script in pink",
  "design": {
    "colour": 18,
    "font": 4,
    "text": "Open"
  }
}
Update a preset
curl https://web.signcustomiser.com/api/v3/customisers/1/presets/31 \
  --request PATCH \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Neon script in pink",
  "design": {
    "colour": 18,
    "font": 4,
    "text": "Open"
  }
}'
Response
{
  "data": {
    "object": "preset",
    "id": 31,
    "customiser_id": 42,
    "name": "Neon script in pink",
    "code": "a1b2c3d4e5f6",
    "design": {
      "colour": 18,
      "font": 4,
      "text": "Open"
    },
    "created_at": "2026-08-14T00:00:00Z",
    "updated_at": "2026-08-14T00:05:00Z"
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/customisers/42/presets/31",
    "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.