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

Basic list

{
  "type": "list",
  "ordered": false,
  "items": ["First item", "Second item", "Third item"]
}
Ordered list:
{
  "type": "list",
  "ordered": true,
  "items": ["Step one", "Step two", "Step three"]
}

Properties

PropertyTypeRequiredDefaultDescription
typestringYesMust be "list"
idstringNoUnique identifier. Auto-generated if not provided. Max: 100 chars.
orderedbooleanNofalsetrue = numbered list, false = bullet list.
itemsarrayYesArray of list items. Min: 1, max: 50 items.
spacingobjectNoSpacing 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

{ "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:
{
  "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

PropertyTypeRequiredDescription
textstringYesItem text content. 1–1000 chars. Supports inline formatting.
itemsarrayNoLegacy nested items (inherit parent’s ordered type). Max: 20 items.
childrenobjectNoNested 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:
PropertyTypeRequiredDescription
orderedbooleanYestrue = numbered, false = bullet.
itemsarrayYesArray of list items (same format as parent). Max: 20 items.
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.

Inline formatting in list items

List item text supports the same inline formatting as text elements:
{
  "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

{
  "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"
          ]
        }
      ]
    }
  ]
}