---
title: "Create a page"
method: POST
path: "/v1/pages"
tags: ["Pages"]
---

# Create a page

`POST /v1/pages`

## Headers

- `Notion-Version` '2026-03-11', required

## Request body

- object
  - `parent` union
    - object
      - `page_id` string, required
      - `type` 'page_id'
    - object
      - `database_id` string, required
      - `type` 'database_id'
    - object
      - `data_source_id` string, required
      - `type` 'data_source_id'
    - object
      - `workspace` true, required
      - `type` 'workspace'
  - `properties` object
  - `icon` union
    - FileUploadPageIconRequest
      - `type` 'file_upload' — Always `file_upload`
      - `file_upload` object, required
        - `id` string, required — ID of a FileUpload object that has the status `uploaded`.
    - EmojiPageIconRequest
      - `type` 'emoji' — Always `emoji`
      - `emoji` string, required
    - ExternalPageIconRequest
      - `type` 'external' — Always `external`
      - `external` object, required
        - `url` string, required — The URL of the external file.
    - CustomEmojiPageIconRequest
      - `type` 'custom_emoji' — Always `custom_emoji`
      - `custom_emoji` object, required
        - `id` string, required
        - `name` string — The name of the custom emoji.
        - `url` string — The URL of the custom emoji.
    - IconPageIconRequest
      - `type` 'icon' — Always `icon`
      - `icon` object, required — A Notion native icon, specified by name and optional color.
        - `name` string, required
        - `color` 'gray' | 'lightgray' | 'brown' | 'yellow' | 'orange' | 'green' | 'blue' | 'purple' | 'pink' | 'red' — One of: `gray`, `lightgray`, `brown`, `yellow`, `orange`, `green`, `blue`, `purple`, `pink`, `red`
  - `cover` union
    - FileUploadPageCoverRequest
      - `type` 'file_upload' — Always `file_upload`
      - `file_upload` object, required — The file upload for the cover.
        - `id` string, required — ID of a FileUpload object that has the status `uploaded`.
    - ExternalPageCoverRequest
      - `type` 'external' — Always `external`
      - `external` object, required — External URL for the cover.
        - `url` string, required — The URL of the external file.
  - `content` BlockObjectRequest[]
    - union
      - object
        - `embed` union, required
          - MediaContentWithUrlAndCaptionRequest
            - `url` string, required
            - `caption` RichTextItemRequest[]
              - …
          - EmbedFileUploadRequest
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
        - `type` 'embed'
        - `object` 'block'
      - object
        - `bookmark` MediaContentWithUrlAndCaptionRequest, required
          - `url` string, required
          - `caption` RichTextItemRequest[]
            - union
              - …
        - `type` 'bookmark'
        - `object` 'block'
      - object
        - `image` union, required
          - object
            - `external` ExternalFileRequest, required
              - …
            - `type` 'external'
            - `caption` RichTextItemRequest[]
              - …
          - object
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
        - `type` 'image'
        - `object` 'block'
      - object
        - `video` union, required
          - object
            - `external` ExternalFileRequest, required
              - …
            - `type` 'external'
            - `caption` RichTextItemRequest[]
              - …
          - object
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
        - `type` 'video'
        - `object` 'block'
      - object
        - `pdf` union, required
          - object
            - `external` ExternalFileRequest, required
              - …
            - `type` 'external'
            - `caption` RichTextItemRequest[]
              - …
          - object
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
        - `type` 'pdf'
        - `object` 'block'
      - object
        - `file` union, required
          - object
            - `external` ExternalFileRequest, required
              - …
            - `type` 'external'
            - `caption` RichTextItemRequest[]
              - …
            - `name` string
          - object
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
            - `name` string
        - `type` 'file'
        - `object` 'block'
      - object
        - `audio` union, required
          - object
            - `external` ExternalFileRequest, required
              - …
            - `type` 'external'
            - `caption` RichTextItemRequest[]
              - …
          - object
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
        - `type` 'audio'
        - `object` 'block'
      - object
        - `code` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `language` 'abap' | 'abc' | 'agda' | 'arduino' | 'ascii art' | 'assembly' | 'bash' | 'basic' | 'bnf' | 'c' | 'c#' | 'c++' | 'clojure' | 'coffeescript' | 'coq' | 'css' | 'dart' | 'dhall' | 'diff' | 'docker' | 'ebnf' | 'elixir' | 'elm' | 'erlang' | 'f#' | 'flow' | 'fortran' | 'gherkin' | 'glsl' | 'go' | 'graphql' | 'groovy' | 'haskell' | 'hcl' | 'html' | 'idris' | 'java' | 'javascript' | 'json' | 'julia' | 'kotlin' | 'latex' | 'less' | 'lisp' | 'livescript' | 'llvm ir' | 'lua' | 'makefile' | 'markdown' | 'markup' | 'matlab' | 'mathematica' | 'mermaid' | 'nix' | 'notion formula' | 'objective-c' | 'ocaml' | 'pascal' | 'perl' | 'php' | 'plain text' | 'powershell' | 'prolog' | 'protobuf' | 'purescript' | 'python' | 'r' | 'racket' | 'reason' | 'ruby' | 'rust' | 'sass' | 'scala' | 'scheme' | 'scss' | 'shell' | 'smalltalk' | 'solidity' | 'sql' | 'swift' | 'toml' | 'typescript' | 'vb.net' | 'verilog' | 'vhdl' | 'visual basic' | 'webassembly' | 'xml' | 'yaml' | 'java/c/c++/c#', required
          - `caption` RichTextItemRequest[]
            - union
              - …
        - `type` 'code'
        - `object` 'block'
      - object
        - `equation` ContentWithExpressionRequest, required
          - `expression` string, required
        - `type` 'equation'
        - `object` 'block'
      - object
        - `divider` EmptyObject, required
        - `type` 'divider'
        - `object` 'block'
      - object
        - `breadcrumb` EmptyObject, required
        - `type` 'breadcrumb'
        - `object` 'block'
      - object
        - `tab` TabRequestWithNestedTabItemChildren, required
          - `children` TabItemRequestWithSingleLevelOfChildren[], required
            - `paragraph` ParagraphWithSingleLevelOfChildrenRequest, required
              - …
            - `type` 'paragraph'
            - `object` 'block'
        - `type` 'tab'
        - `object` 'block'
      - object
        - `table_of_contents` object, required
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
        - `type` 'table_of_contents'
        - `object` 'block'
      - object
        - `link_to_page` union, required
          - object
            - `page_id` string, required
            - `type` 'page_id'
          - object
            - `database_id` string, required
            - `type` 'database_id'
          - object
            - `comment_id` string, required
            - `type` 'comment_id'
        - `type` 'link_to_page'
        - `object` 'block'
      - object
        - `table_row` ContentWithTableRowRequest, required
          - `cells` array[], required
            - RichTextItemRequest[]
              - …
        - `type` 'table_row'
        - `object` 'block'
      - object
        - `table` TableRequestWithTableRowChildren, required
          - `table_width` integer, required
          - `children` TableRowRequest[], required
            - `table_row` ContentWithTableRowRequest, required
              - …
            - `type` 'table_row'
            - `object` 'block'
          - `has_column_header` boolean
          - `has_row_header` boolean
        - `type` 'table'
        - `object` 'block'
      - object
        - `column_list` ColumnListRequest, required
          - `children` ColumnBlockWithChildrenRequest[], required
            - `column` ColumnWithChildrenRequest, required
              - …
            - `type` 'column'
            - `object` 'block'
        - `type` 'column_list'
        - `object` 'block'
      - object
        - `column` ColumnWithChildrenRequest, required
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[], required
            - union
              - …
          - `width_ratio` number — Ratio between 0 and 1 of the width of this column relative to all columns in the list. If not provided, uses an equal width.
        - `type` 'column'
        - `object` 'block'
      - object
        - `heading_1` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `is_toggleable` boolean
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'heading_1'
        - `object` 'block'
      - object
        - `heading_2` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `is_toggleable` boolean
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'heading_2'
        - `object` 'block'
      - object
        - `heading_3` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `is_toggleable` boolean
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'heading_3'
        - `object` 'block'
      - object
        - `heading_4` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `is_toggleable` boolean
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'heading_4'
        - `object` 'block'
      - object
        - `paragraph` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `icon` union
            - FileUploadPageIconRequest
              - …
            - EmojiPageIconRequest
              - …
            - ExternalPageIconRequest
              - …
            - CustomEmojiPageIconRequest
              - …
            - IconPageIconRequest
              - …
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'paragraph'
        - `object` 'block'
      - object
        - `bulleted_list_item` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'bulleted_list_item'
        - `object` 'block'
      - object
        - `numbered_list_item` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'numbered_list_item'
        - `object` 'block'
      - object
        - `quote` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'quote'
        - `object` 'block'
      - object
        - `to_do` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
          - `checked` boolean
        - `type` 'to_do'
        - `object` 'block'
      - object
        - `toggle` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'toggle'
        - `object` 'block'
      - object
        - `template` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'template'
        - `object` 'block'
      - object
        - `callout` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
          - `icon` union
            - FileUploadPageIconRequest
              - …
            - EmojiPageIconRequest
              - …
            - ExternalPageIconRequest
              - …
            - CustomEmojiPageIconRequest
              - …
            - IconPageIconRequest
              - …
        - `type` 'callout'
        - `object` 'block'
      - object
        - `synced_block` object, required
          - `synced_from` object, nullable, required
            - `block_id` string, required
            - `type` 'block_id'
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'synced_block'
        - `object` 'block'
  - `children` BlockObjectRequest[]
    - union
      - object
        - `embed` union, required
          - MediaContentWithUrlAndCaptionRequest
            - `url` string, required
            - `caption` RichTextItemRequest[]
              - …
          - EmbedFileUploadRequest
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
        - `type` 'embed'
        - `object` 'block'
      - object
        - `bookmark` MediaContentWithUrlAndCaptionRequest, required
          - `url` string, required
          - `caption` RichTextItemRequest[]
            - union
              - …
        - `type` 'bookmark'
        - `object` 'block'
      - object
        - `image` union, required
          - object
            - `external` ExternalFileRequest, required
              - …
            - `type` 'external'
            - `caption` RichTextItemRequest[]
              - …
          - object
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
        - `type` 'image'
        - `object` 'block'
      - object
        - `video` union, required
          - object
            - `external` ExternalFileRequest, required
              - …
            - `type` 'external'
            - `caption` RichTextItemRequest[]
              - …
          - object
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
        - `type` 'video'
        - `object` 'block'
      - object
        - `pdf` union, required
          - object
            - `external` ExternalFileRequest, required
              - …
            - `type` 'external'
            - `caption` RichTextItemRequest[]
              - …
          - object
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
        - `type` 'pdf'
        - `object` 'block'
      - object
        - `file` union, required
          - object
            - `external` ExternalFileRequest, required
              - …
            - `type` 'external'
            - `caption` RichTextItemRequest[]
              - …
            - `name` string
          - object
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
            - `name` string
        - `type` 'file'
        - `object` 'block'
      - object
        - `audio` union, required
          - object
            - `external` ExternalFileRequest, required
              - …
            - `type` 'external'
            - `caption` RichTextItemRequest[]
              - …
          - object
            - `file_upload` FileUploadIdRequest, required
              - …
            - `type` 'file_upload'
            - `caption` RichTextItemRequest[]
              - …
        - `type` 'audio'
        - `object` 'block'
      - object
        - `code` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `language` 'abap' | 'abc' | 'agda' | 'arduino' | 'ascii art' | 'assembly' | 'bash' | 'basic' | 'bnf' | 'c' | 'c#' | 'c++' | 'clojure' | 'coffeescript' | 'coq' | 'css' | 'dart' | 'dhall' | 'diff' | 'docker' | 'ebnf' | 'elixir' | 'elm' | 'erlang' | 'f#' | 'flow' | 'fortran' | 'gherkin' | 'glsl' | 'go' | 'graphql' | 'groovy' | 'haskell' | 'hcl' | 'html' | 'idris' | 'java' | 'javascript' | 'json' | 'julia' | 'kotlin' | 'latex' | 'less' | 'lisp' | 'livescript' | 'llvm ir' | 'lua' | 'makefile' | 'markdown' | 'markup' | 'matlab' | 'mathematica' | 'mermaid' | 'nix' | 'notion formula' | 'objective-c' | 'ocaml' | 'pascal' | 'perl' | 'php' | 'plain text' | 'powershell' | 'prolog' | 'protobuf' | 'purescript' | 'python' | 'r' | 'racket' | 'reason' | 'ruby' | 'rust' | 'sass' | 'scala' | 'scheme' | 'scss' | 'shell' | 'smalltalk' | 'solidity' | 'sql' | 'swift' | 'toml' | 'typescript' | 'vb.net' | 'verilog' | 'vhdl' | 'visual basic' | 'webassembly' | 'xml' | 'yaml' | 'java/c/c++/c#', required
          - `caption` RichTextItemRequest[]
            - union
              - …
        - `type` 'code'
        - `object` 'block'
      - object
        - `equation` ContentWithExpressionRequest, required
          - `expression` string, required
        - `type` 'equation'
        - `object` 'block'
      - object
        - `divider` EmptyObject, required
        - `type` 'divider'
        - `object` 'block'
      - object
        - `breadcrumb` EmptyObject, required
        - `type` 'breadcrumb'
        - `object` 'block'
      - object
        - `tab` TabRequestWithNestedTabItemChildren, required
          - `children` TabItemRequestWithSingleLevelOfChildren[], required
            - `paragraph` ParagraphWithSingleLevelOfChildrenRequest, required
              - …
            - `type` 'paragraph'
            - `object` 'block'
        - `type` 'tab'
        - `object` 'block'
      - object
        - `table_of_contents` object, required
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
        - `type` 'table_of_contents'
        - `object` 'block'
      - object
        - `link_to_page` union, required
          - object
            - `page_id` string, required
            - `type` 'page_id'
          - object
            - `database_id` string, required
            - `type` 'database_id'
          - object
            - `comment_id` string, required
            - `type` 'comment_id'
        - `type` 'link_to_page'
        - `object` 'block'
      - object
        - `table_row` ContentWithTableRowRequest, required
          - `cells` array[], required
            - RichTextItemRequest[]
              - …
        - `type` 'table_row'
        - `object` 'block'
      - object
        - `table` TableRequestWithTableRowChildren, required
          - `table_width` integer, required
          - `children` TableRowRequest[], required
            - `table_row` ContentWithTableRowRequest, required
              - …
            - `type` 'table_row'
            - `object` 'block'
          - `has_column_header` boolean
          - `has_row_header` boolean
        - `type` 'table'
        - `object` 'block'
      - object
        - `column_list` ColumnListRequest, required
          - `children` ColumnBlockWithChildrenRequest[], required
            - `column` ColumnWithChildrenRequest, required
              - …
            - `type` 'column'
            - `object` 'block'
        - `type` 'column_list'
        - `object` 'block'
      - object
        - `column` ColumnWithChildrenRequest, required
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[], required
            - union
              - …
          - `width_ratio` number — Ratio between 0 and 1 of the width of this column relative to all columns in the list. If not provided, uses an equal width.
        - `type` 'column'
        - `object` 'block'
      - object
        - `heading_1` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `is_toggleable` boolean
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'heading_1'
        - `object` 'block'
      - object
        - `heading_2` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `is_toggleable` boolean
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'heading_2'
        - `object` 'block'
      - object
        - `heading_3` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `is_toggleable` boolean
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'heading_3'
        - `object` 'block'
      - object
        - `heading_4` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `is_toggleable` boolean
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'heading_4'
        - `object` 'block'
      - object
        - `paragraph` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `icon` union
            - FileUploadPageIconRequest
              - …
            - EmojiPageIconRequest
              - …
            - ExternalPageIconRequest
              - …
            - CustomEmojiPageIconRequest
              - …
            - IconPageIconRequest
              - …
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'paragraph'
        - `object` 'block'
      - object
        - `bulleted_list_item` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'bulleted_list_item'
        - `object` 'block'
      - object
        - `numbered_list_item` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'numbered_list_item'
        - `object` 'block'
      - object
        - `quote` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'quote'
        - `object` 'block'
      - object
        - `to_do` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
          - `checked` boolean
        - `type` 'to_do'
        - `object` 'block'
      - object
        - `toggle` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'toggle'
        - `object` 'block'
      - object
        - `template` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'template'
        - `object` 'block'
      - object
        - `callout` object, required
          - `rich_text` RichTextItemRequest[], required
            - union
              - …
          - `color` 'default' | 'gray' | 'brown' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'red' | 'default_background' | 'gray_background' | 'brown_background' | 'orange_background' | 'yellow_background' | 'green_background' | 'blue_background' | 'purple_background' | 'pink_background' | 'red_background' — One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
          - `icon` union
            - FileUploadPageIconRequest
              - …
            - EmojiPageIconRequest
              - …
            - ExternalPageIconRequest
              - …
            - CustomEmojiPageIconRequest
              - …
            - IconPageIconRequest
              - …
        - `type` 'callout'
        - `object` 'block'
      - object
        - `synced_block` object, required
          - `synced_from` object, nullable, required
            - `block_id` string, required
            - `type` 'block_id'
          - `children` BlockObjectWithSingleLevelOfChildrenRequest[]
            - union
              - …
        - `type` 'synced_block'
        - `object` 'block'
  - `markdown` string — Page content as Notion-flavored Markdown. Mutually exclusive with content/children.
  - `allow_async` boolean — Set to true to receive an async_task response for markdown page creation. Only supported when markdown is provided.
  - `template` union
    - object
      - `type` 'none', required
    - object
      - `type` 'default', required
      - `timezone` string — IANA timezone to use when resolving template variables like @now and @today (e.g. 'America/New_York'). Defaults to the authorizing user's timezone for public integrations, or UTC for internal integrations.
    - object
      - `type` 'template_id', required
      - `template_id` string, required
      - `timezone` string — IANA timezone to use when resolving template variables like @now and @today (e.g. 'America/New_York'). Defaults to the authorizing user's timezone for public integrations, or UTC for internal integrations.
  - `position` union
    - object
      - `type` 'after_block', required
      - `after_block` object, required
        - `id` string, required
    - object
      - `type` 'page_start', required
    - object
      - `type` 'page_end', required

## Response `200`

- union
  - PageObjectResponse
    - `object` 'page', required — The page object type name.
    - `id` string, uuid, required
    - `created_time` string, date-time, required — Date and time when this page was created.
    - `last_edited_time` string, date-time, required — Date and time when this page was last edited.
    - `in_trash` boolean, required — Whether the page is in trash.
    - `is_archived` boolean, required — Whether the page has been archived.
    - `is_locked` boolean, required — Whether the page is locked from editing in the Notion app UI.
    - `url` string, required — The URL of the Notion page.
    - `public_url` string, nullable, required — The public URL of the Notion page, if it has been published to the web.
    - `parent` union, required
      - DatabaseParentResponse
        - `type` 'database_id', required — The parent type.
        - `database_id` string, uuid, required
      - DataSourceParentResponse
        - `type` 'data_source_id', required — The parent type.
        - `data_source_id` string, uuid, required
        - `database_id` string, uuid, required
      - PageIdParentForBlockBasedObjectResponse
        - `type` 'page_id', required — The parent type.
        - `page_id` string, uuid, required
      - BlockIdParentForBlockBasedObjectResponse
        - `type` 'block_id', required — The parent type.
        - `block_id` string, uuid, required
      - AgentIdParentForBlockBasedObjectResponse
        - `type` 'agent_id', required — The parent type.
        - `agent_id` string, uuid, required
      - WorkspaceParentForBlockBasedObjectResponse
        - `type` 'workspace', required — The parent type.
        - `workspace` true, required — Always true for workspace parent.
    - `properties` object, required — Property values of this page.
    - `icon` union, required
      - EmojiPageIconResponse
        - `type` 'emoji', required — Type of icon. In this case, an emoji.
        - `emoji` string, required
      - FilePageIconResponse
        - `type` 'file', required — Type of icon. In this case, a file.
        - `file` InternalFileResponse, required
          - `url` string, required — The URL of the file.
          - `expiry_time` string, date-time, required — The time when the URL will expire.
      - ExternalPageIconResponse
        - `type` 'external', required — Type of icon. In this case, an external URL.
        - `external` object, required — The external URL for the icon.
          - `url` string, required — The URL of the external file or resource.
      - CustomEmojiPageIconResponse
        - `type` 'custom_emoji', required — Type of icon. In this case, a custom emoji.
        - `custom_emoji` CustomEmojiResponse, required
          - `id` string, uuid, required
          - `name` string, required — The name of the custom emoji.
          - `url` string, required — The URL of the custom emoji.
      - IconPageIconResponse
        - `type` 'icon', required — Type of icon. In this case, a Notion native icon.
        - `icon` NoticonIconResponse, required
          - `name` string, required
          - `color` 'gray' | 'lightgray' | 'brown' | 'yellow' | 'orange' | 'green' | 'blue' | 'purple' | 'pink' | 'red', required — One of: `gray`, `lightgray`, `brown`, `yellow`, `orange`, `green`, `blue`, `purple`, `pink`, `red`
    - `cover` union, required
      - FilePageCoverResponse
        - `type` 'file', required — Type of cover. In this case, a file.
        - `file` InternalFileResponse, required
          - `url` string, required — The URL of the file.
          - `expiry_time` string, date-time, required — The time when the URL will expire.
      - ExternalPageCoverResponse
        - `type` 'external', required — Type of cover. In this case, an external URL.
        - `external` object, required — The external URL for the cover.
          - `url` string, required — The URL of the external file or resource.
    - `created_by` PartialUserObjectResponse, required
      - `id` string, uuid, required
      - `object` 'user', required — Always `user`
    - `last_edited_by` PartialUserObjectResponse, required
      - `id` string, uuid, required
      - `object` 'user', required — Always `user`
  - PartialPageObjectResponse
    - `object` 'page', required — The page object type name.
    - `id` string, uuid, required

## Other responses

- `202`
- `400`
- `401`
- `403`
- `404`
- `406`
- `409`
- `429`
- `500`
- `503`
- `504`
- `529`

---

[API](https://skmtc.net/notion/apis/notion-api.md) · [All operations](https://skmtc.net/notion/apis/notion-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/notion/notion-api/versions/551da43bb186/schema)
