# Get customiser font tier (`get_customiser_font_tier`)

Reads one font tier of one customiser with all its rows. Each row names a customiser size_id and prices the sign by line count: base_price and letter_price are maps of line_1 to line_10 in integer minor units of the Store currency, and a price_by_position tier also carries a per-letter schedule. This is the read to make before update_customiser_font_tier, because sending rows replaces them all. A tier of another customiser or another Store is not found. It requires the pricing:read scope and has no side effects.

- Source URL: https://www.signcustomiser.com/help/mcp/tools/get_customiser_font_tier/
- Markdown URL: https://www.signcustomiser.com/help/mcp/tools/get_customiser_font_tier.md
- MCP endpoint: https://mcp.signcustomiser.com
- Required scope: `pricing:read`
- Behaviour: read

## Purpose

Read the prices one font tier charges, in the shape update_customiser_font_tier takes back.

## Annotations

| Hint | Value |
| --- | --- |
| readOnlyHint | true |
| destructiveHint | false |
| idempotentHint | true |
| openWorldHint | false |

## Prerequisites

- A customiser id from list_customisers and a font tier id from list_customiser_font_tiers.
- A merchant has connected this store and approved the pricing:read scope.

## Arguments

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `customiser_id` | integer | yes | The customiser id, from list_customisers. |
| `font_tier_id` | integer | yes | The font tier id, from list_customiser_font_tiers. |

## Result

The font tier: id, name, letter_pricing_mode, currency, and every row with its size_id, base_price, letter_price and letter_price_by_position.

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `request_id` | string | yes |  |
| `store` | object | yes |  |
| `store.id` | integer | yes |  |
| `store.name` | string | yes |  |
| `customiser_id` | integer | yes |  |
| `font_tier` | object | yes | The font tier with every row. |
| `font_tier.id` | integer | yes |  |
| `font_tier.customiser_id` | integer | yes |  |
| `font_tier.name` | string or null | no |  |
| `font_tier.letter_pricing_mode` | string or null | no | One of: `every_letter_cost`, `price_by_position`. |
| `font_tier.currency` | string or null | no | The ISO 4217 currency of every integer minor-unit amount on the record. |
| `font_tier.rows` | array of object | no |  |
| `font_tier.rows[].size_id` | integer or null | no |  |
| `font_tier.rows[].base_price` | object | no |  |
| `font_tier.rows[].letter_price` | object | no |  |
| `font_tier.rows[].letter_price_by_position` | object or null | no |  |
| `font_tier.created_at` | string or null | no |  |
| `font_tier.updated_at` | string or null | no |  |

## Error cases

| Code | Recovery |
| --- | --- |
| `insufficient_scope` | The connection was approved without pricing:read. |
| `resource_not_found` | No font tier with that id belongs to that customiser in this store. Call list_customiser_font_tiers to rediscover a valid id. |

## Example: Read one font tier

Request:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_customiser_font_tier",
    "arguments": {
      "customiser_id": 42,
      "font_tier_id": 7
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t",
      "store": {
        "id": 12,
        "name": "Demo Signs"
      },
      "customiser_id": 42,
      "font_tier": {
        "id": 7,
        "customiser_id": 42,
        "name": "Standard",
        "letter_pricing_mode": "every_letter_cost",
        "currency": "USD",
        "rows": [
          {
            "size_id": 3,
            "base_price": {
              "line_1": 2500,
              "line_2": 3000,
              "line_3": 3500
            },
            "letter_price": {
              "line_1": 400,
              "line_2": 450,
              "line_3": 500
            },
            "letter_price_by_position": null
          }
        ],
        "created_at": "2026-08-13T00:00:00Z",
        "updated_at": "2026-08-13T00:00:00Z"
      }
    }
  }
}
```

## Example: A tier id from another customiser (error)

Request:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_customiser_font_tier",
    "arguments": {
      "customiser_id": 42,
      "font_tier_id": 999
    }
  }
}
```

Response:

```json
{
  "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."
      }
    }
  }
}
```
