# DELETE Delete a support finish image

Clears one of the support finish's image slots and deletes the stored file, returning a receipt naming what was removed and the support finish as it now stands. Requires `customisers:write` and an `Idempotency-Key`. Deleting from a slot that holds no image answers 404. Deleting the texture image of a finish whose `finish_kind` is `texture` is refused with 422 `texture_image_required`: the finish renders from that image, and the storefront could not draw the backboard without it. Change `finish_kind` on the finish 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.

- Source URL: https://www.signcustomiser.com/help/api/v3-delete-delete-a-support-finish-image/
- Markdown URL: https://www.signcustomiser.com/help/api/v3-delete-delete-a-support-finish-image.md
- Group: Customiser support finishes
- Method: DELETE
- Path: /api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id}/images/{image_slot}
- Auth: Bearer token
- Required scopes: `customisers:write`

## Path parameters

- customiser_id (string, required): The customiser id. Example: 1
- support_finish_id (string, required): The support finish id. Example: 27
- image_slot (string, required): Which image to remove: preview_image, example_image or texture_image. Example: preview_image

## cURL example

```bash
curl https://web.signcustomiser.com/api/v3/customisers/1/support-finishes/27/images/preview_image \
  --request DELETE \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
```

## Response examples

### 200 DELETE 200 example 1

```json
{
  "data": {
    "object": "file_deletion_receipt",
    "slot": "preview_image",
    "customiser_id": 42,
    "support_finish_id": 27,
    "deleted": true,
    "removed_file": {
      "filename": "gloss-black.png",
      "url": "https://cdn.example.com/files/2f1c9c0e-6a7b-4c1d-8e2f-3a4b5c6d7e8f.png"
    },
    "resource": {
      "object": "support_finish",
      "id": 27,
      "customiser_id": 42,
      "name": "Gloss Black",
      "description": null,
      "finish_kind": "colour",
      "hexcode": "#111111",
      "opacity": 1,
      "applied_to_visualisation": true,
      "backboard_ids": [
        11
      ],
      "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,
      "preview_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/support-finishes/27/images/preview_image",
    "documentation": "https://www.signcustomiser.com/help/api/"
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}
```

### 400 Missing idempotency key

```json
{
  "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"
}
```

### 401 Missing API key

```json
{
  "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"
}
```

### 403 Insufficient scope

```json
{
  "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"
}
```

### 404 Empty slot

```json
{
  "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"
}
```

### 409 Idempotency conflict

```json
{
  "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"
}
```

### 422 Texture image still in use

```json
{
  "type": "https://www.signcustomiser.com/help/api/problems/texture_image_required",
  "title": "Texture image required",
  "status": 422,
  "code": "texture_image_required",
  "detail": "This finish uses the texture finish kind, which renders from its texture image, so the image cannot be removed while the kind is set. Change finish_kind first, then delete the image.",
  "errors": [
    {
      "pointer": "/finish_kind",
      "code": "texture_image_required",
      "detail": "The texture finish kind requires a texture image."
    }
  ],
  "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
```

### 429 Option write budget exhausted

```json
{
  "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"
}
```
