Sign Customiser

Navigation

Dark mode

Stop the AI translation currently writing this language draft copy. The job is marked cancelled, the provider batch behind it is cancelled too, and a language left in the translating status returns to draft.

POST/api/v3/customisers/{customiser_id}/languages/{language_code}/cancel-ai-translation
POSTCancel an AI translation
POST/api/v3/customisers/{customiser_id}/languages/{language_code}/cancel-ai-translation

Cancel an AI translation

Stop the AI translation currently writing this language draft copy. The job is marked cancelled, the provider batch behind it is cancelled too, and a language left in the `translating` status returns to `draft`. Draft values the translation had already written are kept: cancelling stops further work, it does not undo work already done. This is the only AI translation operation on the API. Starting and retrying a translation are deferred, because each call spends money with an external provider on an unbounded amount of copy — so this operation exists to stop a translation the merchant admin started, which is what unblocks a publish or a delete refused with `ai_translation_in_progress`. A 422 problem with code `ai_translation_not_cancellable` means there is nothing to cancel: `reason` is `no_translation` when the language has never had one, or `not_running` when its most recent translation has already finished, failed, or been cancelled. Read the language `ai_translation` to see which. The write 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. 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

The Authorization header expects a Bearer token. Generate one on the API keys page in your dashboard.

Path

The customiser id, from the list customisers operation.

The language tag, from the list customiser languages operation.

Cancel an AI translation

Overview

Draft values the translation had already written are kept: cancelling stops further work, it does not undo work already done. This is the only AI translation operation on the API. Starting and retrying a translation are deferred, because each call spends money with an external provider on an unbounded amount of copy — so this operation exists to stop a translation the merchant admin started, which is what unblocks a publish or a delete refused with ai_translation_in_progress. A 422 problem with code ai_translation_not_cancellable means there is nothing to cancel: reason is no_translation when the language has never had one, or not_running when its most recent translation has already finished, failed, or been cancelled. Read the language ai_translation to see which. The write 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. 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 the Authorization 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

Cancel an AI translation
curl https://web.signcustomiser.com/api/v3/customisers/1/languages/fr/cancel-ai-translation \
  --request POST \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
Response
{
  "data": {
    "object": "customiser_language",
    "customiser_id": 42,
    "language_code": "fr",
    "source_language_code": "en",
    "display_name": "French",
    "status": "draft",
    "is_default": false,
    "is_authoring": false,
    "translation_summary": {
      "key_count": 184,
      "required_key_count": 96,
      "translated_key_count": 64,
      "retired_key_count": 0,
      "missing_required_key_count": 32,
      "publishable": false
    },
    "ai_translation": {
      "object": "language_ai_translation",
      "status": "cancelled",
      "cancellable": false,
      "chunks_total": 8,
      "keys_targeted": 184,
      "error_summary": null,
      "started_at": "2026-05-04T09:10:00Z",
      "finished_at": "2026-05-04T09:11:45Z",
      "created_at": "2026-05-04T09:09:58Z",
      "updated_at": "2026-05-04T09:11:45Z"
    },
    "published_at": null,
    "created_at": "2026-05-04T09:09:00Z",
    "updated_at": "2026-05-04T09:11:45Z"
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/customisers/42/languages/fr/cancel-ai-translation",
    "documentation": "https://www.signcustomiser.com/help/api/"
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}

Type a question and press Enter. Use the arrow keys to move between the results.