Sign Customiser

Customisers

list_customiser_languages

read

List customiser languages

Copy page

See which languages a customiser offers and how complete each translation is.

Overview

Lists the languages one customiser publishes to shoppers: each language code, its source language, display name, status, whether it is the customiser default, a translation-completeness summary and the state of any AI translation run against it. It returns no translation strings, which are a separate bounded read. Results are paginated. It requires the customisers:read scope and has no side effects.

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.

limitinteger

How many languages 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` language records with completeness counts, plus the cursor for the next page. Never any translation strings.

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

The page of languages.

languages[].language_codestringalways present
languages[].source_language_codestring or null
languages[].display_namestring or null
languages[].statusstringalways present
languages[].is_defaultbooleanalways present
languages[].translation_summaryobject or null
languages[].ai_translationobject or null
languages[].published_atstring or null
languages[].updated_atstring or null
paginationobjectalways present
pagination.has_morebooleanalways present
pagination.next_cursorstring or null

Error cases

insufficient_scope

The connection was approved without customisers:read.

invalid_cursor

The cursor was altered or reused; restart with no cursor.

resource_not_found

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

Languages of one customiser

tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_customiser_languages",
    "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,
      "languages": [
        {
          "language_code": "en",
          "source_language_code": "en",
          "display_name": "English",
          "status": "published",
          "is_default": true,
          "translation_summary": {
            "key_count": 184,
            "required_key_count": 96,
            "translated_key_count": 184,
            "missing_required_key_count": 0,
            "publishable": true
          },
          "ai_translation": null,
          "published_at": "2026-05-04T09:12:31Z",
          "updated_at": "2026-05-04T09:12:31Z"
        }
      ],
      "pagination": {
        "has_more": false,
        "next_cursor": null
      }
    }
  }
}

A customiser id that does not exist (error)

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