Customiser colours
Delete a colour image
Clears one of the colour's image slots and deletes the stored file,
returning a receipt naming what was removed and the colour as it now
stands. Requires customisers:write and an Idempotency-Key.
Overview
Deleting
from a slot that holds no image answers 404.
Deleting the texture image of a colour whose texture is
custom_texture is refused with 422 texture_image_required: the finish
renders from that image, and the storefront could not draw the colour
without it. Change texture on the colour first, then delete the image.
The delete clears the customiser's cached storefront configuration and
runs the advisory language sync, and never regenerates Shopify products,
product images, or the product cache.
Authorisation
Bearer token required. Include it in theAuthorization header.
Required scope: customisers:write
Path parameters
The customiser id.
Example: 1
The colour id.
Example: 7
Which image to remove: `image`, `example_image` or `texture_image`.
Example: image
curl https://web.signcustomiser.com/api/v3/customisers/1/colours/7/images/image \
--request DELETE \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'{
"data": {
"object": "file_deletion_receipt",
"slot": "image",
"customiser_id": 42,
"colour_id": 7,
"deleted": true,
"removed_file": {
"filename": "warm-white.png",
"url": "https://cdn.example.com/files/2f1c9c0e-6a7b-4c1d-8e2f-3a4b5c6d7e8f.png"
},
"resource": {
"object": "colour",
"id": 7,
"customiser_id": 42,
"name": "Warm White",
"description": null,
"colour_type": "single",
"hexcode": "#FFEEDD",
"multi_colour_hexcodes": null,
"texture": "flat",
"min_width_cm": null,
"min_height_cm": null,
"min_size_rule": "any",
"base_price": 0,
"currency": "USD",
"price_multiplier": 1,
"price_multiplier_target": "base_letter_price",
"sort_order": 1,
"image_url": null,
"example_image_url": null,
"texture_image_url": null,
"created_at": "2026-08-13T00:00:00Z",
"updated_at": "2026-08-13T00:05:00Z"
}
},
"links": {
"self": "https://web.signcustomiser.com/api/v3/customisers/42/colours/7/images/image",
"documentation": "https://www.signcustomiser.com/help/api/"
},
"meta": {
"api_version": "v3",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
}{
"type": "https://www.signcustomiser.com/help/api/problems/missing_idempotency_key",
"title": "Missing idempotency key",
"status": 400,
"code": "missing_idempotency_key",
"detail": "Provide an Idempotency-Key header for this write.",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/missing_api_key",
"title": "Missing API key",
"status": 401,
"code": "missing_api_key",
"detail": "Provide a store API key as a bearer token.",
"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.",
"required_scopes": [
"customisers:write"
],
"granted_scopes": [
"customisers:read"
],
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/resource_not_found",
"title": "Resource not found",
"status": 404,
"code": "resource_not_found",
"detail": "The requested resource does not exist or does not belong to the authenticated store.",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/idempotency_key_conflict",
"title": "Idempotency key conflict",
"status": 409,
"code": "idempotency_key_conflict",
"detail": "This Idempotency-Key was already used for a different request body on this operation.",
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/texture_image_required",
"title": "Texture image required",
"status": 422,
"code": "texture_image_required",
"detail": "This colour uses the custom_texture finish, which renders from its texture image, so the image cannot be removed while the finish is set. Change texture first, then delete the image.",
"errors": [
{
"pointer": "/texture",
"code": "texture_image_required",
"detail": "The custom_texture finish requires a texture image."
}
],
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}{
"type": "https://www.signcustomiser.com/help/api/problems/rate_limited",
"title": "Too many requests",
"status": 429,
"code": "rate_limited",
"detail": "You have exceeded the request limit for this API key.",
"retry_after": 37,
"request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}