Sign Customiser

Lists the customiser's extras in the order the storefront presents them (sort_order, then id). input_type decides which fields the extra reads; the ones it never reads come back as null. base_price and each choice's base_price are integer minor units of currency. Requires customisers:read.

GET/api/v3/customisers/{customiser_id}/extras

Overview

Follow links.next while pagination.has_more is true, sending each cursor back unchanged. The operation is read-only and always safe to retry.

Authorisation

Bearer token required. Include it in theAuthorization header.

Required scope: customisers:read

Path parameters

customiser_idstringpathrequired

The customiser id, from the list customisers operation.

Example: 1

Query parameters

limitstringquery

Page size from 1 to 100. Defaults to 20.

Example: 20

List extras
curl https://web.signcustomiser.com/api/v3/customisers/1/extras?limit=20&cursor= \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
Response
{
  "data": [
    {
      "object": "extra",
      "id": 9,
      "customiser_id": 42,
      "name": "Dimmer",
      "description": null,
      "input_type": "yes_no",
      "true_label": "Yes",
      "false_label": "No",
      "default_value": false,
      "char_limit": null,
      "yes_colour_exclusions": [],
      "no_colour_exclusions": [],
      "select_options": null,
      "image_url": null,
      "base_price": 0,
      "currency": "USD",
      "price_multiplier": 0,
      "price_multiplier_target": "base_letter_price",
      "sort_order": 1,
      "created_at": "2026-08-13T00:00:00Z",
      "updated_at": "2026-08-13T00:00:00Z"
    }
  ],
  "pagination": {
    "has_more": false,
    "next_cursor": null
  },
  "links": {
    "self": "https://web.signcustomiser.com/api/v3/customisers/42/extras",
    "documentation": "https://www.signcustomiser.com/help/api/",
    "next": null
  },
  "meta": {
    "api_version": "v3",
    "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
  }
}