Sign Customiser

Navigation

Dark mode

Pricing

get_customiser_length_pricing

read

Get customiser length pricing

Copy page

Read the prices and shipping settings of one length pricing, in the shape update_customiser_length_pricing takes back.

Overview

Reads one length pricing of one customiser with all its boundary rows. Each row gives the largest sign it covers in centimetres, with inch twins and the merchant-authored unit, and its prices: base_price and price_per_letter are integer minor units of the Store currency, while price_per_cm, price_per_sq_cm and the other rates are decimal major currency units. This is the read to make before update_customiser_length_pricing, because sending rows replaces them all. A price list of another customiser or another Store, or a sheet pricing row, is not found. It requires the pricing:read scope and has no side effects.

Permission

Requires thepricing:readpermission. A connection without it answersinsufficient_scopenaming the permission to approve.

Annotations

readOnlyHinttrue
destructiveHintfalse
idempotentHinttrue
openWorldHintfalse

Prerequisites

  • A customiser id from list_customisers and a length pricing id from list_customiser_length_pricings.
  • A merchant has connected this store and approved the pricing:read scope.

Arguments

customiser_idintegerrequired

The customiser id, from list_customisers.

length_pricing_idintegerrequired

The length pricing id, from list_customiser_length_pricings.

Result

The length pricing: id, name, letter_pricing_mode, letter_pricing_method, shipping, currency, rows_revision and every boundary row.

request_idstringalways present
storeobjectalways present
store.idintegeralways present
store.namestringalways present
customiser_idintegeralways present
length_pricingobjectalways present

The length pricing with every boundary row.

length_pricing.idintegeralways present
length_pricing.customiser_idintegeralways present
length_pricing.namestring or null
length_pricing.letter_pricing_modestring or null

One of: every_letter_cost, price_by_position

length_pricing.letter_pricing_methodstring or null

One of: material_length, fixed_letter

length_pricing.shippingobject
length_pricing.shipping.calculationstring or null
length_pricing.shipping.volumetric_divisorinteger or null
length_pricing.shipping.volumetric_divisor_authoredinteger or null
length_pricing.shipping.volumetric_divisor_unitstring or null
length_pricing.shipping.volumetric_divisor_canonicalnumber or null
length_pricing.shipping.authored_unitsobject
length_pricing.shipping.add_weight_to_productboolean
length_pricing.currencystring or null

The ISO 4217 currency of every integer minor-unit amount on the record.

length_pricing.rows_revisioninteger
length_pricing.rowsarray of object
length_pricing.rows[].idstring
length_pricing.rows[].base_pricenumber or null
length_pricing.rows[].price_per_letternumber or null
length_pricing.rows[].price_per_cmnumber or null
length_pricing.rows[].price_per_innumber or null
length_pricing.rows[].price_per_sq_cmnumber or null
length_pricing.rows[].price_per_sq_innumber or null
length_pricing.rows[].price_per_lbnumber or null
length_pricing.rows[].max_price_multipliernumber or null
length_pricing.rows[].width_limit_cmnumber or null
length_pricing.rows[].width_limit_innumber or null
length_pricing.rows[].height_limit_cmnumber or null
length_pricing.rows[].height_limit_innumber or null
length_pricing.rows[].length_limit_cmnumber or null
length_pricing.rows[].length_limit_innumber or null
length_pricing.rows[].fixed_length_cmnumber or null
length_pricing.rows[].fixed_length_innumber or null
length_pricing.rows[].width_modifiernumber or null
length_pricing.rows[].width_modifier_innumber or null
length_pricing.rows[].height_modifiernumber or null
length_pricing.rows[].height_modifier_innumber or null
length_pricing.rows[].length_modifiernumber or null
length_pricing.rows[].length_modifier_innumber or null
length_pricing.rows[].price_per_sq_cm_basisstring

One of: per_sq_cm, per_kg_volumetric

length_pricing.rows[].price_per_letter_by_positionarray of integer
length_pricing.rows[].authored_unitsobject
length_pricing.created_atstring or null
length_pricing.updated_atstring or null

Error cases

insufficient_scope

The connection was approved without pricing:read.

resource_not_found

No length pricing with that id belongs to that customiser in this store. Call list_customiser_length_pricings to rediscover a valid id.

Read one length pricing

tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_customiser_length_pricing",
    "arguments": {
      "customiser_id": 42,
      "length_pricing_id": 9
    }
  }
}
result
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t",
      "store": {
        "id": 12,
        "name": "Demo Signs"
      },
      "customiser_id": 42,
      "length_pricing": {
        "id": 9,
        "customiser_id": 42,
        "name": "Standard",
        "letter_pricing_mode": "every_letter_cost",
        "letter_pricing_method": "fixed_letter",
        "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": 0.022,
            "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": null,
            "price_per_letter": 600,
            "price_per_letter_by_position": null
          }
        ],
        "created_at": "2026-08-13T00:00:00Z",
        "updated_at": "2026-08-13T00:00:00Z"
      }
    }
  }
}

A price list id from another customiser (error)

tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_customiser_length_pricing",
    "arguments": {
      "customiser_id": 42,
      "length_pricing_id": 999
    }
  }
}
result
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "isError": true,
    "structuredContent": {
      "error": {
        "code": "resource_not_found",
        "title": "Resource not found",
        "detail": "The requested resource does not exist or does not belong to the authenticated store.",
        "recovery": "The identifier does not exist in this store. Use the matching list tool to rediscover a valid id."
      }
    }
  }
}

Type a question and press Enter. Use the arrow keys to move between the results.