Sign Customiser

Navigation

Dark mode

Retrieve the customiser's full pricing configuration as one canonical document.

GET/api/v3/customisers/{customiser_id}/pricing
GETGet customiser pricing
GET/api/v3/customisers/{customiser_id}/pricing

Get customiser pricing

Retrieve the customiser's full pricing configuration as one canonical document. The document's shape follows its `pricing_model`: `simple_letter` prices per letter at fixed sign widths (sizes carry a `sizing_strategy` of `fixed_width` or `fixed_height` and a `height_measurement_mode` of `line_height` or `letter_height`, price list rows carry per-line `base_price`/`letter_price` objects plus optional `letter_price_by_position` schedules, and an optional `sheet_pricing` section adds backing-sheet bands); `advanced_letter` prices from material length (price lists carry a `letter_pricing_method` of `material_length` or `fixed_letter`, a `shipping` configuration, and rows with rates and dimension limits; fixed-letter rows may carry `price_per_letter_by_position` schedules); `frame_fit` prices by frame area (exactly one price list with area-rate rows). Amount fields (`base_price`, `letter_price` lines, `price_per_letter`, and both position-price schedules) are integer minor units of `currency`; the rate field `price_per_cm` is in decimal major currency units per centimetre. `price_per_sq_cm` is also a decimal major-currency rate, but its `price_per_sq_cm_basis` says whether the rate applies per square centimetre of physical area or per kilogram of volumetric weight. Existing `_cm` fields contain centimetres; Stores with `public_api_dual_quantities` also receive `_in` twins and authored units. `currency` is the store's configured ISO 4217 currency, or null on Shopify-backed stores that leave the storefront currency in charge. The operation is read-only, has no side effects, and is always safe to retry. Requires the `pricing:read` scope; use this document as the base for `PATCH`/`PUT` writes and the validate dry-run. A 404 problem with code `resource_not_found` means the customiser does not exist on the store your API key belongs to. A 422 problem with code `legacy_pricing_model` means the customiser still uses the retired fixed-height pricing model, which has no pricing document on this API (its replacement is `simple_letter` with `fixed_height` sizing). A 401 problem means the key is missing, invalid, or expired; a 403 problem with code `insufficient_scope` means the key lacks `pricing:read`; a 429 problem means too many requests — wait `retry_after` seconds, then retry. Error responses use RFC 9457 problem+json with a machine-readable `code` and a `request_id` to quote when contacting support.

Authorisation

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

Path

The customiser id, from the list customisers operation.

Get customiser pricing

Click Send to see the live response.

Overview

The document's shape follows its pricing_model: simple_letter prices per letter at fixed sign widths (sizes carry a sizing_strategy of fixed_width or fixed_height and a height_measurement_mode of line_height or letter_height, price list rows carry per-line base_price/letter_price objects plus optional letter_price_by_position schedules, and an optional sheet_pricing section adds backing-sheet bands); advanced_letter prices from material length (price lists carry a letter_pricing_method of material_length or fixed_letter, a shipping configuration, and rows with rates and dimension limits; fixed-letter rows may carry price_per_letter_by_position schedules); frame_fit prices by frame area (exactly one price list with area-rate rows). Amount fields (base_price, letter_price lines, price_per_letter, and both position-price schedules) are integer minor units of currency; the rate field price_per_cm is in decimal major currency units per centimetre. price_per_sq_cm is also a decimal major-currency rate, but its price_per_sq_cm_basis says whether the rate applies per square centimetre of physical area or per kilogram of volumetric weight. Existing _cm fields contain centimetres; Stores with public_api_dual_quantities also receive _in twins and authored units. currency is the store's configured ISO 4217 currency, or null on Shopify-backed stores that leave the storefront currency in charge. The operation is read-only, has no side effects, and is always safe to retry. Requires the pricing:read scope; use this document as the base for PATCH/PUT writes and the validate dry-run. A 404 problem with code resource_not_found means the customiser does not exist on the store your API key belongs to. A 422 problem with code legacy_pricing_model means the customiser still uses the retired fixed-height pricing model, which has no pricing document on this API (its replacement is simple_letter with fixed_height sizing). A 401 problem means the key is missing, invalid, or expired; a 403 problem with code insufficient_scope means the key lacks pricing:read; a 429 problem means too many requests — wait retry_after seconds, then retry. Error responses use RFC 9457 problem+json with a machine-readable code and a request_id to quote when contacting support.

Authorisation

Bearer token required. Include it in the Authorization header.

Required scope: pricing:read

Path parameters

customiser_idstringpathrequired

The customiser id, from the list customisers operation.

Example: 1

Get customiser pricing
curl https://web.signcustomiser.com/api/v3/customisers/1/pricing \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
Response
{
  "data": {
    "object": "customiser_pricing",
    "customiser_id": 42,
    "pricing_model": "simple_letter",
    "pricing_model_display_name": "Simple Letter",
    "currency": "USD",
    "sizes": [
      {
        "size_id": 7,
        "client_key": null,
        "name": "Small",
        "description": "Up to 50cm wide",
        "sort_order": 1,
        "char_limit": 20,
        "line_limit": 3,
        "min_char": 1,
        "width_cm": 50,
        "height_cm": null,
        "line_height_cm": 12,
        "width_multiplier": null,
        "length_cm": null,
        "sizing_strategy": "fixed_width",
        "height_measurement_mode": "line_height"
      }
    ],
    "base_pricing": {
      "mode": "single_base_price_by_size",
      "rows": [
        {
          "size_id": 7,
          "size_key": null,
          "base_price": {
            "line_1": 900,
            "line_2": 1000,
            "line_3": 1100
          }
        }
      ]
    },
    "price_lists": [
      {
        "price_list_id": 10,
        "name": "Standard",
        "letter_pricing_mode": "price_by_position",
        "rows": [
          {
            "size_id": 7,
            "size_key": null,
            "base_price": {
              "line_1": 1000,
              "line_2": 1200,
              "line_3": 1400
            },
            "letter_price": {
              "line_1": 100,
              "line_2": 120,
              "line_3": 140
            },
            "letter_price_by_position": {
              "line_1": [
                0,
                100
              ],
              "line_2": [
                0,
                120
              ],
              "line_3": [
                0,
                140
              ]
            }
          }
        ]
      }
    ],
    "sheet_pricing": {
      "rows": [
        {
          "width_limit_cm": 100,
          "height_limit_cm": 60,
          "base_price": 2000,
          "price_per_sq_cm": 1.5
        }
      ]
    }
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/customisers/42/pricing",
    "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.