**Version: 202601**

# List themes

**GET** `/openapi/2026-01/themes`

List the store's themes; filter by `published` or `ids`.

## Request

**Query Parameters**

- `published` string

  Filter themes by published status: `0` for unpublished, `1` for published. Omit to return both. With `1` at most one theme (the published one) is returned and paging does not apply
- `cursor` string

  Cursor for pagination. Use the cursor returned in the previous response to retrieve the next page
- `page_size` int32

  Number of themes to return per page. Range: 1-250. Default is 10
- `page` int32

  Page number (1-based). Mutually exclusive with cursor
- `ids` string[]

  List of theme IDs to filter by. Only themes matching the given IDs are returned. Example: ?ids=1001&ids=1002
- `contain_ext_theme` boolean

  Whether to include extension themes in the returned results

## Responses

**200**

OK

**application/json**

**Schema | Example**

**Schema**

- `code` string

  error code
- `message` string

  error message
- `data` object

  - `count` int32

    Total number of themes matching the filters, across all pages
  - `themes` object[]

    Array of theme objects

    *   Array \[

    - `id` string

      Theme's unique identifier
    - `name` string

      Theme name
    - `merchant_theme_id` string

      Merchant theme ID
    - `merchant_theme_name` string

      Merchant theme name
    - `merchant_theme_info` string

      Theme version identifier
    - `locale` string

      Theme locale (e.g., en-US, zh-CN)
    - `preset` string

      Theme style
    - `type` string

      Theme type:

      *   `shoplazza`: Internal shoplazza themes
      *   `developer`: Third-party developer themes
    - `desc` string

      Multi-language description of the theme
    - `default` string

      Indicates if it's the default theme (0 or 1)
    - `pc_cover_url` string

      URL for the PC cover image
    - `mobile_cover_url` string

      URL for the mobile cover image
    - `published` string

      Indicates if the theme is published (0 or 1)
    - `is_auto_upgrade` string

      Indicates if the theme is auto-upgraded
    - `status` string

      The status of the theme
    - `updated_at` string

      Timestamp when the theme was last updated
    - `publish_time` string

      Publish timestamp
    - `auto_save_time` string

      Auto-save time
    - `theme_save_time` string

      Last theme save time
    - `version` string

      Current theme version
    - `c_version` string

      Current client version
    - `change_log` string

      Changelog information for the theme
    - `version_publish_time` string

      Version publishing time
    - `newest_c_version` string

      Newest available client version
    - `has_newest_version` boolean

      Whether the theme has the newest version
    - `has_draft` boolean

      Whether has draft
    - `theme_version_id` string

      The version ID of the theme
    *   \]
  - `cursor` string

    Cursor for the next page of results
  - `has_more` boolean

    Whether there are more records

```json
{
  "code": "string",
  "message": "string",
  "data": {
    "count": 0,
    "themes": [
      {
        "id": "string",
        "name": "string",
        "merchant_theme_id": "string",
        "merchant_theme_name": "string",
        "merchant_theme_info": "string",
        "locale": "string",
        "preset": "string",
        "type": "string",
        "desc": "string",
        "default": "string",
        "pc_cover_url": "string",
        "mobile_cover_url": "string",
        "published": "string",
        "is_auto_upgrade": "string",
        "status": "string",
        "updated_at": "string",
        "publish_time": "string",
        "auto_save_time": "string",
        "theme_save_time": "string",
        "version": "string",
        "c_version": "string",
        "change_log": "string",
        "version_publish_time": "string",
        "newest_c_version": "string",
        "has_newest_version": true,
        "has_draft": true,
        "theme_version_id": "string"
      }
    ],
    "cursor": "string",
    "has_more": true
  }
}
```
