Customiser backboards
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.
Overview
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.
Authorisation
Bearer token required. Include it in theAuthorization header.
Required scope: customisers:write
Path parameters
The customiser id.
Example: 1
The backboard id.
Example: 11
curl https://web.signcustomiser.com/api/v3/customisers/1/backboards/11/shape \
--request DELETE \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'{
"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"
}
}{
"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/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"
}{
"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"
}