**Version: 202601**

# List edit-session card library

**GET** `/openapi/2026-01/themes/edit-sessions/:oseid/card-list`

List the cards available in the theme: regular cards (`card_list`, `block_list`) come from the published version; AI cards are listed separately in `gen_list`, including ones created in this session that are not yet placed or saved, each carrying `saved` to indicate whether it has been saved to the draft.

## Request

**Path Parameters**

- `oseid` string (required)

  Edit session ID

**Query Parameters**

- `need_schema` int32

  Pass 1 to additionally return `schema` and `settings` on section cards

## Responses

**200**

OK

**application/json**

**Schema | Example**

**Schema**

- `code` string

  error code
- `message` string

  error message
- `data` object

  - `card_list` object[]

    Regular section cards, published view — same structure as the legacy cardList API

    *   Array \[

    - `group_key` int32

      Group index, starting at 1
    - `group_name` string

      Group name, taken from the card category
    - `groups` object[]

      Cards in this group; each carries `type`, `name`, `icon`, `templates`, `limit` and the schema's passthrough fields, AI cards additionally carry `saved`, and `schema` / `settings` are present when `need_schema` is passed
    *   \]
  - `block_list` object[]

    Regular block cards, published view — same structure as the legacy cardList API

    *   Array \[

    - `group_key` int32

      Group index, starting at 1
    - `group_name` string

      Group name, taken from the card category
    - `groups` object[]

      Cards in this group; each carries `type`, `name`, `icon`, `templates`, `limit` and the schema's passthrough fields, AI cards additionally carry `saved`, and `schema` / `settings` are present when `need_schema` is passed
    *   \]
  - `gen_list` object[]

    AI cards, edit-session view (including unplaced / unsaved ones); each item carries `saved` (whether the card is already in the draft)

    *   Array \[

    - `group_key` int32

      Group index, starting at 1
    - `group_name` string

      Group name, taken from the card category
    - `groups` object[]

      Cards in this group; each carries `type`, `name`, `icon`, `templates`, `limit` and the schema's passthrough fields, AI cards additionally carry `saved`, and `schema` / `settings` are present when `need_schema` is passed
    *   \]

```json
{
  "code": "string",
  "message": "string",
  "data": {
    "card_list": [
      {
        "group_key": 0,
        "group_name": "string",
        "groups": [
          {}
        ]
      }
    ],
    "block_list": [
      {
        "group_key": 0,
        "group_name": "string",
        "groups": [
          {}
        ]
      }
    ],
    "gen_list": [
      {
        "group_key": 0,
        "group_name": "string",
        "groups": [
          {}
        ]
      }
    ]
  }
}
```
