Sign Customiser

Read one customiser before changing it, and read its settings or labels document in the same call.

Overview

Reads one customiser of the connected Store: its name, active state, pricing model, sign category, product family and styling selection mode. The optional include array adds the customiser behavioural settings document or its editable storefront labels in the same call. It takes the integer customiser id list_customisers returns, requires the customisers:read scope, has no side effects and is safe to retry.

Permission

Requires thecustomisers: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 customisers:read scope.

Arguments

customiser_idintegerrequired

The customiser id, from list_customisers.

includearray of string

Extra documents to return alongside the customiser: settings for its behavioural configuration, labels for its editable storefront text. Both require only customisers:read.

Result

One customiser object, the requested include documents, and the merchant-admin deep link for the customiser. Both include documents are fixed-shape configuration records, so the response size does not grow with the size of the store.

request_idstringalways present
storeobjectalways present
store.idintegeralways present
store.namestringalways present
customiserobjectalways present

The customiser record.

customiser.idintegeralways present
customiser.namestring or null
customiser.activebooleanalways present
customiser.pricing_modelstringalways present

One of: simple_letter, advanced_letter, frame_fit

customiser.pricing_model_display_namestringalways present
customiser.sign_categorystring or null
customiser.product_familystring or null
customiser.selection_modestringalways present
customiser.created_atstring or null
customiser.updated_atstring or null
settingsobject

The behavioural settings document, present only when include contained settings. Its members are the settings fields /api/v3 publishes.

labelsobject

The editable storefront labels document, present only when include contained labels.

linksobjectalways present

Where the merchant edits this customiser.

links.admin_urlstringalways present

Error cases

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.

Read a customiser with its settings

tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_customiser",
    "arguments": {
      "customiser_id": 42,
      "include": [
        "settings"
      ]
    }
  }
}
result
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "structuredContent": {
      "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t",
      "store": {
        "id": 12,
        "name": "Demo Signs"
      },
      "customiser": {
        "id": 42,
        "name": "Neon sign builder",
        "active": true,
        "pricing_model": "frame_fit",
        "pricing_model_display_name": "Frame Fit",
        "sign_category": "neon",
        "product_family": "neon",
        "selection_mode": "per_word",
        "created_at": "2026-08-14T00:00:00Z",
        "updated_at": "2026-08-14T00:00:00Z"
      },
      "settings": {
        "customiser_id": 42,
        "currency": "USD",
        "add_to_cart": true
      },
      "links": {
        "admin_url": "https://web.signcustomiser.com/app/customisers/42"
      }
    }
  }
}

An id that belongs to another store (error)

tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_customiser",
    "arguments": {
      "customiser_id": 987654
    }
  }
}
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."
      }
    }
  }
}