---
title: "Change the pages of a tab (add, set, lay out, move, duplicate, delete; up to 50, as one edit) or write an article from Markdown. Switches the tab into Pages and reaches everyone with the document open. Answers each page with its rectangle on the canvas."
method: POST
path: "/documents/{id}/tabs/{tabId}/pages"
tags: ["Documents"]
---

# Change the pages of a tab (add, set, lay out, move, duplicate, delete; up to 50, as one edit) or write an article from Markdown. Switches the tab into Pages and reaches everyone with the document open. Answers each page with its rectangle on the canvas.

`POST /documents/{id}/tabs/{tabId}/pages`

## Request

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

## Path parameters

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

## Request body

- union
  - object
    - `pages` PageChange[], required
      - union
        - object
          - `at` number
          - `background` PageBackgroundInput
            - `angle` number
            - `color` string
            - `gradient` string[]
            - `paper` true
            - `pattern` union
              - …
          - `kind` 'infographic' | 'article' | 'slide' | 'logo', required
          - `layout` string
          - `name` string
          - `op` 'add', required
          - `orientation` 'portrait' | 'landscape'
          - `size` 'a4' | 'letter' | 'a3' | 'square' | 'social' | 'wide' | 'slide' | 'slide-classic' | 'logo' | 'fit'
        - object
          - `background` PageBackgroundInput
            - `angle` number
            - `color` string
            - `gradient` string[]
            - `paper` true
            - `pattern` union
              - …
          - `locked` boolean
          - `name` string
          - `op` 'set', required
          - `orientation` 'portrait' | 'landscape'
          - `page` union, required
            - string
            - number
          - `size` 'a4' | 'letter' | 'a3' | 'square' | 'social' | 'wide' | 'slide' | 'slide-classic' | 'logo' | 'fit'
        - object
          - `layout` string, required
          - `op` 'layout', required
          - `page` union, required
            - string
            - number
        - object
          - `op` 'move', required
          - `page` union, required
            - string
            - number
          - `to` number, required
        - object
          - `op` 'duplicate', required
          - `page` union, required
            - string
            - number
        - object
          - `op` 'delete', required
          - `page` union, required
            - string
            - number
        - object
          - `op` 'apply_background_to_all', required
          - `page` union, required
            - string
            - number
  - object
    - `article` ArticleWrite, required
      - `accent` string
      - `article` string
      - `look` 'clean' | 'classic' | 'report' | 'notebook' | 'bold'
      - `markdown` string, required
      - `mode` 'replace' | 'append'
      - `new` boolean
      - `orientation` 'portrait' | 'landscape'
      - `pageNumbers` boolean
      - `size` 'a4' | 'letter' | 'a3' | 'square' | 'social' | 'wide' | 'slide' | 'slide-classic' | 'logo' | 'fit'

## Response `200`

Success.

- PagesAnswer
  - `article` object
    - `blocks` number, required
    - `created` boolean, required
    - `estimatedPages` number, required
    - `flow` string, required
    - `look` 'clean' | 'classic' | 'report' | 'notebook' | 'bold', required
    - `pages` number[], required
    - `title` string, required
    - `words` number, required
  - `articles` ArticleSummary[], required
    - `blocks` number, required
    - `estimatedPages` number, required
    - `flow` string, required
    - `look` 'clean' | 'classic' | 'report' | 'notebook' | 'bold', required
    - `pages` number[], required
    - `title` string, required
    - `words` number, required
  - `changesetId` string, nullable, required
  - `lines` string[], required
  - `pages` PageSummary[], required
    - `background` string, nullable, required
    - `elements` number, required
    - `flow` string, nullable, required
    - `id` string, required
    - `kind` 'infographic' | 'article' | 'slide' | 'logo', required
    - `locked` boolean, required
    - `name` string, nullable, required
    - `orientation` 'portrait' | 'landscape', required
    - `place` number, required
    - `rect` PageRect, required
      - `height` number, required
      - `width` number, required
      - `x` number, required
      - `y` number, required
    - `size` 'a4' | 'letter' | 'a3' | 'square' | 'social' | 'wide' | 'slide' | 'slide-classic' | 'logo' | 'fit', required
  - `switched` boolean, required
  - `tab` object, required
    - `id` string, required
    - `rev` number, 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)
