# GET List sizes

Lists the customiser's sizes in the order the storefront presents them (`sort_order`, then id). Every length is in centimetres, and the field names match the sizes embedded in the pricing document, because they are the same rows. Fields the customiser's pricing model never reads are published as `null` — an advanced-letter customiser prices by `width_multiplier` and reports no centimetre dimensions, a frame-fit one prices by `width_cm` and `height_cm` and reports no multiplier. Requires `customisers:read`. Follow `links.next` while `pagination.has_more` is true, sending each cursor back unchanged. The operation is read-only and always safe to retry. A customiser still on the deprecated fixed-height pricing model keeps its current sizes in the legacy fixed-height sizes resource instead; this collection then reports only whatever leftover rows the customiser carries, which the delete operation exists to clear.

- Source URL: https://www.signcustomiser.com/help/api/v3-get-list-sizes/
- Markdown URL: https://www.signcustomiser.com/help/api/v3-get-list-sizes.md
- Group: Customiser sizes
- Method: GET
- Path: /api/v3/customisers/{customiser_id}/sizes
- Auth: Bearer token
- Required scopes: `customisers:read`

## Path parameters

- customiser_id (string, required): The customiser id, from the list customisers operation. Example: 1

## Query parameters

- limit (string, optional): Page size from 1 to 100. Defaults to 20. Example: 20

## cURL example

```bash
curl https://web.signcustomiser.com/api/v3/customisers/1/sizes?limit=20&cursor= \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN'
```

## Response examples

### 200 GET 200 example 1

```json
{
  "data": [
    {
      "object": "size",
      "id": 7,
      "customiser_id": 42,
      "name": "Small",
      "description": null,
      "char_limit": 12,
      "line_limit": 1,
      "min_char": 1,
      "width_cm": 40,
      "height_cm": null,
      "line_height_cm": 10,
      "length_cm": null,
      "width_multiplier": null,
      "sizing_strategy": "fixed_width",
      "height_measurement_mode": "line_height",
      "border_margin_cm": null,
      "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/sizes",
    "documentation": "https://www.signcustomiser.com/help/api/",
    "next": null
  },
  "meta": {
    "api_version": "v3",
    "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:read scope.",
  "required_scopes": [
    "customisers:read"
  ],
  "granted_scopes": [
    "store:read"
  ],
  "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
```

### 404 Unknown customiser

```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"
}
```

### 422 Invalid query

```json
{
  "type": "https://www.signcustomiser.com/help/api/problems/invalid_parameter",
  "title": "Invalid query parameter",
  "status": 422,
  "code": "invalid_parameter",
  "detail": "The limit parameter must be an integer between 1 and 100.",
  "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
```

### 429 Rate limited

```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": 60,
  "request_id": "req_01jz9x2k7c8f3m5n6p7q8r9s0t"
}
```
