---
title: "List themes"
method: GET
path: "/v1/themes"
tags: ["Themes"]
---

# List themes

`GET /v1/themes`

Retrieve a paginated list of email themes, most recently created first.

## Query parameters

- `perPage` string
- `cursor` string

## Response `200`

Successful.

- ListThemesResponse
  - `pagination` Pagination, required
    - `totalResults` number, required
    - `returnedResults` number, required
    - `perPage` number, required
    - `totalPages` number, required
    - `nextCursor` string, nullable, required
    - `nextPage` string, nullable, required
  - `data` Theme[], required
    - `id` string, required — The ID of the theme.
    - `name` string, required — The name of the theme.
    - `styles` ThemeStyles, required — Flat map of style attributes, matching the attribute names accepted by the LMX `<Style />` tag.
      - `backgroundColor` string
      - `backgroundXPadding` number
      - `backgroundYPadding` number
      - `bodyColor` string
      - `bodyXPadding` number
      - `bodyYPadding` number
      - `bodyFontFamily` string
      - `bodyFontCategory` string
      - `borderColor` string
      - `borderWidth` number
      - `borderRadius` number
      - `buttonBodyColor` string
      - `buttonBodyXPadding` number
      - `buttonBodyYPadding` number
      - `buttonBorderColor` string
      - `buttonBorderWidth` number
      - `buttonBorderRadius` number
      - `buttonTextColor` string
      - `buttonTextFormat` number
      - `buttonTextFontSize` number
      - `dividerColor` string
      - `dividerBorderWidth` number
      - `textBaseColor` string
      - `textBaseFontSize` number
      - `textBaseLineHeight` number
      - `textBaseLetterSpacing` number
      - `textLinkColor` string
      - `heading1Color` string
      - `heading1FontSize` number
      - `heading1LineHeight` number
      - `heading1LetterSpacing` number
      - `heading2Color` string
      - `heading2FontSize` number
      - `heading2LineHeight` number
      - `heading2LetterSpacing` number
      - `heading3Color` string
      - `heading3FontSize` number
      - `heading3LineHeight` number
      - `heading3LetterSpacing` number
    - `isDefault` boolean, required — Whether this theme is the team's default.
    - `createdAt` string, required — ISO 8601 timestamp for when the theme was created.
    - `updatedAt` string, required — ISO 8601 timestamp for when the theme was last updated.

## Other responses

- `400` — Invalid `perPage` value.
- `401` — Invalid API key or content API not enabled for this team.
- `405` — Wrong HTTP request method.

## Changes

> 9 revisions in range; 1 not diffed, 2 could not be searched.

- **2026-07-26** `72d136d738c3` — 6 info
  - the response property `pagination/nextCursor` became required for the status `200`
  - the response property `pagination/nextPage` became required for the status `200`
  - the response property `pagination/perPage` became required for the status `200`
  - the response property `pagination/returnedResults` became required for the status `200`
  - …2 more

[Change history](https://skmtc.dev/loops/apis/loops-openapi-spec/changes/v1/themes/get.md)

---

[API](https://skmtc.dev/loops/apis/loops-openapi-spec.md) · [All operations](https://skmtc.dev/loops/apis/loops-openapi-spec/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/loops/loops-openapi-spec/revisions/8bd0098300ec/schema)
