Customiser languages
Validate deleting a customiser language
Dry-run a language delete without removing anything. The response on the failing paths is exactly the problem the delete would return — the same lifecycle guard and reference check run, only the removal is skipped.
Overview
On a
language that would delete, the response is a 200
customiser_language_validation confirmation. Nothing is written, no caches
are touched, no idempotency key is consumed, and no activity is recorded.
The verdict is advisory: nothing binds it to a later delete, and the language
can legitimately change between the two calls. Requires the
customisers:write scope, because it is the write dry-run twin.
401, 403, 404, 409, 422, and 429 problems behave exactly as on the delete
operation.
Authorisation
Bearer token required. Include it in theAuthorization header.
Required scope: customisers:write
Path parameters
The customiser id, from the list customisers operation.
Example: 1
The language tag, from the list customiser languages operation.
Example: fr
curl https://web.signcustomiser.com/api/v3/customisers/1/languages/fr/validate-delete \
--request POST \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'{
"data": {
"object": "customiser_language_validation",
"operation": "delete",
"customiser_id": 42,
"language_code": "fr",
"valid": true
},
"links": {
"self": "https://web.signcustomiser.com/api/v3/customisers/42/languages/fr/validate-delete",
"documentation": "https://www.signcustomiser.com/help/api/"
},
"meta": {
"api_version": "v3",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
}{
"type": "https://www.signcustomiser.com/help/api/problems/insufficient_scope",
"title": "Insufficient scope",
"status": 403,
"code": "insufficient_scope",
"detail": "This operation requires the customisers:write scope, but the API key grants the following scopes: customisers:read. Create a key that includes the required scope in the merchant admin under Integrate → API Tokens.",
"required_scopes": [
"customisers:write"
],
"granted_scopes": [
"customisers:read"
],
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/language_not_deletable",
"title": "Language not deletable",
"status": 422,
"code": "language_not_deletable",
"detail": "A customiser must always keep one published default language, because it is the copy the storefront falls back to. Publish another language and make it the default before removing this one.",
"reason": "default_language",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}