Sign Customiser

Customiser languages

Delete a customiser language

Copy page

Remove a language and every translation row it holds, and return a receipt: the language exactly as it was immediately before deletion. The copy is gone from the storefront as soon as the customiser cached configuration clears.

DELETE/api/v3/customisers/{customiser_id}/languages/{language_code}

Overview

Two states refuse the delete. A 422 problem with code language_not_deletable means it is the customiser default language, or the only published one: a customiser must always keep one published default, because it is the copy the storefront falls back to — publish another language and make it the default first. A 409 problem with code ai_translation_in_progress means an AI translation is still writing this language draft copy; wait for it, or cancel it, then retry. A 409 problem with code resource_in_use means other records still point at the language, and names them in referenced_by. The delete clears the customiser cached storefront configuration and runs the advisory language sync. It never regenerates your Shopify products, product images, or product cache. An Idempotency-Key header is required: repeating the same key replays the original receipt without deleting anything else. Requires the customisers:write scope. A 400 problem means the Idempotency-Key header is missing or malformed. 401, 403, 404, and 429 problems behave as on the read operation, with customisers:write as the required scope.

Authorisation

Bearer token required. Include it in theAuthorization header.

Required scope: customisers:write

Path parameters

customiser_idstringpathrequired

The customiser id, from the list customisers operation.

Example: 1

language_codestringpathrequired

The language tag, from the list customiser languages operation.

Example: fr

Delete a customiser language
curl https://web.signcustomiser.com/api/v3/customisers/1/languages/fr \
  --request DELETE \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
Response
{
  "data": {
    "object": "customiser_language_deletion_receipt",
    "language_code": "fr",
    "customiser_id": 42,
    "deleted": true,
    "resource": {
      "object": "customiser_language",
      "customiser_id": 42,
      "language_code": "fr",
      "source_language_code": "en",
      "display_name": "French",
      "status": "draft",
      "is_default": false,
      "translation_summary": {
        "key_count": 184,
        "required_key_count": 96,
        "translated_key_count": 12,
        "retired_key_count": 0,
        "missing_required_key_count": 84,
        "publishable": false
      },
      "ai_translation": null,
      "published_at": null,
      "created_at": "2026-05-04T09:09:00Z",
      "updated_at": "2026-05-04T09:11:20Z"
    }
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/customisers/42/languages/fr",
    "documentation": "https://www.signcustomiser.com/help/api/"
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}