Public API v3
Public API v2 & legacy
Sign Customiser API v3 uses Store-scoped bearer keys and a consistent problem details error contract. Start with thecold-start quickstartto identify your Store, list customisers, and read pricing.
The v2 and legacy request endpoints are deprecated and remain available only for existing integrations. Webhook events are unversioned and continue to apply. Build new request integrations with v3, or use the migration guide to move an existing integration.
Production base URL:https://web.signcustomiser.com. Download theOpenAPI JSONor read the endpoint reference below.
Guides
Use these guides for the decisions that sit around the endpoint contract.
- Authentication and key lifecycle
Create, store, rotate, and revoke Store-scoped API keys safely.
- Cold-start quickstart
Create a scoped key, identify its Store, list customisers, and read pricing.
- Storefront JavaScript events
Use cart, form, AI sign designer, lightbox, and ShareLink events from inline storefront JavaScript.
- Errors and retries
Interpret problem details and recover safely from validation, conflict, and rate-limit responses.
- Versioning and deprecation policy
Understand major versions, compatible additions, breaking changes, and the previous-generation API.
- Migrate from v2 to v3
Move previous-generation requests to v3 without duplicating writes or losing data.
- Canonical, legacy, and UI glossary
Translate canonical API values to legacy spellings and current merchant-admin labels.
Current API, v3
Build new integrations against these endpoints. Required scopes are shown on each reference page and in the generated agent guide.
Analytics
- GETGet an analytics summary
/api/v3/analytics/summary
Customiser backboards
- GETList backboards
/api/v3/customisers/{customiser_id}/backboards - POSTCreate a backboard
/api/v3/customisers/{customiser_id}/backboards - POSTValidate a backboard create
/api/v3/customisers/{customiser_id}/backboards/validate-create - POSTReorder backboards
/api/v3/customisers/{customiser_id}/backboards/reorder - POSTValidate a backboard reorder
/api/v3/customisers/{customiser_id}/backboards/validate-reorder - GETGet a backboard
/api/v3/customisers/{customiser_id}/backboards/{backboard_id} - PATCHUpdate a backboard
/api/v3/customisers/{customiser_id}/backboards/{backboard_id} - POSTValidate a backboard update
/api/v3/customisers/{customiser_id}/backboards/{backboard_id}/validate-update - DELETEDelete a backboard
/api/v3/customisers/{customiser_id}/backboards/{backboard_id} - POSTValidate a backboard delete
/api/v3/customisers/{customiser_id}/backboards/{backboard_id}/validate-delete - PUTAttach a backboard image
/api/v3/customisers/{customiser_id}/backboards/{backboard_id}/images/{image_slot} - POSTValidate a backboard image attach
/api/v3/customisers/{customiser_id}/backboards/{backboard_id}/images/{image_slot}/validate-update - DELETEDelete a backboard image
/api/v3/customisers/{customiser_id}/backboards/{backboard_id}/images/{image_slot} - POSTValidate a backboard image delete
/api/v3/customisers/{customiser_id}/backboards/{backboard_id}/images/{image_slot}/validate-delete - PUTAttach a backboard shape
/api/v3/customisers/{customiser_id}/backboards/{backboard_id}/shape - POSTValidate a backboard shape attach
/api/v3/customisers/{customiser_id}/backboards/{backboard_id}/shape/validate-update - DELETEDelete a backboard shape
/api/v3/customisers/{customiser_id}/backboards/{backboard_id}/shape - POSTValidate a backboard shape delete
/api/v3/customisers/{customiser_id}/backboards/{backboard_id}/shape/validate-delete
Customiser backlights
- GETList backlights
/api/v3/customisers/{customiser_id}/backlights - POSTCreate a backlight
/api/v3/customisers/{customiser_id}/backlights - POSTValidate a backlight create
/api/v3/customisers/{customiser_id}/backlights/validate-create - POSTReorder backlights
/api/v3/customisers/{customiser_id}/backlights/reorder - POSTValidate a backlight reorder
/api/v3/customisers/{customiser_id}/backlights/validate-reorder - GETGet a backlight
/api/v3/customisers/{customiser_id}/backlights/{backlight_id} - PATCHUpdate a backlight
/api/v3/customisers/{customiser_id}/backlights/{backlight_id} - POSTValidate a backlight update
/api/v3/customisers/{customiser_id}/backlights/{backlight_id}/validate-update - DELETEDelete a backlight
/api/v3/customisers/{customiser_id}/backlights/{backlight_id} - POSTValidate a backlight delete
/api/v3/customisers/{customiser_id}/backlights/{backlight_id}/validate-delete - PUTAttach a backlight image
/api/v3/customisers/{customiser_id}/backlights/{backlight_id}/images/{image_slot} - POSTValidate a backlight image attach
/api/v3/customisers/{customiser_id}/backlights/{backlight_id}/images/{image_slot}/validate-update - DELETEDelete a backlight image
/api/v3/customisers/{customiser_id}/backlights/{backlight_id}/images/{image_slot} - POSTValidate a backlight image delete
/api/v3/customisers/{customiser_id}/backlights/{backlight_id}/images/{image_slot}/validate-delete
Customiser colours
- GETList colours
/api/v3/customisers/{customiser_id}/colours - POSTCreate a colour
/api/v3/customisers/{customiser_id}/colours - POSTValidate a colour create
/api/v3/customisers/{customiser_id}/colours/validate-create - POSTReorder colours
/api/v3/customisers/{customiser_id}/colours/reorder - POSTValidate a colour reorder
/api/v3/customisers/{customiser_id}/colours/validate-reorder - GETGet a colour
/api/v3/customisers/{customiser_id}/colours/{colour_id} - PATCHUpdate a colour
/api/v3/customisers/{customiser_id}/colours/{colour_id} - POSTValidate a colour update
/api/v3/customisers/{customiser_id}/colours/{colour_id}/validate-update - DELETEDelete a colour
/api/v3/customisers/{customiser_id}/colours/{colour_id} - POSTValidate a colour delete
/api/v3/customisers/{customiser_id}/colours/{colour_id}/validate-delete - PUTAttach a colour image
/api/v3/customisers/{customiser_id}/colours/{colour_id}/images/{image_slot} - POSTValidate a colour image attach
/api/v3/customisers/{customiser_id}/colours/{colour_id}/images/{image_slot}/validate-update - DELETEDelete a colour image
/api/v3/customisers/{customiser_id}/colours/{colour_id}/images/{image_slot} - POSTValidate a colour image delete
/api/v3/customisers/{customiser_id}/colours/{colour_id}/images/{image_slot}/validate-delete
Customiser extras
- GETList extras
/api/v3/customisers/{customiser_id}/extras - POSTCreate an extra
/api/v3/customisers/{customiser_id}/extras - POSTValidate an extra create
/api/v3/customisers/{customiser_id}/extras/validate-create - POSTReorder extras
/api/v3/customisers/{customiser_id}/extras/reorder - POSTValidate an extra reorder
/api/v3/customisers/{customiser_id}/extras/validate-reorder - GETGet an extra
/api/v3/customisers/{customiser_id}/extras/{extra_id} - PATCHUpdate an extra
/api/v3/customisers/{customiser_id}/extras/{extra_id} - POSTValidate an extra update
/api/v3/customisers/{customiser_id}/extras/{extra_id}/validate-update - DELETEDelete an extra
/api/v3/customisers/{customiser_id}/extras/{extra_id} - POSTValidate an extra delete
/api/v3/customisers/{customiser_id}/extras/{extra_id}/validate-delete - PUTAttach an extra image
/api/v3/customisers/{customiser_id}/extras/{extra_id}/images/{image_slot} - POSTValidate an extra image attach
/api/v3/customisers/{customiser_id}/extras/{extra_id}/images/{image_slot}/validate-update - DELETEDelete an extra image
/api/v3/customisers/{customiser_id}/extras/{extra_id}/images/{image_slot} - POSTValidate an extra image delete
/api/v3/customisers/{customiser_id}/extras/{extra_id}/images/{image_slot}/validate-delete - PUTAttach an extra choice image
/api/v3/customisers/{customiser_id}/extras/{extra_id}/choices/{choice_value}/images/{image_slot} - POSTValidate an extra choice image attach
/api/v3/customisers/{customiser_id}/extras/{extra_id}/choices/{choice_value}/images/{image_slot}/validate-update - DELETEDelete an extra choice image
/api/v3/customisers/{customiser_id}/extras/{extra_id}/choices/{choice_value}/images/{image_slot} - POSTValidate an extra choice image delete
/api/v3/customisers/{customiser_id}/extras/{extra_id}/choices/{choice_value}/images/{image_slot}/validate-delete
Customiser fonts
- GETList fonts
/api/v3/customisers/{customiser_id}/fonts - POSTCreate a font
/api/v3/customisers/{customiser_id}/fonts - POSTValidate a font create
/api/v3/customisers/{customiser_id}/fonts/validate-create - POSTReorder fonts
/api/v3/customisers/{customiser_id}/fonts/reorder - POSTValidate a font reorder
/api/v3/customisers/{customiser_id}/fonts/validate-reorder - GETGet a font
/api/v3/customisers/{customiser_id}/fonts/{font_id} - PATCHUpdate a font
/api/v3/customisers/{customiser_id}/fonts/{font_id} - POSTValidate a font update
/api/v3/customisers/{customiser_id}/fonts/{font_id}/validate-update - DELETEDelete a font
/api/v3/customisers/{customiser_id}/fonts/{font_id} - POSTValidate a font delete
/api/v3/customisers/{customiser_id}/fonts/{font_id}/validate-delete - PUTAttach a font file
/api/v3/customisers/{customiser_id}/fonts/{font_id}/file - POSTValidate a font file attach
/api/v3/customisers/{customiser_id}/fonts/{font_id}/file/validate-update - DELETEDelete a font file
/api/v3/customisers/{customiser_id}/fonts/{font_id}/file - POSTValidate a font file delete
/api/v3/customisers/{customiser_id}/fonts/{font_id}/file/validate-delete
Customiser font tiers
- GETList font tiers
/api/v3/customisers/{customiser_id}/font-tiers - POSTCreate a font tier
/api/v3/customisers/{customiser_id}/font-tiers - POSTValidate a font tier create
/api/v3/customisers/{customiser_id}/font-tiers/validate-create - GETGet a font tier
/api/v3/customisers/{customiser_id}/font-tiers/{font_tier_id} - PATCHUpdate a font tier
/api/v3/customisers/{customiser_id}/font-tiers/{font_tier_id} - POSTValidate a font tier update
/api/v3/customisers/{customiser_id}/font-tiers/{font_tier_id}/validate-update - DELETEDelete a font tier
/api/v3/customisers/{customiser_id}/font-tiers/{font_tier_id} - POSTValidate a font tier delete
/api/v3/customisers/{customiser_id}/font-tiers/{font_tier_id}/validate-delete
Customiser forms
- GETList forms
/api/v3/customisers/{customiser_id}/forms - POSTCreate a form
/api/v3/customisers/{customiser_id}/forms - POSTValidate a form create
/api/v3/customisers/{customiser_id}/forms/validate-create - POSTReorder forms
/api/v3/customisers/{customiser_id}/forms/reorder - POSTValidate a form reorder
/api/v3/customisers/{customiser_id}/forms/validate-reorder - GETGet a form
/api/v3/customisers/{customiser_id}/forms/{form_id} - PATCHUpdate a form
/api/v3/customisers/{customiser_id}/forms/{form_id} - POSTValidate a form update
/api/v3/customisers/{customiser_id}/forms/{form_id}/validate-update - DELETEDelete a form
/api/v3/customisers/{customiser_id}/forms/{form_id} - POSTValidate a form delete
/api/v3/customisers/{customiser_id}/forms/{form_id}/validate-delete
Customiser icons
- GETList icons
/api/v3/customisers/{customiser_id}/icons - POSTCreate an icon
/api/v3/customisers/{customiser_id}/icons - POSTValidate an icon create
/api/v3/customisers/{customiser_id}/icons/validate-create - POSTReorder icons
/api/v3/customisers/{customiser_id}/icons/reorder - POSTValidate an icon reorder
/api/v3/customisers/{customiser_id}/icons/validate-reorder - GETGet an icon
/api/v3/customisers/{customiser_id}/icons/{icon_id} - PATCHUpdate an icon
/api/v3/customisers/{customiser_id}/icons/{icon_id} - POSTValidate an icon update
/api/v3/customisers/{customiser_id}/icons/{icon_id}/validate-update - DELETEDelete an icon
/api/v3/customisers/{customiser_id}/icons/{icon_id} - POSTValidate an icon delete
/api/v3/customisers/{customiser_id}/icons/{icon_id}/validate-delete
Customiser jackets
- GETList jackets
/api/v3/customisers/{customiser_id}/jackets - POSTCreate a jacket
/api/v3/customisers/{customiser_id}/jackets - POSTValidate a jacket create
/api/v3/customisers/{customiser_id}/jackets/validate-create - POSTReorder jackets
/api/v3/customisers/{customiser_id}/jackets/reorder - POSTValidate a jacket reorder
/api/v3/customisers/{customiser_id}/jackets/validate-reorder - GETGet a jacket
/api/v3/customisers/{customiser_id}/jackets/{jacket_id} - PATCHUpdate a jacket
/api/v3/customisers/{customiser_id}/jackets/{jacket_id} - POSTValidate a jacket update
/api/v3/customisers/{customiser_id}/jackets/{jacket_id}/validate-update - DELETEDelete a jacket
/api/v3/customisers/{customiser_id}/jackets/{jacket_id} - POSTValidate a jacket delete
/api/v3/customisers/{customiser_id}/jackets/{jacket_id}/validate-delete
Customiser labels
- GETGet customiser labels
/api/v3/customisers/{customiser_id}/labels - PATCHUpdate customiser labels
/api/v3/customisers/{customiser_id}/labels - POSTValidate customiser labels
/api/v3/customisers/{customiser_id}/labels/validate-update - PUTAttach the labels product image
/api/v3/customisers/{customiser_id}/labels/product-image - POSTValidate a labels product image attach
/api/v3/customisers/{customiser_id}/labels/product-image/validate-update - DELETEDelete the labels product image
/api/v3/customisers/{customiser_id}/labels/product-image - POSTValidate a labels product image delete
/api/v3/customisers/{customiser_id}/labels/product-image/validate-delete
Customiser languages
- GETList customiser languages
/api/v3/customisers/{customiser_id}/languages - POSTCreate a customiser language
/api/v3/customisers/{customiser_id}/languages - POSTValidate a customiser language
/api/v3/customisers/{customiser_id}/languages/validate-create - GETGet a customiser language
/api/v3/customisers/{customiser_id}/languages/{language_code} - DELETEDelete a customiser language
/api/v3/customisers/{customiser_id}/languages/{language_code} - POSTValidate deleting a customiser language
/api/v3/customisers/{customiser_id}/languages/{language_code}/validate-delete - POSTPublish a customiser language
/api/v3/customisers/{customiser_id}/languages/{language_code}/publish - POSTValidate publishing a customiser language
/api/v3/customisers/{customiser_id}/languages/{language_code}/validate-publish - POSTSet the default customiser language
/api/v3/customisers/{customiser_id}/languages/{language_code}/default - POSTValidate setting the default customiser language
/api/v3/customisers/{customiser_id}/languages/{language_code}/validate-default - POSTCancel an AI translation
/api/v3/customisers/{customiser_id}/languages/{language_code}/cancel-ai-translation - POSTValidate cancelling an AI translation
/api/v3/customisers/{customiser_id}/languages/{language_code}/validate-cancel-ai-translation - GETList language translations
/api/v3/customisers/{customiser_id}/languages/{language_code}/translations - PATCHUpdate language translations
/api/v3/customisers/{customiser_id}/languages/{language_code}/translations - POSTValidate language translations
/api/v3/customisers/{customiser_id}/languages/{language_code}/translations/validate-update
Customiser legacy fixed-height sizes
- GETList legacy fixed-height sizes
/api/v3/customisers/{customiser_id}/legacy-fixed-height-sizes - GETGet a legacy fixed-height size
/api/v3/customisers/{customiser_id}/legacy-fixed-height-sizes/{legacy_size_id} - DELETEDelete a legacy fixed-height size
/api/v3/customisers/{customiser_id}/legacy-fixed-height-sizes/{legacy_size_id} - POSTValidate a legacy fixed-height size delete
/api/v3/customisers/{customiser_id}/legacy-fixed-height-sizes/{legacy_size_id}/validate-delete
Customiser length pricings
- GETList length pricings
/api/v3/customisers/{customiser_id}/length-pricings - POSTCreate a length pricing
/api/v3/customisers/{customiser_id}/length-pricings - POSTValidate a length pricing create
/api/v3/customisers/{customiser_id}/length-pricings/validate-create - GETGet a length pricing
/api/v3/customisers/{customiser_id}/length-pricings/{length_pricing_id} - PATCHUpdate a length pricing
/api/v3/customisers/{customiser_id}/length-pricings/{length_pricing_id} - POSTValidate a length pricing update
/api/v3/customisers/{customiser_id}/length-pricings/{length_pricing_id}/validate-update - DELETEDelete a length pricing
/api/v3/customisers/{customiser_id}/length-pricings/{length_pricing_id} - POSTValidate a length pricing delete
/api/v3/customisers/{customiser_id}/length-pricings/{length_pricing_id}/validate-delete
Customiser letter parts
- GETList letter-part colour selections
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts - POSTCreate a letter-part colour selection
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts - POSTValidate a letter-part colour selection create
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/validate-create - GETGet a letter-part colour selection
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part} - PATCHUpdate a letter-part colour selection
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part} - POSTValidate a letter-part colour selection update
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/validate-update - DELETEDelete a letter-part colour selection
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part} - POSTValidate a letter-part colour selection delete
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/validate-delete - PUTAttach a letter part default upload image
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/images/{image_slot} - POSTValidate a letter part default upload image attach
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/images/{image_slot}/validate-update - DELETEDelete a letter part default upload image
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/images/{image_slot} - POSTValidate a letter part default upload image delete
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/images/{image_slot}/validate-delete - GETList a letter part's colours
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours - POSTCreate a letter part's colour
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours - POSTValidate a letter part colour create
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/validate-create - POSTReorder a letter part's colours
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/reorder - POSTValidate a letter part colour reorder
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/validate-reorder - GETGet a letter part's colour
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/{colour_id} - PATCHUpdate a letter part's colour
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/{colour_id} - POSTValidate a letter part colour update
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/{colour_id}/validate-update - DELETEDelete a letter part's colour
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/{colour_id} - POSTValidate a letter part colour delete
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/{colour_id}/validate-delete - PUTAttach a letter part colour image
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/{colour_id}/images/{image_slot} - POSTValidate a letter part colour image attach
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/{colour_id}/images/{image_slot}/validate-update - DELETEDelete a letter part colour image
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/{colour_id}/images/{image_slot} - POSTValidate a letter part colour image delete
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/letter-parts/{letter_part}/colours/{colour_id}/images/{image_slot}/validate-delete
Customiser letter types
- GETList letter types
/api/v3/customisers/{customiser_id}/letter-types - POSTCreate a letter type
/api/v3/customisers/{customiser_id}/letter-types - POSTValidate a letter type create
/api/v3/customisers/{customiser_id}/letter-types/validate-create - POSTReorder letter types
/api/v3/customisers/{customiser_id}/letter-types/reorder - POSTValidate a letter type reorder
/api/v3/customisers/{customiser_id}/letter-types/validate-reorder - GETGet a letter type
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id} - PATCHUpdate a letter type
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id} - POSTValidate a letter type update
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/validate-update - DELETEDelete a letter type
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id} - POSTValidate a letter type delete
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/validate-delete - PUTAttach a letter type image
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/images/{image_slot} - POSTValidate a letter type image attach
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/images/{image_slot}/validate-update - DELETEDelete a letter type image
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/images/{image_slot} - POSTValidate a letter type image delete
/api/v3/customisers/{customiser_id}/letter-types/{letter_type_id}/images/{image_slot}/validate-delete
Customiser materials
- GETList materials
/api/v3/customisers/{customiser_id}/materials - POSTCreate a material
/api/v3/customisers/{customiser_id}/materials - POSTValidate a material create
/api/v3/customisers/{customiser_id}/materials/validate-create - POSTReorder materials
/api/v3/customisers/{customiser_id}/materials/reorder - POSTValidate a material reorder
/api/v3/customisers/{customiser_id}/materials/validate-reorder - GETGet a material
/api/v3/customisers/{customiser_id}/materials/{material_id} - PATCHUpdate a material
/api/v3/customisers/{customiser_id}/materials/{material_id} - POSTValidate a material update
/api/v3/customisers/{customiser_id}/materials/{material_id}/validate-update - DELETEDelete a material
/api/v3/customisers/{customiser_id}/materials/{material_id} - POSTValidate a material delete
/api/v3/customisers/{customiser_id}/materials/{material_id}/validate-delete - PUTAttach a material image
/api/v3/customisers/{customiser_id}/materials/{material_id}/images/{image_slot} - POSTValidate a material image attach
/api/v3/customisers/{customiser_id}/materials/{material_id}/images/{image_slot}/validate-update - DELETEDelete a material image
/api/v3/customisers/{customiser_id}/materials/{material_id}/images/{image_slot} - POSTValidate a material image delete
/api/v3/customisers/{customiser_id}/materials/{material_id}/images/{image_slot}/validate-delete
Customiser mounting colours
- GETList mounting colours
/api/v3/customisers/{customiser_id}/mounting-colours - POSTCreate a mounting colour
/api/v3/customisers/{customiser_id}/mounting-colours - POSTValidate a mounting colour create
/api/v3/customisers/{customiser_id}/mounting-colours/validate-create - POSTReorder mounting colours
/api/v3/customisers/{customiser_id}/mounting-colours/reorder - POSTValidate a mounting colour reorder
/api/v3/customisers/{customiser_id}/mounting-colours/validate-reorder - GETGet a mounting colour
/api/v3/customisers/{customiser_id}/mounting-colours/{mounting_colour_id} - PATCHUpdate a mounting colour
/api/v3/customisers/{customiser_id}/mounting-colours/{mounting_colour_id} - POSTValidate a mounting colour update
/api/v3/customisers/{customiser_id}/mounting-colours/{mounting_colour_id}/validate-update - DELETEDelete a mounting colour
/api/v3/customisers/{customiser_id}/mounting-colours/{mounting_colour_id} - POSTValidate a mounting colour delete
/api/v3/customisers/{customiser_id}/mounting-colours/{mounting_colour_id}/validate-delete - PUTAttach a mounting colour image
/api/v3/customisers/{customiser_id}/mounting-colours/{mounting_colour_id}/images/{image_slot} - POSTValidate a mounting colour image attach
/api/v3/customisers/{customiser_id}/mounting-colours/{mounting_colour_id}/images/{image_slot}/validate-update - DELETEDelete a mounting colour image
/api/v3/customisers/{customiser_id}/mounting-colours/{mounting_colour_id}/images/{image_slot} - POSTValidate a mounting colour image delete
/api/v3/customisers/{customiser_id}/mounting-colours/{mounting_colour_id}/images/{image_slot}/validate-delete
Customiser mountings
- GETList mountings
/api/v3/customisers/{customiser_id}/mountings - POSTCreate a mounting
/api/v3/customisers/{customiser_id}/mountings - POSTValidate a mounting create
/api/v3/customisers/{customiser_id}/mountings/validate-create - POSTReorder mountings
/api/v3/customisers/{customiser_id}/mountings/reorder - POSTValidate a mounting reorder
/api/v3/customisers/{customiser_id}/mountings/validate-reorder - GETGet a mounting
/api/v3/customisers/{customiser_id}/mountings/{mounting_id} - PATCHUpdate a mounting
/api/v3/customisers/{customiser_id}/mountings/{mounting_id} - POSTValidate a mounting update
/api/v3/customisers/{customiser_id}/mountings/{mounting_id}/validate-update - DELETEDelete a mounting
/api/v3/customisers/{customiser_id}/mountings/{mounting_id} - POSTValidate a mounting delete
/api/v3/customisers/{customiser_id}/mountings/{mounting_id}/validate-delete - PUTAttach a mounting image
/api/v3/customisers/{customiser_id}/mountings/{mounting_id}/images/{image_slot} - POSTValidate a mounting image attach
/api/v3/customisers/{customiser_id}/mountings/{mounting_id}/images/{image_slot}/validate-update - DELETEDelete a mounting image
/api/v3/customisers/{customiser_id}/mountings/{mounting_id}/images/{image_slot} - POSTValidate a mounting image delete
/api/v3/customisers/{customiser_id}/mountings/{mounting_id}/images/{image_slot}/validate-delete
Customiser presets
- GETList presets
/api/v3/customisers/{customiser_id}/presets - POSTCreate a preset
/api/v3/customisers/{customiser_id}/presets - POSTValidate a preset create
/api/v3/customisers/{customiser_id}/presets/validate-create - GETGet a preset
/api/v3/customisers/{customiser_id}/presets/{preset_id} - PATCHUpdate a preset
/api/v3/customisers/{customiser_id}/presets/{preset_id} - POSTValidate a preset update
/api/v3/customisers/{customiser_id}/presets/{preset_id}/validate-update - DELETEDelete a preset
/api/v3/customisers/{customiser_id}/presets/{preset_id} - POSTValidate a preset delete
/api/v3/customisers/{customiser_id}/presets/{preset_id}/validate-delete
Customiser pricing
- POSTPreview a price
/api/v3/customisers/{customiser_id}/price-preview
Customisers
- GETList customisers
/api/v3/customisers - GETGet a customiser
/api/v3/customisers/{customiser_id} - GETList customiser prototypes
/api/v3/customiser-prototypes - POSTCreate a customiser
/api/v3/customisers - POSTValidate a customiser create
/api/v3/customisers/validate-create - PATCHUpdate a customiser
/api/v3/customisers/{customiser_id} - POSTValidate a customiser update
/api/v3/customisers/{customiser_id}/validate-update - DELETEDelete a customiser
/api/v3/customisers/{customiser_id} - POSTValidate a customiser delete
/api/v3/customisers/{customiser_id}/validate-delete - POSTActivate a customiser
/api/v3/customisers/{customiser_id}/activate - POSTValidate a customiser activation
/api/v3/customisers/{customiser_id}/validate-activate - POSTDeactivate a customiser
/api/v3/customisers/{customiser_id}/deactivate - POSTValidate a customiser deactivation
/api/v3/customisers/{customiser_id}/validate-deactivate - POSTRestore a customiser
/api/v3/customisers/{customiser_id}/restore - POSTValidate a customiser restore
/api/v3/customisers/{customiser_id}/validate-restore
Customiser settings
- GETGet customiser settings
/api/v3/customisers/{customiser_id}/settings - PATCHUpdate customiser settings
/api/v3/customisers/{customiser_id}/settings - POSTValidate customiser settings
/api/v3/customisers/{customiser_id}/settings/validate-update
Customiser sizes
- GETList sizes
/api/v3/customisers/{customiser_id}/sizes - POSTCreate a size
/api/v3/customisers/{customiser_id}/sizes - POSTValidate a size create
/api/v3/customisers/{customiser_id}/sizes/validate-create - POSTReorder sizes
/api/v3/customisers/{customiser_id}/sizes/reorder - POSTValidate a size reorder
/api/v3/customisers/{customiser_id}/sizes/validate-reorder - GETGet a size
/api/v3/customisers/{customiser_id}/sizes/{size_id} - PATCHUpdate a size
/api/v3/customisers/{customiser_id}/sizes/{size_id} - POSTValidate a size update
/api/v3/customisers/{customiser_id}/sizes/{size_id}/validate-update - DELETEDelete a size
/api/v3/customisers/{customiser_id}/sizes/{size_id} - POSTValidate a size delete
/api/v3/customisers/{customiser_id}/sizes/{size_id}/validate-delete
Customiser support finishes
- GETList support finishes
/api/v3/customisers/{customiser_id}/support-finishes - POSTCreate a support finish
/api/v3/customisers/{customiser_id}/support-finishes - POSTValidate a support finish create
/api/v3/customisers/{customiser_id}/support-finishes/validate-create - POSTReorder support finishes
/api/v3/customisers/{customiser_id}/support-finishes/reorder - POSTValidate a support finish reorder
/api/v3/customisers/{customiser_id}/support-finishes/validate-reorder - GETGet a support finish
/api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id} - PATCHUpdate a support finish
/api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id} - POSTValidate a support finish update
/api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id}/validate-update - DELETEDelete a support finish
/api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id} - POSTValidate a support finish delete
/api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id}/validate-delete - PUTAttach a support finish image
/api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id}/images/{image_slot} - POSTValidate a support finish image attach
/api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id}/images/{image_slot}/validate-update - DELETEDelete a support finish image
/api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id}/images/{image_slot} - POSTValidate a support finish image delete
/api/v3/customisers/{customiser_id}/support-finishes/{support_finish_id}/images/{image_slot}/validate-delete
Orders
- GETList orders
/api/v3/orders - POSTCreate an order
/api/v3/orders - POSTQueue an order CSV export
/api/v3/orders/export - GETShow an order
/api/v3/orders/{order_id} - POSTQueue an order email resend
/api/v3/orders/{order_id}/resend
Pricing
- GETGet customiser pricing
/api/v3/customisers/{customiser_id}/pricing - PUTReplace customiser pricing
/api/v3/customisers/{customiser_id}/pricing - PATCHUpdate customiser pricing
/api/v3/customisers/{customiser_id}/pricing - POSTValidate customiser pricing
/api/v3/customisers/{customiser_id}/pricing/validate
Products
- GETList products
/api/v3/products - GETShow a product
/api/v3/products/{product_id} - GETShow product selections
/api/v3/products/{product_id}/selections - POSTSynchronise a product
/api/v3/customisers/{customiser_id}/products
Quotes
- GETList quotes
/api/v3/quotes - GETRetrieve a quote
/api/v3/quotes/{quote_id}
Store
- GETGet the Store subscription
/api/v3/stores/me/subscription
Stores
- GETGet the authenticated store
/api/v3/stores/me
Uploads
- POSTCreate an upload
/api/v3/uploads - POSTValidate an upload create
/api/v3/uploads/validate-create - GETGet an upload
/api/v3/uploads/{upload_id}
Webhook events
Signed delivery payloads sent from Sign Customiser to your own application, including the product creation callback used by custom integrations.
- WEBHOOKProduct created
product:created - WEBHOOKOrder created
order:created - WEBHOOKForm submitteddeprecated
form:submitted
Webhook subscriptions
- GETList webhook subscriptions
/api/v3/webhook-subscriptions - POSTCreate a webhook subscription
/api/v3/webhook-subscriptions - GETGet a webhook subscription
/api/v3/webhook-subscriptions/{webhook_id} - PATCHUpdate a webhook subscription
/api/v3/webhook-subscriptions/{webhook_id} - DELETEDelete a webhook subscription
/api/v3/webhook-subscriptions/{webhook_id} - GETList webhook event types
/api/v3/webhook-event-types
v2 & legacy API
The v2 and legacy request endpoints remain visible for existing integrations. Webhook events are unversioned and available in both API pathways. Build all new request integrations with v3. Read the versioning policy before changing an existing integration.
Custom integrations
Backend contract for custom integrations: handle the signed product creation callback, return your own product ID, then submit completed orders into Sign Customiser.
- POSTCreate an orderdeprecated
/api/v2/orders - POSTCreate a legacy orderdeprecated
/api/orders - POSTSync a legacy productdeprecated
/api/customisers/{customiser}/products
Customisers
- GETList customisersdeprecated
/api/v2/customisers - GETGet a customiserdeprecated
/api/v2/customisers/{customiser}
Pricing
- GETGet customiser pricingdeprecated
/api/v2/customisers/{customiser}/pricing - PUTUpdate customiser pricingdeprecated
/api/v2/customisers/{customiser}/pricing
Webhook events
Signed delivery payloads sent from Sign Customiser to your own application, including the product creation callback used by custom integrations.
- WEBHOOKProduct created
product:created - WEBHOOKOrder created
order:created - WEBHOOKForm submitteddeprecated
form:submitted
Webhooks
Manage webhook subscriptions and inspect the event topics Sign Customiser can deliver to your own systems.
- GETList all webhooksdeprecated
/api/v2/webhooks - POSTCreate a new webhookdeprecated
/api/v2/webhooks - GETGet a single webhookdeprecated
/api/v2/webhooks/{webhook_id} - PUTUpdate a webhookdeprecated
/api/v2/webhooks/{webhook_id} - DELETEDelete a webhookdeprecated
/api/v2/webhooks/{webhook_id} - GETWebhook payload examplesdeprecated
/api/v2/webhook-examples/{topic}