Pricing
list_customiser_length_pricings
readList customiser length pricings
Find the length pricings an advanced_letter or frame_fit customiser charges by, and obtain the ids the other length pricing tools take.
Overview
Lists the length pricings of one customiser, oldest first. A length pricing is a named price list of boundary rows by sign size that an advanced_letter or frame_fit customiser charges by. Each entry gives the price list id, name, letter pricing mode and method, shipping settings, Store currency and row count, without the rows; get_customiser_length_pricing returns one price list with its rows. Sheet pricing is not part of this family. Results are paginated and limited to the connected Store. 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
Prerequisites
- A customiser id from list_customisers.
- A merchant has connected this store and approved the pricing:read scope.
Arguments
The customiser id, from list_customisers.
How many price lists to return per page, between 1 and 100. Defaults to 20.
The opaque next_cursor value from the previous page. Omit it for the first page.
Result
Up to limit price list summaries, oldest first, each with id, name, letter_pricing_mode, letter_pricing_method, shipping, currency, row_count and timestamps, plus the cursor for the next page. A customiser that does not price by length pricing returns an empty list.
The page of price list summaries, oldest first. row_count is the number of boundary rows the price list holds.
Error cases
The connection was approved without pricing:read.
The cursor was altered or reused for a different customiser; restart with no cursor.
No customiser with that id belongs to this store. Call list_customisers to rediscover a valid id.
First page of a customiser length pricings
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_customiser_length_pricings",
"arguments": {
"customiser_id": 42
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": {
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t",
"store": {
"id": 12,
"name": "Demo Signs"
},
"customiser_id": 42,
"length_pricings": [
{
"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",
"created_at": "2026-08-13T00:00:00Z",
"updated_at": "2026-08-13T00:00:00Z",
"row_count": 1
}
],
"pagination": {
"has_more": false,
"next_cursor": null
}
}
}
}A customiser of another Store (error)
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_customiser_length_pricings",
"arguments": {
"customiser_id": 999
}
}
}{
"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."
}
}
}
}