---
title: "Make a sheet on a tab: blank, filled (a layout and up to 5,000 cells), or a copy of another of the document's sheets (copyOf). Titles are unique on a tab. Needs edit access."
method: POST
path: "/documents/{id}/sheets"
tags: ["Sheets"]
---

# Make a sheet on a tab: blank, filled (a layout and up to 5,000 cells), or a copy of another of the document's sheets (copyOf). Titles are unique on a tab. Needs edit access.

`POST /documents/{id}/sheets`

## Request

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

## Path parameters

- `id` string, required

## Query parameters

- `tabId` string

## Request body

- SheetCreateRequest
  - `cells` SheetCellDto[]
    - `c` string, required
    - `f` CellFormat
      - `b` true
      - `bb` Border
        - `c` string, required
        - `s` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot', required
        - `w` 1 | 2 | 3, required
      - `bg` string
      - `bl` Border
        - `c` string, required
        - `s` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot', required
        - `w` 1 | 2 | 3, required
      - `br` Border
        - `c` string, required
        - `s` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot', required
        - `w` 1 | 2 | 3, required
      - `bt` Border
        - `c` string, required
        - `s` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot', required
        - `w` 1 | 2 | 3, required
      - `cur` string
      - `dp` number
      - `fc` string
      - `ff` string
      - `fs` number
      - `ha` 'l' | 'c' | 'r'
      - `i` true
      - `nc` string
      - `nf` 'auto' | 'number' | 'percent' | 'currency' | 'accounting' | 'scientific' | 'date' | 'time' | 'datetime' | 'duration' | 'text' | 'custom'
      - `st` true
      - `u` true
      - `va` 't' | 'm' | 'b'
      - `wr` 'o' | 'w' | 'c'
    - `i` union
      - object
        - `n` number, required
      - object
        - `s` string, required
      - object
        - `b` boolean, required
      - object
        - `f` StoredFormula, required
          - `r` StoredRef[], required
            - `a` number
            - `c1` string
            - `c2` string
            - `open` 'r' | 'c'
            - `p` number[]
            - `r1` string
            - `r2` string
            - `s` string
            - `spill` true
            - `st` string
          - `t` string, required
    - `r` string, required
  - `copyOf` string
  - `id` string
  - `layout` SheetLayout
    - `cardTables` CardTable[]
      - `cols` object[], required
        - `c` string, required
        - `field` string, required
      - `controls` string
      - `drafts` string[]
      - `head` string, required
      - `id` string, required
      - `rows` object, required
      - `type` string, required
    - `colSize` object
    - `colWidth` number
    - `cols` string[], required
    - `filter` SheetFilter
      - `c1` string, required
      - `c2` string, required
      - `conds` object, required
      - `r1` string, required
      - `r2` string, required
    - `formatRules` FormatRule[]
      - `a` string
      - `b` string
      - `c1` string, required
      - `c2` string, required
      - `fx` StoredFormula
        - `r` StoredRef[], required
          - `a` number
          - `c1` string
          - `c2` string
          - `open` 'r' | 'c'
          - `p` number[]
          - `r1` string
          - `r2` string
          - `s` string
          - `spill` true
          - `st` string
        - `t` string, required
      - `id` string, required
      - `is` 'when' | 'scale', required
      - `max` ScalePoint
        - `at` 'min' | 'max' | 'num' | 'pct' | 'pctile', required
        - `c` string, required
        - `v` number
      - `mid` ScalePoint
        - `at` 'min' | 'max' | 'num' | 'pct' | 'pctile', required
        - `c` string, required
        - `v` number
      - `min` ScalePoint
        - `at` 'min' | 'max' | 'num' | 'pct' | 'pctile', required
        - `c` string, required
        - `v` number
      - `op` union
        - 'empty' | 'notEmpty' | 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'exactly' | 'dateBefore' | 'dateAfter' | 'dateOn' | 'gt' | 'gte' | 'lt' | 'lte' | 'between' | 'eq' | 'neq'
        - 'formula'
      - `r1` string, required
      - `r2` string, required
      - `style` FormatStyle
        - `b` true
        - `bg` string
        - `fc` string
        - `i` true
        - `st` true
        - `u` true
    - `frozenCols` number
    - `frozenRows` number
    - `hiddenCols` string[]
    - `hiddenRows` string[]
    - `merges` IdRange[]
      - `c1` string, required
      - `c2` string, required
      - `r1` string, required
      - `r2` string, required
    - `names` RangeName[]
      - `c1` string, required
      - `c2` string, required
      - `name` string, required
      - `r1` string, required
      - `r2` string, required
    - `rowHeight` number
    - `rowSize` object
    - `rows` string[], required
    - `rules` ValidationRule[]
      - `a` union
        - number
        - string
      - `b` number
      - `c1` string, required
      - `c2` string, required
      - `help` string
      - `id` string, required
      - `is` 'list' | 'range' | 'check' | 'num' | 'date' | 'text', required
      - `op` union
        - 'between' | 'notBetween' | 'gt' | 'gte' | 'lt' | 'lte' | 'eq' | 'neq'
        - 'valid' | 'before' | 'onOrBefore' | 'after' | 'onOrAfter' | 'on' | 'between' | 'notBetween'
        - 'contains' | 'notContains' | 'exactly' | 'email' | 'url'
      - `opts` DropdownOption[]
        - `c` string
        - `v` string, required
      - `r1` string, required
      - `r2` string, required
      - `show` 'arrow' | 'plain'
      - `src` IdRange
        - `c1` string, required
        - `c2` string, required
        - `r1` string, required
        - `r2` string, required
      - `warn` true
    - `setupPending` true
    - `showGrid` false
    - `showHeaders` false
  - `restore` true
  - `tabId` string, required
  - `title` string, required

## Response `201`

Success.

- SheetResponse
  - `sheet` SheetDto, required
    - `cells` SheetCellJson[], required
      - `c` string, required
      - `f` CellFormat
        - `b` true
        - `bb` Border
          - `c` string, required
          - `s` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot', required
          - `w` 1 | 2 | 3, required
        - `bg` string
        - `bl` Border
          - `c` string, required
          - `s` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot', required
          - `w` 1 | 2 | 3, required
        - `br` Border
          - `c` string, required
          - `s` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot', required
          - `w` 1 | 2 | 3, required
        - `bt` Border
          - `c` string, required
          - `s` 'solid' | 'dashed' | 'dotted' | 'dash-dot' | 'long-dash' | 'dash-dot-dot', required
          - `w` 1 | 2 | 3, required
        - `cur` string
        - `dp` number
        - `fc` string
        - `ff` string
        - `fs` number
        - `ha` 'l' | 'c' | 'r'
        - `i` true
        - `nc` string
        - `nf` 'auto' | 'number' | 'percent' | 'currency' | 'accounting' | 'scientific' | 'date' | 'time' | 'datetime' | 'duration' | 'text' | 'custom'
        - `st` true
        - `u` true
        - `va` 't' | 'm' | 'b'
        - `wr` 'o' | 'w' | 'c'
      - `i` union
        - object
          - `n` number, required
        - object
          - `s` string, required
        - object
          - `b` boolean, required
        - object
          - `f` StoredFormula, required
            - `r` StoredRef[], required
              - …
            - `t` string, required
      - `r` string, required
    - `createdAt` number, required
    - `id` string, required
    - `layout` SheetLayout, required
      - `cardTables` CardTable[]
        - `cols` object[], required
          - `c` string, required
          - `field` string, required
        - `controls` string
        - `drafts` string[]
        - `head` string, required
        - `id` string, required
        - `rows` object, required
        - `type` string, required
      - `colSize` object
      - `colWidth` number
      - `cols` string[], required
      - `filter` SheetFilter
        - `c1` string, required
        - `c2` string, required
        - `conds` object, required
        - `r1` string, required
        - `r2` string, required
      - `formatRules` FormatRule[]
        - `a` string
        - `b` string
        - `c1` string, required
        - `c2` string, required
        - `fx` StoredFormula
          - `r` StoredRef[], required
            - `a` number
            - `c1` string
            - `c2` string
            - `open` 'r' | 'c'
            - `p` number[]
            - `r1` string
            - `r2` string
            - `s` string
            - `spill` true
            - `st` string
          - `t` string, required
        - `id` string, required
        - `is` 'when' | 'scale', required
        - `max` ScalePoint
          - `at` 'min' | 'max' | 'num' | 'pct' | 'pctile', required
          - `c` string, required
          - `v` number
        - `mid` ScalePoint
          - `at` 'min' | 'max' | 'num' | 'pct' | 'pctile', required
          - `c` string, required
          - `v` number
        - `min` ScalePoint
          - `at` 'min' | 'max' | 'num' | 'pct' | 'pctile', required
          - `c` string, required
          - `v` number
        - `op` union
          - 'empty' | 'notEmpty' | 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'exactly' | 'dateBefore' | 'dateAfter' | 'dateOn' | 'gt' | 'gte' | 'lt' | 'lte' | 'between' | 'eq' | 'neq'
          - 'formula'
        - `r1` string, required
        - `r2` string, required
        - `style` FormatStyle
          - `b` true
          - `bg` string
          - `fc` string
          - `i` true
          - `st` true
          - `u` true
      - `frozenCols` number
      - `frozenRows` number
      - `hiddenCols` string[]
      - `hiddenRows` string[]
      - `merges` IdRange[]
        - `c1` string, required
        - `c2` string, required
        - `r1` string, required
        - `r2` string, required
      - `names` RangeName[]
        - `c1` string, required
        - `c2` string, required
        - `name` string, required
        - `r1` string, required
        - `r2` string, required
      - `rowHeight` number
      - `rowSize` object
      - `rows` string[], required
      - `rules` ValidationRule[]
        - `a` union
          - number
          - string
        - `b` number
        - `c1` string, required
        - `c2` string, required
        - `help` string
        - `id` string, required
        - `is` 'list' | 'range' | 'check' | 'num' | 'date' | 'text', required
        - `op` union
          - 'between' | 'notBetween' | 'gt' | 'gte' | 'lt' | 'lte' | 'eq' | 'neq'
          - 'valid' | 'before' | 'onOrBefore' | 'after' | 'onOrAfter' | 'on' | 'between' | 'notBetween'
          - 'contains' | 'notContains' | 'exactly' | 'email' | 'url'
        - `opts` DropdownOption[]
          - `c` string
          - `v` string, required
        - `r1` string, required
        - `r2` string, required
        - `show` 'arrow' | 'plain'
        - `src` IdRange
          - `c1` string, required
          - `c2` string, required
          - `r1` string, required
          - `r2` string, required
        - `warn` true
      - `setupPending` true
      - `showGrid` false
      - `showHeaders` false
    - `rev` number, required
    - `tabId` string, required
    - `title` string, required
    - `updatedAt` number, required
    - `updatedBy` SheetPerson, required
      - `color` string, required
      - `id` string, required
      - `name` string, required

## Other responses

- `400`: Error.
- `401`: Error.
- `403`: Error.
- `404`: Error.
- `409`: Error.
- `410`: Error.
- `413`: 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)
