---
title: "Get the full contents (elements) of one tab, with its revision (`rev`, also the weak `ETag`): what a changeset base names."
method: GET
path: "/documents/{id}/tabs/{tabId}"
tags: ["Documents"]
---

# Get the full contents (elements) of one tab, with its revision (\`rev\`, also the weak \`ETag\`): what a changeset base names.

`GET /documents/{id}/tabs/{tabId}`

## Request

- Base URL: `https://www.livediagram.app/api`
- URL: `https://www.livediagram.app/api/documents/{id}/tabs/{tabId}`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Owner-Id`

## Path parameters

- `id` string, required
- `tabId` string, required

## Query parameters

- `view` string
- `json` string
- `budget` string
- `door` string
- `only` string
- `coarse` string
- `style` string
- `ref` string
- `q` string
- `all` string

## Response `200`

Success. With `view`: the tab as text, its first line the header with `rev`. A ref that names nothing is 404 `target_not_found`, several 400 `target_ambiguous`, each with candidates (`RefErrorBody`).

- object
  - `tab` TabRecord, required
    - `articles` object
    - `backgroundAnimationSpeed` number
    - `backgroundColor` string
    - `backgroundOpacity` number
    - `backgroundPattern` 'grid' | 'blank' | 'lines' | 'crosshatch' | 'graph' | 'confetti' | 'stripes' | 'diagonal' | 'waves' | 'bricks' | 'isometric' | 'hexagonal' | 'engineering' | 'checkerboard' | 'sparkles' | 'eggs' | 'cobwebs' | 'snowflakes' | 'candy-stripes' | 'flow' | 'drift' | 'aurora' | 'ripple' | 'ribbons'
    - `backgroundPatternScale` number
    - `customColours` string[]
    - `dashboard` DashboardLayout
      - `background` 'tint'
      - `rows` DashboardRow[], required
        - `fill` true
        - `height` number, required
        - `id` string, required
        - `slots` DashboardSlot[], required
          - `content` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
            - DashboardCardContent (unresolved $ref)
          - `id` string, required
          - `span` number, required
    - `defaultTextSize` union
      - 'scale' | 'sm' | 'md' | 'lg'
      - number
    - `documentId` string, required
    - `elements` Element[], required
      - union
        - union
          - ShapeElement
            - `accentEdge` 'left' | 'top' | 'bottom'
            - `accentEdgeColor` string
            - `action` ElementAction
              - …
            - `actions` ElementAction[]
              - …
            - `agendaCurrent` number
            - `agendaItems` AgendaItem[]
              - …
            - `agendaTimerStartedAt` number
            - `animation` union
              - …
            - `animationRepeat` boolean
            - `animationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `aspectLocked` boolean
            - `attachAt` 'top-left' | 'top' | 'top-right' | 'right' | 'bottom-right' | 'bottom' | 'bottom-left' | 'left'
            - `attachedTo` string
            - `borderRadius` 'none' | 'sm' | 'md' | 'lg' | 'full'
            - `boundaryStyle` 'tab' | 'inset' | 'c4'
            - `cardHeader` boolean
            - `cardMedia` 'badge' | 'tile' | 'initial'
            - `cellComments` CellCommentThreads
            - `chairFacing` 'n' | 'e' | 's' | 'w'
            - `chartAxis` boolean
            - `chartLegend` boolean
            - `chartLegendPosition` 'top' | 'right' | 'bottom' | 'left'
            - `chartPalette` 'vivid' | 'ocean' | 'forest' | 'sunset' | 'berry' | 'earth' | 'grey' | 'contrast'
            - `chartSource` ChartSource
              - …
            - `chartValues` boolean
            - `chartVariant` 'horizontal' | 'area' | 'scatter' | 'doughnut'
            - `checklistItems` ChecklistItem[]
              - …
            - `chipLook` 'solid' | 'ink' | 'outline' | 'tinted' | 'quiet'
            - `code` string
            - `codeLanguage` 'plain' | 'ts' | 'js' | 'python' | 'json' | 'bash' | 'sql' | 'html' | 'css' | 'yaml'
            - `codeTheme` 'midnight' | 'graphite' | 'ocean' | 'forest' | 'plum' | 'contrast' | 'paper' | 'parchment'
            - `codeWrap` boolean
            - `collabRound` string
            - `colorPreset` string
            - `commentThread` CommentThread
              - …
            - `conceptAnim` 'build' | 'pulse' | 'flow'
            - `conceptAnimRepeat` boolean
            - `conceptAnimSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `conceptRows` ConceptRow[]
              - …
            - `decisionDate` string
            - `decisionDrivers` string[]
            - `decisionStatus` 'proposed' | 'accepted' | 'rejected' | 'superseded'
            - `entityFields` EntityField[]
              - …
            - `estimateScale` 'fibonacci' | 'tshirt' | 'powers'
            - `fillColor` string
            - `fillSwatch` 1 | 2 | 3 | 4 | 5 | 6
            - `finish` 'flexible' | 'professional' | 'sketch' | 'marker'
            - `fixedSize` boolean
            - `flowDirection` 'down' | 'right'
            - `flowLaneId` string
            - `flowchartId` string
            - `font` string
            - `headerFill` string
            - `headerSize` number
            - `height` number, required
            - `hubSpokes` boolean
            - `iconAnimation` 'spin' | 'beat' | 'pulse' | 'glow' | 'ping' | 'breathe' | 'shimmer' | 'bounce' | 'wiggle' | 'flash' | 'tada' | 'flip' | 'jump' | 'swing' | 'float'
            - `iconAnimationRepeat` boolean
            - `iconAnimationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `iconId` string
            - `iconPosition` 'left' | 'right' | 'above' | 'below'
            - `iconSize` 'sm' | 'md' | 'lg' | 'xl'
            - `iconWeight` 'thin' | 'regular' | 'bold'
            - `id` string, required
            - `ideaCardIds` string[]
            - `ideaCards` string[]
            - `ideasRevealed` boolean
            - `keyMeanings` object
            - `keyRows` KeyRow[]
              - …
            - `label` string
            - `layerId` string
            - `legendItems` LegendItem[]
              - …
            - `lineCategories` string[]
            - `lineSeries` LineSeries[]
              - …
            - `link` union
              - …
            - `locked` boolean
            - `marker` 'green-circle' | 'orange-circle' | 'red-circle' | 'checkbox-unchecked' | 'checkbox-checked'
            - `markerSize` 'scale' | 'sm' | 'md' | 'lg'
            - `mindFlow` 'tree' | 'leftward' | 'balanced' | 'downward' | 'upward' | 'bubble'
            - `mindLook` 'person'
            - `mindParentId` string
            - `mindSpacing` 'tight' | 'compact' | 'comfortable' | 'wide': How far apart a map's nodes sit (docs/specs/009-elements/mind-node.md "Spacing").
            - `mode` 'select' | 'pan' | 'laser' | 'spotlight' | 'avatar' | 'eraser' | 'format' | 'isometric'
            - `navLinks` string[]
            - `note` string
            - `noteRich` TextRun[]
              - …
            - `opacity` number
            - `padding` 'none' | 'sm' | 'md' | 'lg'
            - `pageSubtitle` string
            - `pageTitle` string
            - `penColour` union
              - …
            - `penTextColour` union
              - …
            - `pickerOptions` string[]
            - `pickerResult` string
            - `pickerSource` 'participants' | 'options'
            - `pieAnim` 'grow' | 'pop' | 'spin' | 'pulse'
            - `pieAnimRepeat` boolean
            - `pieAnimSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `pieSlices` PieSlice[]
              - …
            - `planBoard` PlanBoardSetup
              - …
            - `planCard` PlanCardRef
              - …
            - `planSheet` PlanSheetRef
              - …
            - `planView` PlanViewRef
              - …
            - `pointerTip` object
              - …
            - `portalTarget` string
            - `processSteps` string[]
            - `progress` number
            - `progressAnim` 'fill' | 'pulse' | 'stripes'
            - `progressAnimRepeat` boolean
            - `progressAnimSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `pyramidVariant` 'pyramid' | 'inverted' | 'funnel'
            - `qaNotes` QaNote[]
              - …
            - `qaRev` number
            - `quizCorrect` number
            - `quizLockedAt` number
            - `quizOptions` string[]
            - `quizRevealed` boolean
            - `quizSeconds` number
            - `quizStartedAt` number
            - `railCount` number
            - `railLabels` string[]
            - `rating` number
            - `ratingAnim` 'pop' | 'twinkle' | 'pulse' | 'rock'
            - `ratingAnimRepeat` boolean
            - `ratingAnimSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `reaction` 'confetti' | 'sparkles' | 'hearts' | 'applause' | 'fireworks'
            - `responses` ParticipantResponse[]
              - …
            - `responsesRevealed` boolean
            - `revealed` boolean
            - `richText` TextRun[]
              - …
            - `rollCall` RollCallEntry[]
              - …
            - `roomDoor` 'n' | 'e' | 's' | 'w' | 'none'
            - `rotation` number
            - `sankeyAlign` 'justify' | 'left': Where the end nodes sit: every end node in the last column, or each node at its own step from the start.
            - `sankeyAnim` 'grow' | 'flow' | 'cascade' | 'pulse' | 'rise': Grow sweeps the diagram in from the left; Flow runs a current along every band; Cascade brings the columns in one after another; Pulse sends a slow wave of light across the bands; Rise grows each column's nodes, then fades their bands in. Flow and Pulse loop; the rest play once.
            - `sankeyAnimRepeat` boolean
            - `sankeyAnimSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `sankeyFlows` SankeyFlow[]
              - …
            - `sankeyLeftover` 'show' | 'hide': Whether a node that sends on less than it receives draws the difference as a band to a Leftover node.
            - `sankeyLeftoverName` string
            - `sankeyLinkColor` 'source' | 'target' | 'gradient' | 'neutral': How a flow's band is coloured: its source node, its target node, a blend of both, or one quiet grey.
            - `sankeyNodes` SankeyNodeStyle[]
              - …
            - `sankeyUnit` string
            - `sankeyValueLabel` 'value' | 'percent' | 'none': What a node's label says under its name.
            - `sequenceAnim` 'play'
            - `sequenceAnimRepeat` boolean
            - `sequenceAnimSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `sequenceMessages` SequenceElementMessage[]
              - …
            - `sequenceNumbered` boolean
            - `sequenceParticipants` SequenceElementParticipant[]
              - …
            - `session` SessionButtonConfig
              - …
            - `shadow` ElementShadow
              - …
            - `shape` 'square' | 'circle' | 'diamond' | 'cylinder' | 'parallelogram' | 'hexagon' | 'document' | 'page' | 'mind-node' | 'lane' | 'entity' | 'banner' | 'callout' | 'card' | 'badge' | 'step' | 'pointer-note' | 'diagram-key' | 'stack' | 'sequence' | 'boundary' | 'layer-stack' | 'pyramid' | 'cycle' | 'hub' | 'onion' | 'chevrons' | 'stat-row' | 'process' | 'site-header' | 'mode-button' | 'portal' | 'tab-window' | 'session-button' | 'reveal' | 'picker' | 'reaction-pad' | 'comment-pin' | 'action-card' | 'done-check' | 'chair' | 'fence' | 'avatar-pad' | 'desk' | 'sofa' | 'room' | 'meeting-table' | 'plant' | 'bookshelf' | 'water-cooler' | 'coffee-machine' | 'rug' | 'estimate' | 'temperature' | 'idea-box' | 'qa-board' | 'agenda' | 'decision' | 'roll-call' | 'quiz' | 'stadium' | 'actor' | 'final-state' | 'cloud' | 'triangle' | 'trapezoid' | 'star' | 'speech-bubble' | 'frame' | 'browser' | 'monitor' | 'laptop' | 'phone' | 'tablet' | 'foldable' | 'smartwatch' | 'progress-bar' | 'progress-ring' | 'timeline-rail' | 'rating' | 'pie-chart' | 'bar-chart' | 'line-chart' | 'code-block' | 'checklist' | 'legend' | 'sankey' | 'focus-button' | 'icon' | 'sticker' | 'plan-board' | 'plan-card' | 'plan-view' | 'plan-sheet', required
            - `sheetAnchor` SheetAnchor
              - …
            - `stackAlign` 'start' | 'center' | 'end'
            - `stackColumns` number
            - `stackDirection` 'row' | 'column' | 'grid'
            - `stackGap` number
            - `stackPadding` number
            - `stats` StatItem[]
              - …
            - `stepSequence` boolean
            - `stickerId` string
            - `strokeColor` string
            - `strokeStyle` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot'
            - `strokeSwatch` 1 | 2 | 3 | 4 | 5 | 6
            - `strokeWidth` 'none' | 'thin' | 'medium' | 'thick' | 'extra-thick'
            - `tags` string[]
            - `textAlignX` 'left' | 'center' | 'right'
            - `textAlignY` 'top' | 'middle' | 'bottom'
            - `textAnimation` 'typewriter' | 'words' | 'cascade' | 'focus' | 'scramble' | 'highlighter' | 'underline' | 'wave' | 'shine' | 'flicker' | 'rainbow' | 'glow' | 'bounce' | 'float'
            - `textAnimationRepeat` boolean
            - `textAnimationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `textBold` boolean
            - `textColor` string
            - `textItalic` boolean
            - `textSize` union
              - …
            - `textStrikethrough` boolean
            - `textUnderline` boolean
            - `themeLockFill` boolean
            - `titleOrientation` 'upright'
            - `type` 'shape', required
            - `width` number, required
            - `windowTabId` string
            - `x` number, required
            - `y` number, required
          - TextElement
            - `action` ElementAction
              - …
            - `addedBy` string
            - `animation` union
              - …
            - `animationRepeat` boolean
            - `animationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `aspectLocked` boolean
            - `commentThread` CommentThread
              - …
            - `fillColor` string
            - `finish` 'flexible' | 'professional' | 'sketch' | 'marker'
            - `font` string
            - `fontWeight` 400 | 500 | 700
            - `headerFill` string
            - `height` number, required
            - `id` string, required
            - `label` string
            - `layerId` string
            - `letterSpacing` number
            - `link` union
              - …
            - `locked` boolean
            - `note` string
            - `noteRich` TextRun[]
              - …
            - `opacity` number
            - `padding` 'none' | 'sm' | 'md' | 'lg'
            - `penTextColour` union
              - …
            - `richText` TextRun[]
              - …
            - `rotation` number
            - `sizing` 'fit' | 'wrap'
            - `strokeColor` string
            - `textAlignX` 'left' | 'center' | 'right'
            - `textAlignY` 'top' | 'middle' | 'bottom'
            - `textAnimation` 'typewriter' | 'words' | 'cascade' | 'focus' | 'scramble' | 'highlighter' | 'underline' | 'wave' | 'shine' | 'flicker' | 'rainbow' | 'glow' | 'bounce' | 'float'
            - `textAnimationRepeat` boolean
            - `textAnimationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `textArc` number
            - `textBold` boolean
            - `textCase` 'upper' | 'lower'
            - `textColor` string
            - `textItalic` boolean
            - `textScale` number
            - `textSize` union
              - …
            - `textStrikethrough` boolean
            - `textSwatch` 1 | 2 | 3 | 4 | 5 | 6
            - `textUnderline` boolean
            - `type` 'text', required
            - `width` number, required
            - `x` number, required
            - `y` number, required
          - StickyElement
            - `action` ElementAction
              - …
            - `addedBy` string
            - `animation` union
              - …
            - `animationRepeat` boolean
            - `animationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `aspectLocked` boolean
            - `commentThread` CommentThread
              - …
            - `esDraft` true
            - `esKind` 'domain-event' | 'command' | 'actor' | 'policy' | 'read-model' | 'external-system' | 'aggregate' | 'hotspot'
            - `fillColor` string
            - `finish` 'flexible' | 'professional' | 'sketch' | 'marker'
            - `fixedSize` boolean
            - `font` string
            - `headerFill` string
            - `height` number, required
            - `id` string, required
            - `label` string
            - `layerId` string
            - `link` union
              - …
            - `locked` boolean
            - `note` string
            - `noteRich` TextRun[]
              - …
            - `opacity` number
            - `padding` 'none' | 'sm' | 'md' | 'lg'
            - `penTextColour` union
              - …
            - `richText` TextRun[]
              - …
            - `rotation` number
            - `shadow` ElementShadow
              - …
            - `strokeColor` string
            - `textAlignX` 'left' | 'center' | 'right'
            - `textAlignY` 'top' | 'middle' | 'bottom'
            - `textAnimation` 'typewriter' | 'words' | 'cascade' | 'focus' | 'scramble' | 'highlighter' | 'underline' | 'wave' | 'shine' | 'flicker' | 'rainbow' | 'glow' | 'bounce' | 'float'
            - `textAnimationRepeat` boolean
            - `textAnimationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `textBold` boolean
            - `textColor` string
            - `textItalic` boolean
            - `textSize` union
              - …
            - `textStrikethrough` boolean
            - `textUnderline` boolean
            - `type` 'sticky', required
            - `width` number, required
            - `x` number, required
            - `y` number, required
          - ImageElement
            - `action` ElementAction
              - …
            - `alt` string
            - `animation` union
              - …
            - `animationRepeat` boolean
            - `animationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `aspectLocked` boolean
            - `borderRadius` 'none' | 'sm' | 'md' | 'lg' | 'full'
            - `commentThread` CommentThread
              - …
            - `credit` ImageCredit
              - …
            - `fillColor` string
            - `font` string
            - `height` number, required
            - `heroCaption` HeroCaption
              - …
            - `id` string, required
            - `imageId` string, nullable, required
            - `label` string
            - `layerId` string
            - `link` union
              - …
            - `locked` boolean
            - `naturalHeight` number
            - `naturalWidth` number
            - `note` string
            - `noteRich` TextRun[]
              - …
            - `objectFit` 'cover' | 'contain'
            - `opacity` number
            - `padding` 'none' | 'sm' | 'md' | 'lg'
            - `rotation` number
            - `shadow` ElementShadow
              - …
            - `strokeColor` string
            - `strokeStyle` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot'
            - `strokeWidth` 'none' | 'thin' | 'medium' | 'thick' | 'extra-thick'
            - `textAlignX` 'left' | 'center' | 'right'
            - `textAlignY` 'top' | 'middle' | 'bottom'
            - `textBold` boolean
            - `textColor` string
            - `textItalic` boolean
            - `textSize` union
              - …
            - `textStrikethrough` boolean
            - `textUnderline` boolean
            - `type` 'image', required
            - `width` number, required
            - `x` number, required
            - `y` number, required
          - FreehandElement
            - `action` ElementAction
              - …
            - `animation` union
              - …
            - `animationRepeat` boolean
            - `animationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `aspectLocked` boolean
            - `borderRadius` 'none' | 'sm' | 'md' | 'lg' | 'full'
            - `closed` boolean, required
            - `commentThread` CommentThread
              - …
            - `fillColor` string
            - `font` string
            - `height` number, required
            - `id` string, required
            - `label` string
            - `layerId` string
            - `link` union
              - …
            - `locked` boolean
            - `note` string
            - `noteRich` TextRun[]
              - …
            - `opacity` number
            - `packedPoints` string, byte, required: The stroke's points, normalised into its box, and a pen's pressure at each when it reported one, packed into one block: base64 of a version byte, a flags byte and a little-endian record per point (x u16, y u16, optional pressure u8). See docs/specs/006-document/stroke-points.md.
            - `padding` 'none' | 'sm' | 'md' | 'lg'
            - `pen` 'highlighter'
            - `penColour` union
              - …
            - `penWidth` number
            - `rotation` number
            - `straightEdges` boolean
            - `streamline` number
            - `strokeColor` string
            - `strokeStyle` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot'
            - `strokeWidth` 'none' | 'thin' | 'medium' | 'thick' | 'extra-thick'
            - `textAlignX` 'left' | 'center' | 'right'
            - `textAlignY` 'top' | 'middle' | 'bottom'
            - `textBold` boolean
            - `textColor` string
            - `textItalic` boolean
            - `textSize` union
              - …
            - `textStrikethrough` boolean
            - `textUnderline` boolean
            - `themeLockFill` boolean
            - `type` 'freehand', required
            - `width` number, required
            - `x` number, required
            - `y` number, required
          - PathElement
            - `action` ElementAction
              - …
            - `animation` union
              - …
            - `animationRepeat` boolean
            - `animationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `aspectLocked` boolean
            - `borderRadius` 'none' | 'sm' | 'md' | 'lg' | 'full'
            - `closed` boolean, required
            - `commentThread` CommentThread
              - …
            - `fillColor` string
            - `fillSwatch` 1 | 2 | 3 | 4 | 5 | 6
            - `font` string
            - `height` number, required
            - `id` string, required
            - `label` string
            - `layerId` string
            - `link` union
              - …
            - `locked` boolean
            - `nodes` PathNode[], required
              - …
            - `note` string
            - `noteRich` TextRun[]
              - …
            - `opacity` number
            - `padding` 'none' | 'sm' | 'md' | 'lg'
            - `penColour` union
              - …
            - `rotation` number
            - `strokeColor` string
            - `strokeStyle` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot'
            - `strokeSwatch` 1 | 2 | 3 | 4 | 5 | 6
            - `strokeWidth` 'none' | 'thin' | 'medium' | 'thick' | 'extra-thick'
            - `subpaths` array[]
              - …
            - `textAlignX` 'left' | 'center' | 'right'
            - `textAlignY` 'top' | 'middle' | 'bottom'
            - `textBold` boolean
            - `textColor` string
            - `textItalic` boolean
            - `textSize` union
              - …
            - `textStrikethrough` boolean
            - `textUnderline` boolean
            - `type` 'path', required
            - `width` number, required
            - `x` number, required
            - `y` number, required
          - TableElement
            - `action` ElementAction
              - …
            - `animation` union
              - …
            - `animationRepeat` boolean
            - `animationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `aspectLocked` boolean
            - `cellStyles` array[]
              - …
            - `cells` array[], required
              - …
            - `colWidths` number[]
            - `commentThread` CommentThread
              - …
            - `fillColor` string
            - `finish` 'flexible' | 'professional' | 'sketch' | 'marker'
            - `font` string
            - `headerColumn` boolean
            - `headerFill` string
            - `headerRow` boolean
            - `headerTextColor` string
            - `height` number, required
            - `id` string, required
            - `label` string
            - `layerId` string
            - `link` union
              - …
            - `locked` boolean
            - `note` string
            - `noteRich` TextRun[]
              - …
            - `opacity` number
            - `padding` 'none' | 'sm' | 'md' | 'lg'
            - `rotation` number
            - `rowHeights` number[]
            - `strokeColor` string
            - `strokeStyle` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot'
            - `strokeWidth` 'none' | 'thin' | 'medium' | 'thick' | 'extra-thick'
            - `tablePreset` string
            - `textAlignX` 'left' | 'center' | 'right'
            - `textAlignY` 'top' | 'middle' | 'bottom'
            - `textAnimation` 'typewriter' | 'words' | 'cascade' | 'focus' | 'scramble' | 'highlighter' | 'underline' | 'wave' | 'shine' | 'flicker' | 'rainbow' | 'glow' | 'bounce' | 'float'
            - `textAnimationRepeat` boolean
            - `textAnimationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `textBold` boolean
            - `textColor` string
            - `textItalic` boolean
            - `textSize` union
              - …
            - `textStrikethrough` boolean
            - `textUnderline` boolean
            - `type` 'table', required
            - `width` number, required
            - `x` number, required
            - `y` number, required
            - `zebra` boolean
          - AnnotationElement
            - `action` ElementAction
              - …
            - `animation` union
              - …
            - `animationRepeat` boolean
            - `animationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `articleNote` 'comment' | 'action'
            - `aspectLocked` boolean
            - `commentThread` CommentThread
              - …
            - `fillColor` string
            - `font` string
            - `headerFill` string
            - `height` number, required
            - `id` string, required
            - `label` string
            - `layerId` string
            - `link` union
              - …
            - `locked` boolean
            - `note` string
            - `noteRich` TextRun[]
              - …
            - `opacity` number
            - `padding` 'none' | 'sm' | 'md' | 'lg'
            - `rotation` number
            - `strokeColor` string
            - `textAlignX` 'left' | 'center' | 'right'
            - `textAlignY` 'top' | 'middle' | 'bottom'
            - `textBold` boolean
            - `textColor` string
            - `textItalic` boolean
            - `textSize` union
              - …
            - `textStrikethrough` boolean
            - `textUnderline` boolean
            - `type` 'annotation', required
            - `width` number, required
            - `x` number, required
            - `y` number, required
          - LinkCardElement
            - `action` ElementAction
              - …
            - `animation` union
              - …
            - `animationRepeat` boolean
            - `animationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `aspectLocked` boolean
            - `commentThread` CommentThread
              - …
            - `fillColor` string
            - `font` string
            - `headerFill` string
            - `height` number, required
            - `id` string, required
            - `label` string
            - `layerId` string
            - `link` union
              - …
            - `locked` boolean
            - `meta` LinkCardMeta
              - …
            - `note` string
            - `noteRich` TextRun[]
              - …
            - `opacity` number
            - `padding` 'none' | 'sm' | 'md' | 'lg'
            - `rotation` number
            - `shadow` ElementShadow
              - …
            - `strokeColor` string
            - `textAlignX` 'left' | 'center' | 'right'
            - `textAlignY` 'top' | 'middle' | 'bottom'
            - `textBold` boolean
            - `textColor` string
            - `textItalic` boolean
            - `textSize` union
              - …
            - `textStrikethrough` boolean
            - `textUnderline` boolean
            - `type` 'link-card', required
            - `width` number, required
            - `x` number, required
            - `y` number, required
          - VideoElement
            - `action` ElementAction
              - …
            - `animation` union
              - …
            - `animationRepeat` boolean
            - `animationSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
            - `aspectLocked` boolean
            - `commentThread` CommentThread
              - …
            - `embedProvider` 'youtube' | 'vimeo' | 'loom' | 'figma' | 'gdocs' | 'website'
            - `fillColor` string
            - `font` string
            - `headerFill` string
            - `height` number, required
            - `id` string, required
            - `label` string
            - `layerId` string
            - `link` union
              - …
            - `locked` boolean
            - `note` string
            - `noteRich` TextRun[]
              - …
            - `opacity` number
            - `padding` 'none' | 'sm' | 'md' | 'lg'
            - `rotation` number
            - `shadow` ElementShadow
              - …
            - `strokeColor` string
            - `textAlignX` 'left' | 'center' | 'right'
            - `textAlignY` 'top' | 'middle' | 'bottom'
            - `textBold` boolean
            - `textColor` string
            - `textItalic` boolean
            - `textSize` union
              - …
            - `textStrikethrough` boolean
            - `textUnderline` boolean
            - `type` 'video', required
            - `width` number, required
            - `x` number, required
            - `y` number, required
        - ArrowElement
          - `arrowEnds` 'from' | 'to' | 'both' | 'none'
          - `arrowStyle` 'straight' | 'curved' | 'angled'
          - `arrowheadColor` string
          - `arrowheadShape` 'triangle' | 'triangle-hollow' | 'line' | 'circle' | 'circle-hollow' | 'diamond' | 'diamond-hollow' | 'one' | 'zero-or-one' | 'many' | 'zero-or-many' | 'one-or-many'
          - `arrowheadSize` 'small' | 'medium' | 'large' | 'extra-large'
          - `arrowheadStartShape` 'triangle' | 'triangle-hollow' | 'line' | 'circle' | 'circle-hollow' | 'diamond' | 'diamond-hollow' | 'one' | 'zero-or-one' | 'many' | 'zero-or-many' | 'one-or-many'
          - `curveOffset` object
            - `dx` number, required
            - `dy` number, required
          - `curvePoints` object[]
            - `dx` number, required
            - `dy` number, required
          - `elbowOffset` object
            - `dx` number, required
            - `dy` number, required
          - `exactEnd` boolean
          - `exactStart` boolean
          - `finish` 'flexible' | 'professional' | 'sketch' | 'marker'
          - `flow` 'dashes' | 'dots' | 'beads' | 'pulse' | 'grow' | 'glow' | 'heartbeat' | 'breathe' | 'shimmer' | 'signal' | 'draw' | 'comet' | 'rainbow' | 'strobe' | 'wind'
          - `flowRepeat` boolean
          - `flowSpeed` 'slowest' | 'slow' | 'normal' | 'fast'
          - `font` string
          - `from` union, required
            - object
              - …
            - object
              - …
            - object
              - …
          - `id` string, required
          - `label` string
          - `labelFill` string
          - `labelMaxWidth` number
          - `labelOffset` object
            - `offset` number, required
            - `t` number, required
          - `layerId` string
          - `link` union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
          - `locked` boolean
          - `opacity` number
          - `penColour` union
            - 'ink'
            - 'grey'
            - 'blue' | 'red' | 'orange' | 'yellow' | 'green' | 'teal' | 'violet' | 'pink': The eight hued stock colours, each tuned per board.
          - `penTextColour` union
            - 'ink'
            - 'grey'
            - 'blue' | 'red' | 'orange' | 'yellow' | 'green' | 'teal' | 'violet' | 'pink': The eight hued stock colours, each tuned per board.
          - `routeBehind` boolean
          - `strokeColor` string
          - `strokeStyle` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot'
          - `strokeSwatch` 1 | 2 | 3 | 4 | 5 | 6
          - `strokeWidth` number
          - `textBold` boolean
          - `textColor` string
          - `textItalic` boolean
          - `textSize` union
            - 'scale' | 'sm' | 'md' | 'lg'
            - number
          - `textStrikethrough` boolean
          - `textUnderline` boolean
          - `to` union, required
            - object
              - …
            - object
              - …
            - object
              - …
          - `type` 'arrow', required
    - `esLanesSettled` boolean
    - `finish` 'flexible' | 'professional' | 'sketch' | 'marker'
    - `folder` string
    - `font` string
    - `form` FormDefinition
      - `closedMessage` string
      - `closesAt` number
      - `confirmation` string
      - `cover` FormCover
        - `fill` union
          - object
            - `color` string, required
            - `kind` 'solid', required
          - object
            - `angle` number, required
            - `from` string, required
            - `kind` 'gradient', required
            - `motion` 'flow' | 'drift' | 'aurora' | 'ripple' | 'ribbons' | 'mesh' | 'starfield' | 'retro-grid' | 'bokeh' | 'waves' | 'spotlight' | 'beams' | 'sunburst' | 'fireflies' | 'snowfall' | 'lava' | 'dot-wave' | 'clouds' | 'warp' | 'orbits' | 'radar' | 'equaliser' | 'confetti' | 'threads'
            - `speed` number
            - `to` string, required
        - `pattern` 'dots' | 'grid' | 'lines'
      - `description` string
      - `destination` FormDestination
        - `status` string, required
        - `tabId` string, required
        - `typeId` string, required
      - `heading` string, required
      - `limit` number
      - `sections` FormSection[], required
        - `description` string
        - `id` string, required
        - `questions` FormQuestion[], required
          - `dropdown` true
          - `goesTo` union
            - object
              - …
            - object
              - …
            - object
              - …
          - `help` string
          - `highLabel` string
          - `id` string, required
          - `lowLabel` string
          - `max` number
          - `min` number
          - `options` string[]
          - `other` true
          - `placeholder` string
          - `prompt` string, required
          - `required` true
          - `scale` number
          - `style` 'stars' | 'numbers'
          - `type` 'short' | 'paragraph' | 'number' | 'email' | 'link' | 'date' | 'single' | 'multi' | 'rating' | 'checkbox', required
          - `whole` true
        - `showIf` SectionRule
          - `anyOf` string[], required
          - `questionId` string, required
        - `title` string, required
      - `sheet` FormSheetDestination
        - `sheetId` string, required
        - `tabId` string, required
      - `starter` 'blank' | 'bug-report' | 'feedback' | 'feature-request' | 'rsvp' | 'job-application' | 'contact'
      - `v` 1, required
    - `id` string, required
    - `kind` 'diagram' | 'event-storming' | 'board' | 'sheet' | 'dashboard' | 'form'
    - `layers` Layer[]
      - `id` string, required
      - `locked` boolean
      - `name` string, required
      - `opacity` number
      - `visible` boolean
    - `locked` boolean
    - `name` string, required
    - `opensIn` 'diagram' | 'draw' | 'workshop' | 'pages' | 'plan'
    - `orderIndex` number, required
    - `pageOrientation` 'portrait' | 'landscape'
    - `pages` Page[]
      - `background` PageBackground
        - `fill` union
          - union
            - object
              - …
            - object
              - …
          - PageImageFill
            - `credit` ImageCredit
              - …
            - `imageId` string, required
            - `kind` 'image', required
            - `overlay` PageImageOverlay
              - …
            - `position` 'top' | 'bottom'
            - `preview` string
            - `tone` string
        - `pattern` 'dots' | 'grid' | 'lines'
      - `fit` PageSides
        - `height` number, required
        - `width` number, required
      - `flow` string
      - `id` string, required
      - `kind` 'infographic' | 'article' | 'slide' | 'logo'
      - `locked` true
      - `name` string
      - `orientation` 'portrait' | 'landscape', required
      - `rowAt` RowAt
        - `x` number, required
        - `y` number, required
      - `size` 'a4' | 'letter' | 'a3' | 'square' | 'social' | 'wide' | 'slide' | 'slide-classic' | 'logo' | 'fit'
      - `startedBlank` true
    - `patternColor` string
    - `rev` number, required
    - `tagColours` TagColour[]
      - `color` string, required
      - `tag` string, required
    - `templateChosen` boolean
    - `theme` string
    - `timer` TabTimer
      - `anchorAt` number
      - `durationMs` number
      - `frozenMs` number
      - `mode` 'countdown' | 'stopwatch', required
      - `running` boolean, required
      - `startedAt` number
    - `updatedAt` number, required
    - `vote` TabVote
      - `active` boolean, required
      - `hideCounts` boolean
      - `hideCursors` boolean
      - `onePerElement` boolean
      - `revealed` boolean, required
      - `reviewIndex` number
      - `round` string
      - `startedBy` string
      - `voteLayerId` string
      - `votes` object, required
      - `votesPerPerson` number, required

## Other responses

- `400`: Error.
- `401`: Error.
- `403`: Error.
- `404`: Error.
- `410`: Error.
- `429`: Rate limited. Back off and retry.

---

[API](https://skmtc.dev/livediagram/apis/livediagram-api.md) · [All operations](https://skmtc.dev/livediagram/apis/livediagram-api/llms.txt) · [OpenAPI document](https://skmtc.dev/livediagram/apis/livediagram-api/revisions/f286d27acfd2?raw)
