# GET /v1/catalogue/flashings

**Service:** Catalogue  
**Operation:** `CatalogueService_ListFlashings`

Returns a paginated list of flashing templates. A flashing line item must reference one of these templates by id, so use this list to find the template for the thickness you need and its selectable colours. Templates are returned ordered by flashing name, then thickness.

## Parameters

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `pageSize` | query | integer | no | Maximum number of templates to return per page. 0 uses the server default; the server may cap the value. |
| `pageToken` | query | string | no | Opaque page token from a previous response, used to fetch the next page. |
| `productType` | query | string | no | Optional: only return templates whose `productType` equals this value. Every flashing template currently reports "Flashing", so the filter narrows nothing today. There is no filter by name, thickness or colour: to find a template, page through the list and match on `flashingName`, `thickness` and `colours`. |
| `fields` | query | string | no | Comma-separated response fields to include, using camelCase JSON names (e.g. `orderId,total.amountMicros`). Dot paths reach into nested objects and map transparently across arrays. Paths are relative to the resource, not the response envelope; envelope keys like `nextPageToken` are always preserved. Only 2xx JSON responses are filtered; error bodies pass through unmodified. Unknown names are silently ignored. Takes precedence over `excludeFields` when both are provided. |
| `excludeFields` | query | string | no | Comma-separated response fields to exclude, using camelCase JSON names. Dot paths and array-transparency work the same as `fields`. Paths are relative to the resource, not the response envelope. Only 2xx JSON responses are filtered; error bodies pass through unmodified. Ignored when `fields` is also provided. |

## Responses

| Status | Schema | Description |
| --- | --- | --- |
| 200 | `ListFlashingsResponse` | A successful response. |
| 400 | `Error` | The request was rejected because it was malformed — for example an unusable page token or an invalid filter value. The body is a validation-failure envelope: an overall type and message and one entry per problem (each with a stable code, a message, and a param pointing at the offending parameter). |
| 401 | `Error` | The request is missing a valid bearer token, or the token is invalid or expired. |
| 403 | `Error` | The token is valid but does not permit this action, or the resource belongs to a company the token cannot act for. The error type is permission_denied. |
| 429 | `Error` | The request was throttled (rate_limited) or exceeded a size limit (resource_exhausted). When throttled, the Retry-After header says how many seconds to wait before retrying; a resource_exhausted request will fail the same way if retried unchanged. |
| default | `Error` | Any other error. The body is the same error envelope every error uses: a short stable type identifying the kind of failure (for example "rate_limited" or "internal"), a human-readable message, and the request's idempotency key echoed back when one was supplied. |

## Returns

`ListFlashingsResponse`

| Field | Type | Description |
| --- | --- | --- |
| `flashings` | Flashing[] | The flashing templates in this page. |
| `flashings.templateId` | string | The template's unique id. Reference this on a flashing line item. |
| `flashings.productType` | string | The catalogue product type of this template. Flashing templates report "Flashing"; it marks them apart from other kinds of catalogue product. |
| `flashings.thickness` | string | The thickness this template is for, as a decimal string in the template's units (e.g. "0.55", millimetres for metric accounts). Fixed for the template: each thickness is a separate template with its own id, so to order a different thickness, select the template (`templateId`) that has it. |
| `flashings.flashingId` | string | The id of the underlying flashing. |
| `flashings.flashingName` | string | The display name of the underlying flashing. |
| `flashings.materialId` | string | The id of the template's material selection. Not populated yet: empty for every template today, and may start being returned in a later release without a version change. Use `flashingId` to identify the flashing. |
| `flashings.materialName` | string | The display name of the template's material selection. Empty today, like `materialId`. |
| `flashings.colours` | string[] | The colours you can select for a flashing line built on this template. A line's colour must be one of these. Colour is the per-line choice; the thickness is fixed by the template id (see `thickness`). |
| `nextPageToken` | string | Token to pass as `pageToken` to fetch the next page; empty when there are no more results. |

---

Source: https://developer.factory.app/reference/catalogue/list-flashings · Factory Sales API v1
