OPF
SpecDefinition referenceView source

Bullet Item

A flat bullet item. Strings cover the common case, TextRun[] supports inline rich text without an object wrapper, and object form adds nesting depth without list-item descriptions.

Metadata

Definition
#/$defs/BulletItem
Form
3 alternative forms (oneOf)
Source
spec/schemas/opf.schema.json

Field index

This definition uses the forms or value constraints below.

oneOf 1 · string

Exact constraints for oneOf 1
oneOf 1 schema
{
  "type": "string"
}

oneOf 2 · array<ref:TextRun>

Exact constraints for oneOf 2
oneOf 2 schema
{
  "type": "array",
  "items": {
    "$ref": "#/$defs/TextRun"
  }
}

oneOf 3 · object

FieldTypeReq.DefaultDescription
textstring | array<ref:TextRun>yes—Text for the bullet. Use a string for plain text or TextRun[] for inline rich text. TextRun items may be plain strings or formatted run objects.
levelinteger——Zero-based nesting level for the bullet.
startinteger——Restart the list's numbering at this number for this bullet (counted at its level); the entries after it continue from it. Only meaningful when the payload has numbering. Paginated continuation pages use it to keep the numbers of the whole list.

text

typestring | array<ref:TextRun>requiredyesdefault—

Text for the bullet. Use a string for plain text or TextRun[] for inline rich text. TextRun items may be plain strings or formatted run objects.

text.json
{
  "text": "Improve retention by 12 points"
}

level

typeintegerrequirednodefault—

Zero-based nesting level for the bullet.

start

typeintegerrequirednodefault—

Restart the list's numbering at this number for this bullet (counted at its level); the entries after it continue from it. Only meaningful when the payload has numbering. Paginated continuation pages use it to keep the numbers of the whole list.

Exact constraints for oneOf 3
oneOf 3 schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "properties": {
    "text": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TextRun"
          }
        }
      ],
      "description": "Text for the bullet. Use a string for plain text or TextRun[] for inline rich text. TextRun items may be plain strings or formatted run objects.",
      "examples": [
        "Improve retention by 12 points",
        [
          "Improve retention by ",
          {
            "text": "12 points",
            "bold": true
          }
        ]
      ]
    },
    "level": {
      "type": "integer",
      "minimum": 0,
      "description": "Zero-based nesting level for the bullet."
    },
    "start": {
      "type": "integer",
      "minimum": 1,
      "maximum": 32767,
      "description": "Restart the list's numbering at this number for this bullet (counted at its level); the entries after it continue from it. Only meaningful when the payload has `numbering`. Paginated continuation pages use it to keep the numbers of the whole list."
    }
  }
}
Complete definition constraints
Schema constraints
{
  "description": "A flat bullet item. Strings cover the common case, TextRun[] supports inline rich text without an object wrapper, and object form adds nesting depth without list-item descriptions.",
  "oneOf": [
    {
      "type": "string"
    },
    {
      "type": "array",
      "items": {
        "$ref": "#/$defs/TextRun"
      }
    },
    {
      "type": "object",
      "required": [
        "text"
      ],
      "additionalProperties": false,
      "properties": {
        "text": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/TextRun"
              }
            }
          ],
          "description": "Text for the bullet. Use a string for plain text or TextRun[] for inline rich text. TextRun items may be plain strings or formatted run objects.",
          "examples": [
            "Improve retention by 12 points",
            [
              "Improve retention by ",
              {
                "text": "12 points",
                "bold": true
              }
            ]
          ]
        },
        "level": {
          "type": "integer",
          "minimum": 0,
          "description": "Zero-based nesting level for the bullet."
        },
        "start": {
          "type": "integer",
          "minimum": 1,
          "maximum": 32767,
          "description": "Restart the list's numbering at this number for this bullet (counted at its level); the entries after it continue from it. Only meaningful when the payload has `numbering`. Paginated continuation pages use it to keep the numbers of the whole list."
        }
      }
    }
  ]
}