Sign Customiser

Navigation

Dark mode

Pricing

list_customiser_font_tiers

read

List customiser font tiers

Copy page

Find the font tiers a simple_letter customiser prices its fonts by, and obtain the tier ids the other font tier tools take.

Overview

Lists the font tiers of one customiser, oldest first. A font tier is a named price list that a simple_letter customiser charges its fonts by: per size, a base price and a per-letter price for each line count. Each entry gives the tier id, name, letter pricing mode, Store currency and row count, without the rows; get_customiser_font_tier returns one tier with its rows. These are the same price lists the pricing document publishes as price_lists. 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

readOnlyHinttrue
destructiveHintfalse
idempotentHinttrue
openWorldHintfalse

Prerequisites

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

Arguments

customiser_idintegerrequired

The customiser id, from list_customisers.

limitinteger

How many tiers to return per page, between 1 and 100. Defaults to 20.

cursorstring

The opaque next_cursor value from the previous page. Omit it for the first page.

Result

Up to limit tier summaries, oldest first, each with id, name, letter_pricing_mode, currency, row_count and timestamps, plus the cursor for the next page. A customiser that does not price by font tier returns an empty list.

request_idstringalways present
storeobjectalways present
store.idintegeralways present
store.namestringalways present
customiser_idintegeralways present
font_tiersarray of objectalways present

The page of tier summaries, oldest first. row_count is the number of size rows the tier prices.

font_tiers[].idintegeralways present
font_tiers[].customiser_idinteger
font_tiers[].namestring or null
font_tiers[].letter_pricing_modestring or null
font_tiers[].currencystring or null
font_tiers[].row_countintegeralways present
font_tiers[].created_atstring or null
font_tiers[].updated_atstring or null
paginationobjectalways present
pagination.has_morebooleanalways present
pagination.next_cursorstring or null

Error cases

insufficient_scope

The connection was approved without pricing:read.

invalid_cursor

The cursor was altered or reused for a different customiser; restart with no cursor.

resource_not_found

No customiser with that id belongs to this store. Call list_customisers to rediscover a valid id.

First page of a customiser font tiers

tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_customiser_font_tiers",
    "arguments": {
      "customiser_id": 42
    }
  }
}
result
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t",
      "store": {
        "id": 12,
        "name": "Demo Signs"
      },
      "customiser_id": 42,
      "font_tiers": [
        {
          "id": 7,
          "customiser_id": 42,
          "name": "Standard",
          "letter_pricing_mode": "every_letter_cost",
          "currency": "USD",
          "created_at": "2026-08-13T00:00:00Z",
          "updated_at": "2026-08-13T00:00:00Z",
          "row_count": 3
        }
      ],
      "pagination": {
        "has_more": false,
        "next_cursor": null
      }
    }
  }
}

A connection that reads customisers but not pricing (error)

tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_customiser_font_tiers",
    "arguments": {
      "customiser_id": 42
    }
  }
}
result
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "isError": true,
    "structuredContent": {
      "error": {
        "code": "insufficient_scope",
        "title": "Insufficient scope",
        "detail": "The tool [list_customiser_font_tiers] requires the pricing:read scope, which this connection was not granted.",
        "recovery": "The connection was authorised without the scope this tool needs. Ask the merchant to reconnect the connector and approve the scope named in required_scopes. Do not retry this call.",
        "required_scopes": [
          "pricing:read"
        ],
        "granted_scopes": [
          "customisers:read"
        ]
      }
    }
  }
}

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