# DELETE Delete a backboard shape

Removes this backboard's shape and everything measured from it, returning a receipt and the backboard as it now stands. Requires `customisers:write` and an `Idempotency-Key`. The shape lives inside the backboard rather than in storage, so `removed_file` carries no filename and no URL: an inline shape was never published at one. `geometry` on the returned resource is the state that matters — `has_custom_shape` false and every measurement field null. A `custom_shape` or `cutout` backboard is drawn from its shape, so deleting one is refused with a 422 on `/backboard_type` while the backboard is either of those types. Change `backboard_type` first, then delete the shape. Deleting a shape a backboard does not have answers 404. 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-backboard-shape/
- Markdown URL: https://www.signcustomiser.com/help/api/v3-delete-delete-a-backboard-shape.md
- Group: Customiser backboards
- Method: DELETE
- Path: /api/v3/customisers/{customiser_id}/backboards/{backboard_id}/shape
- Auth: Bearer token
- Required scopes: `customisers:write`

## Path parameters

- customiser_id (string, required): The customiser id. Example: 1
- backboard_id (string, required): The backboard id. Example: 11

## cURL example

```bash
curl https://web.signcustomiser.com/api/v3/customisers/1/backboards/11/shape \
  --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": "shape",
    "customiser_id": 42,
    "backboard_id": 11,
    "deleted": true,
    "removed_file": {
      "filename": null,
      "url": null
    },
    "resource": {
      "object": "backboard",
      "id": 11,
      "customiser_id": 42,
      "name": "Cloud Panel",
      "description": null,
      "backboard_type": "board",
      "letter_type_ids": [],
      "outline_size": null,
      "allow_multilayer": false,
      "custom_background_enabled": false,
      "show_custom_background": false,
      "base_price": 0,
      "currency": "USD",
      "price_multiplier": 1,
      "price_multiplier_target": "base_letter_price",
      "price_per_sq_cm": null,
      "sort_order": 1,
      "image_url": null,
      "button_image_url": null,
      "geometry": {
        "has_custom_shape": false,
        "status": null,
        "failure_reason": null,
        "measured_at": 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/backboards/11/shape",
    "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 No shape on the backboard

```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 Shape-owned backboard

```json
{
  "type": "https://www.signcustomiser.com/help/api/problems/validation_failed",
  "title": "Validation failed",
  "status": 422,
  "code": "validation_failed",
  "detail": "A custom_shape backboard is drawn from its shape, so the shape cannot be removed while the backboard is that type. Change backboard_type first, then delete the shape.",
  "errors": [
    {
      "pointer": "/backboard_type",
      "code": "custom_shape_required",
      "detail": "A custom_shape backboard needs a shape, and this delete would leave it without one."
    }
  ],
  "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"
}
```
