Sign Customiser

Adds a preset to the customiser and returns it with the code the server generated for it. Both name and design are required: a preset with nothing to restore is not a starting point. design is the snapshot the customer customiser produces when a design is saved, and v3 stores it verbatim.

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

Overview

Nothing in this API composes one, so an integration builds a design in the customiser (or reads it back from an existing preset) rather than authoring the document by hand. It must be a non-empty JSON object; a document above the size cap is refused, and one above the 2 MiB request-body limit is a 413 before it reaches validation. 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

namestringbody
designobjectbody

Request body example

application/json
{
  "name": "Neon script in pink",
  "design": {
    "colour": 18,
    "font": 4,
    "text": "Open"
  }
}
Create a preset
curl https://web.signcustomiser.com/api/v3/customisers/1/presets \
  --request POST \
  --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:00: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"
  }
}