Sign Customiser

Navigation

Dark mode

Customiser length pricings

Duplicate a length pricing

Copy page

Copies one length pricing, with its shipping settings and every row and price, into a new length pricing on the same customiser, the same as the merchant admin's Duplicate. The copy is named name, or "Copy of <name>" when the body has no name, cut to 255 characters.

POST/api/v3/customisers/{customiser_id}/length-pricings/{length_pricing_id}/duplicate
POSTDuplicate a length pricing
POST/api/v3/customisers/{customiser_id}/length-pricings/{length_pricing_id}/duplicate

Duplicate a length pricing

Copies one length pricing, with its shipping settings and every row and price, into a new length pricing on the same customiser, the same as the merchant admin's Duplicate. The copy is named `name`, or "Copy of <name>" when the body has no name, cut to 255 characters. Nothing uses the copy until a font or the settings point at it, so the duplicate changes no storefront price. On an `advanced_letter` customiser, to give AI Sign Designer its own prices, duplicate the price list that AI designs pay from, then set the settings `icon_length_pricing_id` to the copy. Sheet pricing belongs to the pricing document and cannot be duplicated here: its id is a 404. The customiser must price by `advanced_letter` or `frame_fit`, as for a create, or the duplicate is refused with a 422 `pricing_model_mismatch`. Through the API a `frame_fit` customiser holds one price list, because the pricing document holds exactly one, so its duplicate is refused with `price_list_limit_reached`. Requires `pricing:write` and an `Idempotency-Key`; retrying the same request and key replays the original response and makes no second copy. The write clears the customiser's cached storefront configuration and runs the advisory language sync, spends one unit of the option-write budget, and never regenerates Shopify products.

Authorisation

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

Path

The customiser id.

The id of the length pricing to copy.

Body
Duplicate a length pricing

Overview

Nothing uses the copy until a font or the settings point at it, so the duplicate changes no storefront price. On an advanced_letter customiser, to give AI Sign Designer its own prices, duplicate the price list that AI designs pay from, then set the settings icon_length_pricing_id to the copy. Sheet pricing belongs to the pricing document and cannot be duplicated here: its id is a 404. The customiser must price by advanced_letter or frame_fit, as for a create, or the duplicate is refused with a 422 pricing_model_mismatch. Through the API a frame_fit customiser holds one price list, because the pricing document holds exactly one, so its duplicate is refused with price_list_limit_reached. Requires pricing:write and an Idempotency-Key; retrying the same request and key replays the original response and makes no second copy. The write clears the customiser's cached storefront configuration and runs the advisory language sync, spends one unit of the option-write budget, and never regenerates Shopify products.

Authorisation

Bearer token required. Include it in the Authorization header.

Required scope: pricing:write

Path parameters

customiser_idstringpathrequired

The customiser id.

Example: 1

length_pricing_idstringpathrequired

The id of the length pricing to copy.

Example: 1

Request body

namestringbody

Request body example

application/json
{
  "name": "Standard (AI Sign Designer)"
}
Duplicate a length pricing
curl https://web.signcustomiser.com/api/v3/customisers/1/length-pricings/1/duplicate \
  --request POST \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Standard (AI Sign Designer)"
}'
Response
{
  "data": {
    "object": "length_pricing",
    "id": 10,
    "customiser_id": 42,
    "name": "Standard (AI Sign Designer)",
    "letter_pricing_mode": "every_letter_cost",
    "letter_pricing_method": "material_length",
    "shipping": {
      "calculation": "physical",
      "volumetric_divisor": null,
      "add_weight_to_product": false
    },
    "currency": "USD",
    "rows": [
      {
        "base_price": 4500,
        "width_limit_cm": 120,
        "height_limit_cm": 60,
        "length_limit_cm": null,
        "price_per_sq_cm": null,
        "price_per_sq_cm_basis": "per_sq_cm",
        "fixed_length_cm": null,
        "width_modifier": null,
        "height_modifier": null,
        "length_modifier": null,
        "max_price_multiplier": null,
        "price_per_cm": 1.25,
        "price_per_letter": null,
        "price_per_letter_by_position": null
      }
    ],
    "created_at": "2026-11-14T00:00:00Z",
    "updated_at": "2026-11-14T00:00:00Z"
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/customisers/42/length-pricings/10",
    "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.