Sign Customiser

Dry-runs the create without persisting anything: the same body, the same validation, and the same problems the create would return, or a 200 verdict when it would succeed.

POST/api/v3/customisers/{customiser_id}/icons/validate-create

Overview

The SVG is sanitised so an unsafe drawing is caught here too, but it is not sent to the converter and the icon font is not rebuilt — those are the parts that cost, and the create runs them itself. Nothing is written, no caches are touched, no idempotency key is consumed, and no option-write budget is spent. The verdict is advisory. Requires customisers:write.

Authorisation

Bearer token required. Include it in theAuthorization header.

Required scope: customisers:write

Path parameters

customiser_idstringpathrequired

The customiser id.

Example: 1

Request body

namestringbody
svgstringbody

Request body example

application/json
{
  "name": "Heart",
  "svg": "<svg viewBox=\"0 0 24 24\"><path d=\"M4 4h16v16H4z\"/></svg>"
}
Validate an icon create
curl https://web.signcustomiser.com/api/v3/customisers/1/icons/validate-create \
  --request POST \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Heart",
  "svg": "<svg viewBox=\"0 0 24 24\"><path d=\"M4 4h16v16H4z\"/></svg>"
}'
Response
{
  "data": {
    "object": "icon_validation",
    "operation": "create",
    "customiser_id": 42,
    "icon_id": null,
    "valid": true
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/customisers/42/icons/validate-create",
    "documentation": "https://www.signcustomiser.com/help/api/"
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}