> ## Documentation Index
> Fetch the complete documentation index at: https://docs.autype.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lists

> Ordered and unordered lists with nested items

List elements render ordered (numbered) or unordered (bullet) lists with support for nested sub-lists.

## Basic list

```json theme={null}
{
  "type": "list",
  "ordered": false,
  "items": ["First item", "Second item", "Third item"]
}
```

Ordered list:

```json theme={null}
{
  "type": "list",
  "ordered": true,
  "items": ["Step one", "Step two", "Step three"]
}
```

## Properties

| Property  | Type    | Required | Default | Description                                                        |
| --------- | ------- | -------- | ------- | ------------------------------------------------------------------ |
| `type`    | string  | **Yes**  | —       | Must be `"list"`                                                   |
| `id`      | string  | No       | —       | Unique identifier. Auto-generated if not provided. Max: 100 chars. |
| `ordered` | boolean | No       | `false` | `true` = numbered list, `false` = bullet list.                     |
| `items`   | array   | **Yes**  | —       | Array of list items. Min: 1, max: 50 items.                        |
| `spacing` | object  | No       | —       | Spacing override with `before` and `after` in pt (0–100).          |

## List items

Each item in the `items` array can be either a simple string or an object with nested sub-items.

### Simple string items

```json theme={null}
{ "type": "list", "items": ["Apple", "Banana", "Cherry"] }
```

Each string item: 1–1000 characters. Supports inline formatting (`**bold**`, `*italic*`, `{{varName}}`, etc.).

### Object items with nesting

Use object items to create nested sub-lists:

```json theme={null}
{
  "type": "list",
  "ordered": true,
  "items": [
    "Simple item",
    {
      "text": "Item with sub-list",
      "items": ["Sub-item A", "Sub-item B"]
    },
    {
      "text": "Item with mixed nesting",
      "children": {
        "ordered": false,
        "items": ["Unordered sub-item", "Another sub-item"]
      }
    }
  ]
}
```

### Object item properties

| Property   | Type   | Required | Description                                                                     |
| ---------- | ------ | -------- | ------------------------------------------------------------------------------- |
| `text`     | string | **Yes**  | Item text content. 1–1000 chars. Supports inline formatting.                    |
| `items`    | array  | No       | Legacy nested items (inherit parent's `ordered` type). Max: 20 items.           |
| `children` | object | No       | Nested list with its own `ordered` property (supports mixed ordered/unordered). |

### Children object

The `children` property allows a nested sub-list with a different list type than the parent:

| Property  | Type    | Required | Description                                                 |
| --------- | ------- | -------- | ----------------------------------------------------------- |
| `ordered` | boolean | **Yes**  | `true` = numbered, `false` = bullet.                        |
| `items`   | array   | **Yes**  | Array of list items (same format as parent). Max: 20 items. |

<Info>
  Use `children` instead of `items` when you need the nested list to have a different type (e.g., bullet sub-list inside a numbered list). The legacy `items` format always inherits the parent's `ordered` type.
</Info>

## Inline formatting in list items

List item text supports the same [inline formatting](/api-reference/json-syntax/sections/text-elements#inline-formatting) as text elements:

```json theme={null}
{
  "type": "list",
  "items": [
    "This is **bold** and *italic* text",
    "This is ++underlined++ and ~~strikethrough~~",
    "This is ==highlighted== or ==colored=={#FFCC00}",
    "Inline code: `render()`",
    "Visit [our website](https://example.com)",
    "Variable: {{companyName}}",
    "Citation: @[smith2023, p. 42]",
    "Abbreviation: ~API~"
  ]
}
```

## Complete example

```json theme={null}
{
  "document": { "type": "pdf", "size": "A4" },
  "variables": { "projectName": "Autype" },
  "sections": [
    {
      "type": "flow",
      "content": [
        { "type": "h1", "text": "Project Plan" },
        {
          "type": "list",
          "ordered": true,
          "items": [
            {
              "text": "Phase 1: Research",
              "children": {
                "ordered": false,
                "items": ["Market analysis", "Competitor review", "User interviews"]
              }
            },
            {
              "text": "Phase 2: Development",
              "children": {
                "ordered": false,
                "items": ["Backend ~API~", "Frontend UI", "Testing"]
              }
            },
            "Phase 3: Launch {{projectName}}"
          ]
        },
        { "type": "h2", "text": "Key Features" },
        {
          "type": "list",
          "ordered": false,
          "items": [
            "**Fast** rendering engine",
            "*Multiple* output formats (PDF, DOCX, ODT)",
            "Template **variable** support"
          ]
        }
      ]
    }
  ]
}
```
