# Get customiser option section (`get_customiser_option_section`)

Reads the section of one option family of one customiser: the step heading and the text the customer customiser shows above that family options, plus the step-wide switches some families carry (the default border margin of sizes, the no-backlight choice of backlights, and whether the jacket step is hidden). The family is chosen with option_type, and one family is read per call. It requires the customisers:read scope, has no side effects and is safe to retry.

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

## Purpose

Read the heading, the text and the step-wide switches of one option family step before changing them with update_customiser_option_section.

## Annotations

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

## Prerequisites

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

## Arguments

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `customiser_id` | integer | yes | The customiser id, from list_customisers. |
| `option_type` | string | yes | Which option family section to read. The values are the option_type values of the option tools for the twelve families that have a section. One of: `backboard`, `backlight`, `colour`, `font`, `icon`, `jacket`, `letter_type`, `material`, `mounting`, `mounting_colour`, `size`, `support_finish`. |

## Result

One section document with the field names the public API publishes for that family. A customiser that never saved the section reads title and description as null and every switch at its default. The document is a fixed set of fields, so its size does not grow with the number of options.

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `request_id` | string | yes |  |
| `store` | object | yes |  |
| `store.id` | integer | yes |  |
| `store.name` | string | yes |  |
| `customiser_id` | integer | yes |  |
| `option_type` | string | yes | The family whose section was read. One of: `backboard`, `backlight`, `colour`, `font`, `icon`, `jacket`, `letter_type`, `material`, `mounting`, `mounting_colour`, `size`, `support_finish`. |
| `section` | object | yes | The section document: title, description, the family own step-wide switches and updated_at. Its members are the ones update_customiser_option_section patches. |

## Error cases

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

## Example: Read the sizes section

Request:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_customiser_option_section",
    "arguments": {
      "customiser_id": 42,
      "option_type": "size"
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t",
      "store": {
        "id": 12,
        "name": "Demo Signs"
      },
      "customiser_id": 42,
      "option_type": "size",
      "section": {
        "customiser_id": 42,
        "title": "Choose your size",
        "description": "Pick one of our sizes.",
        "border_margin_cm": 2.5,
        "border_margin_in": 0.984252,
        "authored_units": {
          "border_margin_cm": "centimetres"
        },
        "updated_at": "2026-05-04T09:12:31Z"
      }
    }
  }
}
```

## Example: A customiser that belongs to another store (error)

Request:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_customiser_option_section",
    "arguments": {
      "customiser_id": 987654,
      "option_type": "font"
    }
  }
}
```

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