@notionhq/client 5.12.0 → 5.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-endpoints.js","sourceRoot":"","sources":["../../src/api-endpoints.ts"],"names":[],"mappings":"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","sourcesContent":["// cspell:disable-file\n// Note: This is a generated file. DO NOT EDIT!\n\ntype AnnotationRequest = {\n // Whether the text is formatted as bold.\n bold?: boolean\n // Whether the text is formatted as italic.\n italic?: boolean\n // Whether the text is formatted with a strikethrough.\n strikethrough?: boolean\n // Whether the text is formatted with an underline.\n underline?: boolean\n // Whether the text is formatted as code.\n code?: boolean\n // The color of the text.\n color?: ApiColor\n}\n\ntype AnnotationResponse = {\n bold: boolean\n italic: boolean\n strikethrough: boolean\n underline: boolean\n code: boolean\n color: ApiColor\n}\n\n/**\n * One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`,\n * `pink`, `red`, `default_background`, `gray_background`, `brown_background`,\n * `orange_background`, `yellow_background`, `green_background`, `blue_background`,\n * `purple_background`, `pink_background`, `red_background`\n */\ntype ApiColor =\n | \"default\"\n | \"gray\"\n | \"brown\"\n | \"orange\"\n | \"yellow\"\n | \"green\"\n | \"blue\"\n | \"purple\"\n | \"pink\"\n | \"red\"\n | \"default_background\"\n | \"gray_background\"\n | \"brown_background\"\n | \"orange_background\"\n | \"yellow_background\"\n | \"green_background\"\n | \"blue_background\"\n | \"purple_background\"\n | \"pink_background\"\n | \"red_background\"\n\ntype ApiTranscriptionStatus =\n | \"transcription_not_started\"\n | \"transcription_paused\"\n | \"transcription_in_progress\"\n | \"summary_in_progress\"\n | \"notes_ready\"\n\ntype ArrayBasedPropertyValueResponse =\n | TitleArrayBasedPropertyValueResponse\n | RichTextArrayBasedPropertyValueResponse\n | PeopleArrayBasedPropertyValueResponse\n | RelationArrayBasedPropertyValueResponse\n\ntype ArrayPartialRollupValueResponse = {\n // Always `array`\n type: \"array\"\n array: Array<SimpleOrArrayPropertyValueResponse>\n}\n\nexport type AudioBlockObjectResponse = {\n type: \"audio\"\n audio: MediaContentWithFileAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype BlockIdCommentParentResponse = {\n // Always `block_id`\n type: \"block_id\"\n block_id: IdResponse\n}\n\ntype BlockIdParentForBlockBasedObjectResponse = {\n // The parent type.\n type: \"block_id\"\n // The ID of the parent block.\n block_id: IdResponse\n}\n\nexport type BlockObjectRequest =\n | {\n embed: MediaContentWithUrlAndCaptionRequest\n type?: \"embed\"\n object?: \"block\"\n }\n | {\n bookmark: MediaContentWithUrlAndCaptionRequest\n type?: \"bookmark\"\n object?: \"block\"\n }\n | {\n image: MediaContentWithFileAndCaptionRequest\n type?: \"image\"\n object?: \"block\"\n }\n | {\n video: MediaContentWithFileAndCaptionRequest\n type?: \"video\"\n object?: \"block\"\n }\n | {\n pdf: MediaContentWithFileAndCaptionRequest\n type?: \"pdf\"\n object?: \"block\"\n }\n | {\n file: MediaContentWithFileNameAndCaptionRequest\n type?: \"file\"\n object?: \"block\"\n }\n | {\n audio: MediaContentWithFileAndCaptionRequest\n type?: \"audio\"\n object?: \"block\"\n }\n | {\n code: {\n rich_text: Array<RichTextItemRequest>\n language: LanguageRequest\n caption?: Array<RichTextItemRequest>\n }\n type?: \"code\"\n object?: \"block\"\n }\n | {\n equation: ContentWithExpressionRequest\n type?: \"equation\"\n object?: \"block\"\n }\n | { divider: EmptyObject; type?: \"divider\"; object?: \"block\" }\n | { breadcrumb: EmptyObject; type?: \"breadcrumb\"; object?: \"block\" }\n | {\n table_of_contents: { color?: ApiColor }\n type?: \"table_of_contents\"\n object?: \"block\"\n }\n | {\n link_to_page:\n | { page_id: IdRequest; type?: \"page_id\" }\n | { database_id: IdRequest; type?: \"database_id\" }\n | { comment_id: IdRequest; type?: \"comment_id\" }\n type?: \"link_to_page\"\n object?: \"block\"\n }\n | {\n table_row: ContentWithTableRowRequest\n type?: \"table_row\"\n object?: \"block\"\n }\n | {\n table: TableRequestWithTableRowChildren\n type?: \"table\"\n object?: \"block\"\n }\n | { column_list: ColumnListRequest; type?: \"column_list\"; object?: \"block\" }\n | { column: ColumnWithChildrenRequest; type?: \"column\"; object?: \"block\" }\n | {\n heading_1: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n is_toggleable?: boolean\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"heading_1\"\n object?: \"block\"\n }\n | {\n heading_2: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n is_toggleable?: boolean\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"heading_2\"\n object?: \"block\"\n }\n | {\n heading_3: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n is_toggleable?: boolean\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"heading_3\"\n object?: \"block\"\n }\n | {\n paragraph: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"paragraph\"\n object?: \"block\"\n }\n | {\n bulleted_list_item: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"bulleted_list_item\"\n object?: \"block\"\n }\n | {\n numbered_list_item: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"numbered_list_item\"\n object?: \"block\"\n }\n | {\n quote: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"quote\"\n object?: \"block\"\n }\n | {\n to_do: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n checked?: boolean\n }\n type?: \"to_do\"\n object?: \"block\"\n }\n | {\n toggle: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"toggle\"\n object?: \"block\"\n }\n | {\n template: {\n rich_text: Array<RichTextItemRequest>\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"template\"\n object?: \"block\"\n }\n | {\n callout: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n icon?: PageIconRequest\n }\n type?: \"callout\"\n object?: \"block\"\n }\n | {\n synced_block: {\n synced_from: { block_id: IdRequest; type?: \"block_id\" } | null\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"synced_block\"\n object?: \"block\"\n }\n\nexport type BlockObjectRequestWithoutChildren =\n | {\n embed: MediaContentWithUrlAndCaptionRequest\n type?: \"embed\"\n object?: \"block\"\n }\n | {\n bookmark: MediaContentWithUrlAndCaptionRequest\n type?: \"bookmark\"\n object?: \"block\"\n }\n | {\n image: MediaContentWithFileAndCaptionRequest\n type?: \"image\"\n object?: \"block\"\n }\n | {\n video: MediaContentWithFileAndCaptionRequest\n type?: \"video\"\n object?: \"block\"\n }\n | {\n pdf: MediaContentWithFileAndCaptionRequest\n type?: \"pdf\"\n object?: \"block\"\n }\n | {\n file: MediaContentWithFileNameAndCaptionRequest\n type?: \"file\"\n object?: \"block\"\n }\n | {\n audio: MediaContentWithFileAndCaptionRequest\n type?: \"audio\"\n object?: \"block\"\n }\n | {\n code: {\n rich_text: Array<RichTextItemRequest>\n language: LanguageRequest\n caption?: Array<RichTextItemRequest>\n }\n type?: \"code\"\n object?: \"block\"\n }\n | {\n equation: ContentWithExpressionRequest\n type?: \"equation\"\n object?: \"block\"\n }\n | { divider: EmptyObject; type?: \"divider\"; object?: \"block\" }\n | { breadcrumb: EmptyObject; type?: \"breadcrumb\"; object?: \"block\" }\n | {\n table_of_contents: { color?: ApiColor }\n type?: \"table_of_contents\"\n object?: \"block\"\n }\n | {\n link_to_page:\n | { page_id: IdRequest; type?: \"page_id\" }\n | { database_id: IdRequest; type?: \"database_id\" }\n | { comment_id: IdRequest; type?: \"comment_id\" }\n type?: \"link_to_page\"\n object?: \"block\"\n }\n | {\n table_row: ContentWithTableRowRequest\n type?: \"table_row\"\n object?: \"block\"\n }\n | {\n heading_1: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_1\"\n object?: \"block\"\n }\n | {\n heading_2: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_2\"\n object?: \"block\"\n }\n | {\n heading_3: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_3\"\n object?: \"block\"\n }\n | {\n paragraph: ContentWithRichTextAndColorRequest\n type?: \"paragraph\"\n object?: \"block\"\n }\n | {\n bulleted_list_item: ContentWithRichTextAndColorRequest\n type?: \"bulleted_list_item\"\n object?: \"block\"\n }\n | {\n numbered_list_item: ContentWithRichTextAndColorRequest\n type?: \"numbered_list_item\"\n object?: \"block\"\n }\n | {\n quote: ContentWithRichTextAndColorRequest\n type?: \"quote\"\n object?: \"block\"\n }\n | {\n to_do: {\n rich_text: Array<RichTextItemRequest>\n checked?: boolean\n color?: ApiColor\n }\n type?: \"to_do\"\n object?: \"block\"\n }\n | {\n toggle: ContentWithRichTextAndColorRequest\n type?: \"toggle\"\n object?: \"block\"\n }\n | {\n template: ContentWithRichTextRequest\n type?: \"template\"\n object?: \"block\"\n }\n | {\n callout: {\n rich_text: Array<RichTextItemRequest>\n icon?: PageIconRequest\n color?: ApiColor\n }\n type?: \"callout\"\n object?: \"block\"\n }\n | {\n synced_block: {\n synced_from: { block_id: IdRequest; type?: \"block_id\" } | null\n }\n type?: \"synced_block\"\n object?: \"block\"\n }\n\nexport type BlockObjectResponse =\n | ParagraphBlockObjectResponse\n | Heading1BlockObjectResponse\n | Heading2BlockObjectResponse\n | Heading3BlockObjectResponse\n | BulletedListItemBlockObjectResponse\n | NumberedListItemBlockObjectResponse\n | QuoteBlockObjectResponse\n | ToDoBlockObjectResponse\n | ToggleBlockObjectResponse\n | TemplateBlockObjectResponse\n | SyncedBlockBlockObjectResponse\n | ChildPageBlockObjectResponse\n | ChildDatabaseBlockObjectResponse\n | EquationBlockObjectResponse\n | CodeBlockObjectResponse\n | CalloutBlockObjectResponse\n | DividerBlockObjectResponse\n | BreadcrumbBlockObjectResponse\n | TableOfContentsBlockObjectResponse\n | ColumnListBlockObjectResponse\n | ColumnBlockObjectResponse\n | LinkToPageBlockObjectResponse\n | TableBlockObjectResponse\n | TableRowBlockObjectResponse\n | MeetingNotesBlockObjectResponse\n | TranscriptionBlockObjectResponse\n | EmbedBlockObjectResponse\n | BookmarkBlockObjectResponse\n | ImageBlockObjectResponse\n | VideoBlockObjectResponse\n | PdfBlockObjectResponse\n | FileBlockObjectResponse\n | AudioBlockObjectResponse\n | LinkPreviewBlockObjectResponse\n | UnsupportedBlockObjectResponse\n\ntype BlockObjectWithSingleLevelOfChildrenRequest =\n | {\n embed: MediaContentWithUrlAndCaptionRequest\n type?: \"embed\"\n object?: \"block\"\n }\n | {\n bookmark: MediaContentWithUrlAndCaptionRequest\n type?: \"bookmark\"\n object?: \"block\"\n }\n | {\n image: MediaContentWithFileAndCaptionRequest\n type?: \"image\"\n object?: \"block\"\n }\n | {\n video: MediaContentWithFileAndCaptionRequest\n type?: \"video\"\n object?: \"block\"\n }\n | {\n pdf: MediaContentWithFileAndCaptionRequest\n type?: \"pdf\"\n object?: \"block\"\n }\n | {\n file: MediaContentWithFileNameAndCaptionRequest\n type?: \"file\"\n object?: \"block\"\n }\n | {\n audio: MediaContentWithFileAndCaptionRequest\n type?: \"audio\"\n object?: \"block\"\n }\n | {\n code: {\n rich_text: Array<RichTextItemRequest>\n language: LanguageRequest\n caption?: Array<RichTextItemRequest>\n }\n type?: \"code\"\n object?: \"block\"\n }\n | {\n equation: ContentWithExpressionRequest\n type?: \"equation\"\n object?: \"block\"\n }\n | { divider: EmptyObject; type?: \"divider\"; object?: \"block\" }\n | { breadcrumb: EmptyObject; type?: \"breadcrumb\"; object?: \"block\" }\n | {\n table_of_contents: { color?: ApiColor }\n type?: \"table_of_contents\"\n object?: \"block\"\n }\n | {\n link_to_page:\n | { page_id: IdRequest; type?: \"page_id\" }\n | { database_id: IdRequest; type?: \"database_id\" }\n | { comment_id: IdRequest; type?: \"comment_id\" }\n type?: \"link_to_page\"\n object?: \"block\"\n }\n | {\n table_row: ContentWithTableRowRequest\n type?: \"table_row\"\n object?: \"block\"\n }\n | {\n heading_1: HeaderContentWithSingleLevelOfChildrenRequest\n type?: \"heading_1\"\n object?: \"block\"\n }\n | {\n heading_2: HeaderContentWithSingleLevelOfChildrenRequest\n type?: \"heading_2\"\n object?: \"block\"\n }\n | {\n heading_3: HeaderContentWithSingleLevelOfChildrenRequest\n type?: \"heading_3\"\n object?: \"block\"\n }\n | {\n paragraph: ContentWithSingleLevelOfChildrenRequest\n type?: \"paragraph\"\n object?: \"block\"\n }\n | {\n bulleted_list_item: ContentWithSingleLevelOfChildrenRequest\n type?: \"bulleted_list_item\"\n object?: \"block\"\n }\n | {\n numbered_list_item: ContentWithSingleLevelOfChildrenRequest\n type?: \"numbered_list_item\"\n object?: \"block\"\n }\n | {\n quote: ContentWithSingleLevelOfChildrenRequest\n type?: \"quote\"\n object?: \"block\"\n }\n | {\n table: TableRequestWithTableRowChildren\n type?: \"table\"\n object?: \"block\"\n }\n | {\n to_do: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectRequestWithoutChildren>\n checked?: boolean\n }\n type?: \"to_do\"\n object?: \"block\"\n }\n | {\n toggle: ContentWithSingleLevelOfChildrenRequest\n type?: \"toggle\"\n object?: \"block\"\n }\n | {\n template: {\n rich_text: Array<RichTextItemRequest>\n children?: Array<BlockObjectRequestWithoutChildren>\n }\n type?: \"template\"\n object?: \"block\"\n }\n | {\n callout: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectRequestWithoutChildren>\n icon?: PageIconRequest\n }\n type?: \"callout\"\n object?: \"block\"\n }\n | {\n synced_block: {\n synced_from: { block_id: IdRequest; type?: \"block_id\" } | null\n children?: Array<BlockObjectRequestWithoutChildren>\n }\n type?: \"synced_block\"\n object?: \"block\"\n }\n\nexport type BookmarkBlockObjectResponse = {\n type: \"bookmark\"\n bookmark: MediaContentWithUrlAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype BooleanFormulaPropertyResponse = {\n type: \"boolean\"\n boolean: boolean | null\n}\n\ntype BooleanFormulaPropertyValueResponse = {\n // Always `boolean`\n type: \"boolean\"\n boolean: boolean | null\n}\n\ntype BotInfoResponse = {\n // Details about the owner of the bot.\n owner:\n | {\n // Always `user`\n type: \"user\"\n // Details about the owner of the bot, when the `type` of the owner is `user`. This means\n // the bot is for a integration.\n user:\n | {\n // The ID of the user.\n id: IdResponse\n // The user object type name.\n object: \"user\"\n // The name of the user.\n name: string | null\n // The avatar URL of the user.\n avatar_url: string | null\n // The type of the user.\n type: \"person\"\n // The person info of the user.\n person: {\n // The email of the person.\n email?: string\n }\n }\n | PartialUserObjectResponse\n }\n | {\n // Always `workspace`\n type: \"workspace\"\n // Details about the owner of the bot, when the `type` of the owner is `workspace`. This\n // means the bot is for an internal integration.\n workspace: true\n }\n // The ID of the bot's workspace.\n workspace_id: string\n // Limits and restrictions that apply to the bot's workspace\n workspace_limits: {\n // The maximum allowable size of a file upload, in bytes\n max_file_upload_size_in_bytes: number\n }\n // The name of the bot's workspace.\n workspace_name: string | null\n}\n\nexport type BotUserObjectResponse = {\n // Indicates this user is a bot.\n type: \"bot\"\n // Details about the bot, when the `type` of the user is `bot`.\n bot: EmptyObject | BotInfoResponse\n}\n\nexport type BreadcrumbBlockObjectResponse = {\n type: \"breadcrumb\"\n breadcrumb: EmptyObject\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type BulletedListItemBlockObjectResponse = {\n type: \"bulleted_list_item\"\n bulleted_list_item: ContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype ButtonPropertyConfigurationRequest = {\n // Always `button`\n type?: \"button\"\n button: EmptyObject\n}\n\nexport type ButtonPropertyItemObjectResponse = {\n type: \"button\"\n button: EmptyObject\n object: \"property_item\"\n id: string\n}\n\ntype ButtonSimplePropertyValueResponse = {\n // Always `button`\n type: \"button\"\n button: EmptyObject\n}\n\nexport type CalloutBlockObjectResponse = {\n type: \"callout\"\n callout: {\n rich_text: Array<RichTextItemResponse>\n color: ApiColor\n icon: PageIconResponse | null\n }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype CheckboxDatabasePropertyConfigResponse = {\n // Always `checkbox`\n type: \"checkbox\"\n checkbox: EmptyObject\n}\n\ntype CheckboxPropertyConfigurationRequest = {\n // Always `checkbox`\n type?: \"checkbox\"\n checkbox: EmptyObject\n}\n\ntype CheckboxPropertyFilter = { equals: boolean } | { does_not_equal: boolean }\n\nexport type CheckboxPropertyItemObjectResponse = {\n type: \"checkbox\"\n checkbox: boolean\n object: \"property_item\"\n id: string\n}\n\ntype CheckboxSimplePropertyValueResponse = {\n // Always `checkbox`\n type: \"checkbox\"\n checkbox: boolean\n}\n\nexport type ChildDatabaseBlockObjectResponse = {\n type: \"child_database\"\n child_database: TitleObjectResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type ChildPageBlockObjectResponse = {\n type: \"child_page\"\n child_page: TitleObjectResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type CodeBlockObjectResponse = {\n type: \"code\"\n code: {\n rich_text: Array<RichTextItemResponse>\n caption: Array<RichTextItemResponse>\n language: LanguageRequest\n }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type ColumnBlockObjectResponse = {\n type: \"column\"\n column: ColumnResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype ColumnBlockWithChildrenRequest = {\n column: ColumnWithChildrenRequest\n type?: \"column\"\n object?: \"block\"\n}\n\nexport type ColumnListBlockObjectResponse = {\n type: \"column_list\"\n column_list: EmptyObject\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype ColumnListRequest = { children: Array<ColumnBlockWithChildrenRequest> }\n\ntype ColumnResponse = {\n // Ratio between 0 and 1 of the width of this column relative to all columns in the list.\n // If not provided, uses an equal width.\n width_ratio?: number\n}\n\ntype ColumnWithChildrenRequest = {\n children: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n // Ratio between 0 and 1 of the width of this column relative to all columns in the list.\n // If not provided, uses an equal width.\n width_ratio?: number\n}\n\nexport type CommentObjectResponse = {\n // The comment object type name.\n object: \"comment\"\n // The ID of the comment.\n id: IdResponse\n // The parent of the comment.\n parent: CommentParentResponse\n // The ID of the discussion thread this comment belongs to.\n discussion_id: IdResponse\n // The time when the comment was created.\n created_time: string\n // The time when the comment was last edited.\n last_edited_time: string\n // The user who created the comment.\n created_by: PartialUserObjectResponse\n // The rich text content of the comment.\n rich_text: Array<RichTextItemResponse>\n // The display name of the comment.\n display_name: {\n // One of: `custom`, `user`, `integration`\n type: \"custom\" | \"user\" | \"integration\"\n resolved_name: string | null\n }\n // Any file attachments associated with the comment.\n attachments?: Array<{\n // One of: `audio`, `image`, `pdf`, `productivity`, `video`\n category: \"audio\" | \"image\" | \"pdf\" | \"productivity\" | \"video\"\n file: InternalFileResponse\n }>\n}\n\ntype CommentParentResponse =\n | PageIdCommentParentResponse\n | BlockIdCommentParentResponse\n\ntype ContentPositionSchema =\n | { type: \"after_block\"; after_block: { id: IdRequest } }\n | { type: \"start\" }\n | { type: \"end\" }\n\ntype ContentWithExpressionRequest = { expression: string }\n\ntype ContentWithRichTextAndColorAndListResponse = {\n rich_text: Array<RichTextItemResponse>\n color: ApiColor\n list_start_index?: number\n list_format?: NumberedListFormat\n}\n\ntype ContentWithRichTextAndColorRequest = {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n}\n\ntype ContentWithRichTextAndColorResponse = {\n rich_text: Array<RichTextItemResponse>\n color: ApiColor\n}\n\ntype ContentWithRichTextRequest = { rich_text: Array<RichTextItemRequest> }\n\ntype ContentWithSingleLevelOfChildrenRequest = {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectRequestWithoutChildren>\n}\n\ntype ContentWithTableResponse = {\n has_column_header: boolean\n has_row_header: boolean\n table_width: number\n}\n\ntype ContentWithTableRowRequest = { cells: Array<Array<RichTextItemRequest>> }\n\ntype ContentWithTableRowResponse = { cells: Array<Array<RichTextItemResponse>> }\n\ntype CreatedByDatabasePropertyConfigResponse = {\n // Always `created_by`\n type: \"created_by\"\n created_by: EmptyObject\n}\n\ntype CreatedByPropertyConfigurationRequest = {\n // Always `created_by`\n type?: \"created_by\"\n created_by: EmptyObject\n}\n\nexport type CreatedByPropertyItemObjectResponse = {\n type: \"created_by\"\n created_by: PartialUserObjectResponse | UserObjectResponse\n object: \"property_item\"\n id: string\n}\n\ntype CreatedBySimplePropertyValueResponse = {\n // Always `created_by`\n type: \"created_by\"\n created_by: UserValueResponse\n}\n\ntype CreatedTimeDatabasePropertyConfigResponse = {\n // Always `created_time`\n type: \"created_time\"\n created_time: EmptyObject\n}\n\ntype CreatedTimePropertyConfigurationRequest = {\n // Always `created_time`\n type?: \"created_time\"\n created_time: EmptyObject\n}\n\nexport type CreatedTimePropertyItemObjectResponse = {\n type: \"created_time\"\n created_time: string\n object: \"property_item\"\n id: string\n}\n\ntype CreatedTimeSimplePropertyValueResponse = {\n // Always `created_time`\n type: \"created_time\"\n created_time: string\n}\n\ntype CustomEmojiPageIconRequest = {\n // Always `custom_emoji`\n type?: \"custom_emoji\"\n custom_emoji: {\n // The ID of the custom emoji.\n id: IdRequest\n // The name of the custom emoji.\n name?: string\n // The URL of the custom emoji.\n url?: string\n }\n}\n\ntype CustomEmojiPageIconResponse = {\n // Type of icon. In this case, a custom emoji.\n type: \"custom_emoji\"\n // The custom emoji details for the icon.\n custom_emoji: CustomEmojiResponse\n}\n\ntype CustomEmojiResponse = {\n // The ID of the custom emoji.\n id: IdResponse\n // The name of the custom emoji.\n name: string\n // The URL of the custom emoji.\n url: string\n}\n\nexport type DataSourceObjectResponse = {\n // The data source object type name.\n object: \"data_source\"\n // The ID of the data source.\n id: IdResponse\n // The title of the data source.\n title: Array<RichTextItemResponse>\n // The description of the data source.\n description: Array<RichTextItemResponse>\n // The parent of the data source.\n parent: ParentOfDataSourceResponse\n // The parent of the data source's containing database. This is typically a page, block,\n // or workspace, but can be another database in the case of wikis.\n database_parent: ParentOfDatabaseResponse\n // Whether the data source is inline.\n is_inline: boolean\n // Whether the data source is in the trash.\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n // The time when the data source was created.\n created_time: string\n // The time when the data source was last edited.\n last_edited_time: string\n // The user who created the data source.\n created_by: PartialUserObjectResponse\n // The user who last edited the data source.\n last_edited_by: PartialUserObjectResponse\n // The properties schema of the data source.\n properties: Record<string, DatabasePropertyConfigResponse>\n // The icon of the data source.\n icon: PageIconResponse | null\n // The cover of the data source.\n cover: PageCoverResponse | null\n // The URL of the data source.\n url: string\n // The public URL of the data source if it is publicly accessible.\n public_url: string | null\n}\n\ntype DataSourceParentResponse = {\n // The parent type.\n type: \"data_source_id\"\n // The ID of the parent data source.\n data_source_id: IdResponse\n // The ID of the data source's parent database.\n database_id: IdResponse\n}\n\ntype DataSourceReferenceResponse = {\n // The ID of the data source.\n id: IdResponse\n // The name of the data source.\n name: string\n}\n\nexport type DatabaseObjectResponse = {\n // The database object type name.\n object: \"database\"\n // The ID of the database.\n id: IdResponse\n // The title of the database.\n title: Array<RichTextItemResponse>\n // The description of the database.\n description: Array<RichTextItemResponse>\n // The parent of the database. This is typically a page, block, or workspace, but can be\n // another database in the case of wikis.\n parent: ParentOfDatabaseResponse\n // Whether the database is inline.\n is_inline: boolean\n // Whether the database is in the trash.\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n // Whether the database is locked from editing in the Notion app UI.\n is_locked: boolean\n // The time when the database was created.\n created_time: string\n // The time when the database was last edited.\n last_edited_time: string\n // The data sources of the database.\n data_sources: Array<DataSourceReferenceResponse>\n // The icon of the database.\n icon: PageIconResponse | null\n // The cover of the database.\n cover: PageCoverResponse | null\n // The URL of the database.\n url: string\n // The public URL of the database if it is publicly accessible.\n public_url: string | null\n}\n\ntype DatabaseParentResponse = {\n // The parent type.\n type: \"database_id\"\n // The ID of the parent database.\n database_id: IdResponse\n}\n\ntype DatabasePropertyConfigResponse = DatabasePropertyConfigResponseCommon &\n (\n | NumberDatabasePropertyConfigResponse\n | FormulaDatabasePropertyConfigResponse\n | SelectDatabasePropertyConfigResponse\n | MultiSelectDatabasePropertyConfigResponse\n | StatusDatabasePropertyConfigResponse\n | RelationDatabasePropertyConfigResponse\n | RollupDatabasePropertyConfigResponse\n | UniqueIdDatabasePropertyConfigResponse\n | TitleDatabasePropertyConfigResponse\n | RichTextDatabasePropertyConfigResponse\n | UrlDatabasePropertyConfigResponse\n | PeopleDatabasePropertyConfigResponse\n | FilesDatabasePropertyConfigResponse\n | EmailDatabasePropertyConfigResponse\n | PhoneNumberDatabasePropertyConfigResponse\n | DateDatabasePropertyConfigResponse\n | CheckboxDatabasePropertyConfigResponse\n | CreatedByDatabasePropertyConfigResponse\n | CreatedTimeDatabasePropertyConfigResponse\n | LastEditedByDatabasePropertyConfigResponse\n | LastEditedTimeDatabasePropertyConfigResponse\n )\n\ntype DatabasePropertyConfigResponseCommon = {\n // The ID of the property.\n id: string\n // The name of the property.\n name: string\n // The description of the property.\n description: PropertyDescriptionRequest | null\n}\n\ntype DatabasePropertyRelationConfigResponse =\n DatabasePropertyRelationConfigResponseCommon &\n (\n | SinglePropertyDatabasePropertyRelationConfigResponse\n | DualPropertyDatabasePropertyRelationConfigResponse\n )\n\ntype DatabasePropertyRelationConfigResponseCommon = {\n database_id: IdResponse\n data_source_id: IdResponse\n}\n\ntype DateDatabasePropertyConfigResponse = {\n // Always `date`\n type: \"date\"\n date: EmptyObject\n}\n\ntype DateFormulaPropertyResponse = { type: \"date\"; date: DateResponse | null }\n\ntype DateFormulaPropertyValueResponse = {\n // Always `date`\n type: \"date\"\n date: DateResponse | null\n}\n\ntype DatePartialRollupValueResponse = {\n // Always `date`\n type: \"date\"\n date: DateResponse | null\n}\n\ntype DatePropertyConfigurationRequest = {\n // Always `date`\n type?: \"date\"\n date: EmptyObject\n}\n\ntype DatePropertyFilter =\n | { equals: string }\n | { before: string }\n | { after: string }\n | { on_or_before: string }\n | { on_or_after: string }\n | { this_week: EmptyObject }\n | { past_week: EmptyObject }\n | { past_month: EmptyObject }\n | { past_year: EmptyObject }\n | { next_week: EmptyObject }\n | { next_month: EmptyObject }\n | { next_year: EmptyObject }\n | ExistencePropertyFilter\n\nexport type DatePropertyItemObjectResponse = {\n type: \"date\"\n date: DateResponse | null\n object: \"property_item\"\n id: string\n}\n\ntype DateRequest = {\n // The start date of the date object.\n start: string\n // The end date of the date object, if any.\n end?: string | null\n // The time zone of the date object, if any. E.g. America/Los_Angeles, Europe/London,\n // etc.\n time_zone?: TimeZoneRequest | null\n}\n\ntype DateResponse = {\n // The start date of the date object.\n start: string\n // The end date of the date object, if any.\n end: string | null\n // The time zone of the date object.\n time_zone: TimeZoneRequest | null\n}\n\ntype DateSimplePropertyValueResponse = {\n // Always `date`\n type: \"date\"\n date: DateResponse | null\n}\n\nexport type DividerBlockObjectResponse = {\n type: \"divider\"\n divider: EmptyObject\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype DualPropertyDatabasePropertyRelationConfigResponse = {\n // Always `dual_property`\n type?: \"dual_property\"\n dual_property: { synced_property_id: string; synced_property_name: string }\n}\n\ntype EmailDatabasePropertyConfigResponse = {\n // Always `email`\n type: \"email\"\n email: EmptyObject\n}\n\ntype EmailPropertyConfigurationRequest = {\n // Always `email`\n type?: \"email\"\n email: EmptyObject\n}\n\nexport type EmailPropertyItemObjectResponse = {\n type: \"email\"\n email: string | null\n object: \"property_item\"\n id: string\n}\n\ntype EmailSimplePropertyValueResponse = {\n // Always `email`\n type: \"email\"\n email: string | null\n}\n\nexport type EmbedBlockObjectResponse = {\n type: \"embed\"\n embed: MediaContentWithUrlAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype EmojiPageIconRequest = {\n // Always `emoji`\n type?: \"emoji\"\n // An emoji character.\n emoji: EmojiRequest\n}\n\ntype EmojiPageIconResponse = {\n // Type of icon. In this case, an emoji.\n type: \"emoji\"\n // The emoji character used as the icon.\n emoji: EmojiRequest\n}\n\ntype EmojiRequest = string\n\ntype EmptyObject = Record<string, never>\n\nexport type EquationBlockObjectResponse = {\n type: \"equation\"\n equation: ExpressionObjectResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype EquationRichTextItemRequest = {\n // Always `equation`\n type?: \"equation\"\n // Notion supports inline LaTeX equations as rich text objects with a type value of\n // `equation`.\n equation: {\n // A KaTeX compatible string.\n expression: string\n }\n}\n\nexport type EquationRichTextItemResponse = {\n // Always `equation`\n type: \"equation\"\n // Notion supports inline LaTeX equations as rich text objects with a type value of\n // `equation`.\n equation: {\n // A KaTeX compatible string.\n expression: string\n }\n}\n\ntype ExistencePropertyFilter = { is_empty: true } | { is_not_empty: true }\n\ntype ExpressionObjectResponse = { expression: string }\n\ntype ExternalFileRequest = { url: TextRequest }\n\ntype ExternalInternalOrExternalFileWithNameResponse = {\n // Type of attachment. In this case, an external URL.\n type: \"external\"\n // The external URL.\n external: {\n // The URL of the external file or resource.\n url: string\n }\n}\n\ntype ExternalMediaContentWithFileAndCaptionResponse = {\n type: \"external\"\n external: { url: TextRequest }\n caption: Array<RichTextItemResponse>\n}\n\ntype ExternalMediaContentWithFileNameAndCaptionResponse = {\n type: \"external\"\n external: { url: TextRequest }\n caption: Array<RichTextItemResponse>\n name: string\n}\n\ntype ExternalPageCoverRequest = {\n // Always `external`\n type?: \"external\"\n // External URL for the cover.\n external: {\n // The URL of the external file.\n url: string\n }\n}\n\ntype ExternalPageCoverResponse = {\n // Type of cover. In this case, an external URL.\n type: \"external\"\n // The external URL for the cover.\n external: {\n // The URL of the external file or resource.\n url: string\n }\n}\n\ntype ExternalPageIconRequest = {\n // Always `external`\n type?: \"external\"\n external: {\n // The URL of the external file.\n url: string\n }\n}\n\ntype ExternalPageIconResponse = {\n // Type of icon. In this case, an external URL.\n type: \"external\"\n // The external URL for the icon.\n external: {\n // The URL of the external file or resource.\n url: string\n }\n}\n\nexport type FileBlockObjectResponse = {\n type: \"file\"\n file: MediaContentWithFileNameAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype FileInternalOrExternalFileWithNameResponse = {\n // Type of attachment. In this case, a file uploaded to a Notion workspace.\n type: \"file\"\n // The file URL.\n file: InternalFileResponse\n}\n\ntype FileMediaContentWithFileAndCaptionResponse = {\n type: \"file\"\n file: InternalFileResponse\n caption: Array<RichTextItemResponse>\n}\n\ntype FileMediaContentWithFileNameAndCaptionResponse = {\n type: \"file\"\n file: InternalFileResponse\n caption: Array<RichTextItemResponse>\n name: string\n}\n\ntype FilePageCoverResponse = {\n // Type of cover. In this case, a file.\n type: \"file\"\n // The file URL for the cover.\n file: InternalFileResponse\n}\n\ntype FilePageIconResponse = {\n // Type of icon. In this case, a file.\n type: \"file\"\n // The file URL for the icon.\n file: InternalFileResponse\n}\n\ntype FileUploadIdRequest = { id: IdRequest }\n\nexport type FileUploadObjectResponse = {\n // Always `file_upload`\n object: \"file_upload\"\n id: IdResponse\n created_time: string\n created_by: {\n id: IdResponse\n // One of: `person`, `bot`, `agent`\n type: \"person\" | \"bot\" | \"agent\"\n }\n last_edited_time: string\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n expiry_time: string | null\n // One of: `pending`, `uploaded`, `expired`, `failed`\n status: \"pending\" | \"uploaded\" | \"expired\" | \"failed\"\n filename: string | null\n content_type: string | null\n content_length: number | null\n upload_url?: string\n complete_url?: string\n file_import_result?: {\n // The time the file was imported into Notion. ISO 8601 format.\n imported_time: string\n } & (\n | {\n // Indicates a successful import.\n type: \"success\"\n // Empty object for success type.\n success: EmptyObject\n }\n | {\n // Indicates an error occurred during import.\n type: \"error\"\n // Details about the error that occurred during file import.\n error: {\n // The type of error that occurred during file import.\n type:\n | \"validation_error\"\n | \"internal_system_error\"\n | \"download_error\"\n | \"upload_error\"\n // A short string code representing the error.\n code: string\n // A human-readable message describing the error.\n message: string\n // The parameter related to the error, if applicable. Null if not applicable.\n parameter: string | null\n // The HTTP status code associated with the error, if available. Null if not applicable.\n status_code: number | null\n }\n }\n )\n number_of_parts?: { total: number; sent: number }\n}\n\ntype FileUploadPageCoverRequest = {\n // Always `file_upload`\n type?: \"file_upload\"\n // The file upload for the cover.\n file_upload: {\n // ID of a FileUpload object that has the status `uploaded`.\n id: string\n }\n}\n\ntype FileUploadPageIconRequest = {\n // Always `file_upload`\n type?: \"file_upload\"\n file_upload: {\n // ID of a FileUpload object that has the status `uploaded`.\n id: string\n }\n}\n\ntype FileUploadWithOptionalNameRequest = {\n file_upload: FileUploadIdRequest\n type?: \"file_upload\"\n name?: StringRequest\n}\n\ntype FilesDatabasePropertyConfigResponse = {\n // Always `files`\n type: \"files\"\n files: EmptyObject\n}\n\ntype FilesPropertyConfigurationRequest = {\n // Always `files`\n type?: \"files\"\n files: EmptyObject\n}\n\nexport type FilesPropertyItemObjectResponse = {\n type: \"files\"\n files: Array<InternalOrExternalFileWithNameResponse>\n object: \"property_item\"\n id: string\n}\n\ntype FilesSimplePropertyValueResponse = {\n // Always `files`\n type: \"files\"\n files: Array<InternalOrExternalFileWithNameResponse>\n}\n\ntype FormulaDatabasePropertyConfigResponse = {\n // Always `formula`\n type: \"formula\"\n formula: { expression: string }\n}\n\ntype FormulaPropertyConfigurationRequest = {\n // Always `formula`\n type?: \"formula\"\n formula: { expression?: string }\n}\n\ntype FormulaPropertyFilter =\n | { string: TextPropertyFilter }\n | { checkbox: CheckboxPropertyFilter }\n | { number: NumberPropertyFilter }\n | { date: DatePropertyFilter }\n\nexport type FormulaPropertyItemObjectResponse = {\n type: \"formula\"\n formula: FormulaPropertyResponse\n object: \"property_item\"\n id: string\n}\n\ntype FormulaPropertyResponse =\n | StringFormulaPropertyResponse\n | DateFormulaPropertyResponse\n | NumberFormulaPropertyResponse\n | BooleanFormulaPropertyResponse\n\ntype FormulaPropertyValueResponse =\n | BooleanFormulaPropertyValueResponse\n | DateFormulaPropertyValueResponse\n | NumberFormulaPropertyValueResponse\n | StringFormulaPropertyValueResponse\n\ntype FormulaSimplePropertyValueResponse = {\n // Always `formula`\n type: \"formula\"\n formula: FormulaPropertyValueResponse\n}\n\ntype GroupFilterOperatorArray = Array<\n | PropertyOrTimestampFilter\n | { or: PropertyOrTimestampFilterArray }\n | { and: PropertyOrTimestampFilterArray }\n>\n\ntype GroupObjectRequest = {\n id: IdRequest\n name?: string | null\n object?: \"group\"\n}\n\nexport type GroupObjectResponse = {\n // The ID of the group.\n id: IdResponse\n // The group object type name.\n object: \"group\"\n // The name of the group.\n name: string | null\n}\n\ntype HeaderContentWithRichTextAndColorRequest = {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n is_toggleable?: boolean\n}\n\ntype HeaderContentWithRichTextAndColorResponse = {\n rich_text: Array<RichTextItemResponse>\n color: ApiColor\n is_toggleable: boolean\n}\n\ntype HeaderContentWithSingleLevelOfChildrenRequest = {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n is_toggleable?: boolean\n children?: Array<BlockObjectRequestWithoutChildren>\n}\n\nexport type Heading1BlockObjectResponse = {\n type: \"heading_1\"\n heading_1: HeaderContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type Heading2BlockObjectResponse = {\n type: \"heading_2\"\n heading_2: HeaderContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type Heading3BlockObjectResponse = {\n type: \"heading_3\"\n heading_3: HeaderContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype IdObjectResponse = { id: string }\n\ntype IdRequest = string\n\ntype IdResponse = string\n\nexport type ImageBlockObjectResponse = {\n type: \"image\"\n image: MediaContentWithFileAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype InitialDataSourceRequest = {\n // Property schema for the initial data source, if you'd like to create one.\n properties?: Record<string, PropertyConfigurationRequest>\n}\n\ntype InternalFileRequest = { url: string; expiry_time?: string }\n\ntype InternalFileResponse = {\n // The URL of the file.\n url: string\n // The time when the URL will expire.\n expiry_time: string\n}\n\ntype InternalOrExternalFileWithNameRequest =\n | { file: InternalFileRequest; name: StringRequest; type?: \"file\" }\n | { external: ExternalFileRequest; name: StringRequest; type?: \"external\" }\n\ntype InternalOrExternalFileWithNameResponse =\n InternalOrExternalFileWithNameResponseCommon &\n (\n | FileInternalOrExternalFileWithNameResponse\n | ExternalInternalOrExternalFileWithNameResponse\n )\n\ntype InternalOrExternalFileWithNameResponseCommon = {\n // The name of the file.\n name: string\n}\n\ntype LanguageRequest =\n | \"abap\"\n | \"abc\"\n | \"agda\"\n | \"arduino\"\n | \"ascii art\"\n | \"assembly\"\n | \"bash\"\n | \"basic\"\n | \"bnf\"\n | \"c\"\n | \"c#\"\n | \"c++\"\n | \"clojure\"\n | \"coffeescript\"\n | \"coq\"\n | \"css\"\n | \"dart\"\n | \"dhall\"\n | \"diff\"\n | \"docker\"\n | \"ebnf\"\n | \"elixir\"\n | \"elm\"\n | \"erlang\"\n | \"f#\"\n | \"flow\"\n | \"fortran\"\n | \"gherkin\"\n | \"glsl\"\n | \"go\"\n | \"graphql\"\n | \"groovy\"\n | \"haskell\"\n | \"hcl\"\n | \"html\"\n | \"idris\"\n | \"java\"\n | \"javascript\"\n | \"json\"\n | \"julia\"\n | \"kotlin\"\n | \"latex\"\n | \"less\"\n | \"lisp\"\n | \"livescript\"\n | \"llvm ir\"\n | \"lua\"\n | \"makefile\"\n | \"markdown\"\n | \"markup\"\n | \"matlab\"\n | \"mathematica\"\n | \"mermaid\"\n | \"nix\"\n | \"notion formula\"\n | \"objective-c\"\n | \"ocaml\"\n | \"pascal\"\n | \"perl\"\n | \"php\"\n | \"plain text\"\n | \"powershell\"\n | \"prolog\"\n | \"protobuf\"\n | \"purescript\"\n | \"python\"\n | \"r\"\n | \"racket\"\n | \"reason\"\n | \"ruby\"\n | \"rust\"\n | \"sass\"\n | \"scala\"\n | \"scheme\"\n | \"scss\"\n | \"shell\"\n | \"smalltalk\"\n | \"solidity\"\n | \"sql\"\n | \"swift\"\n | \"toml\"\n | \"typescript\"\n | \"vb.net\"\n | \"verilog\"\n | \"vhdl\"\n | \"visual basic\"\n | \"webassembly\"\n | \"xml\"\n | \"yaml\"\n | \"java/c/c++/c#\"\n\ntype LastEditedByDatabasePropertyConfigResponse = {\n // Always `last_edited_by`\n type: \"last_edited_by\"\n last_edited_by: EmptyObject\n}\n\ntype LastEditedByPropertyConfigurationRequest = {\n // Always `last_edited_by`\n type?: \"last_edited_by\"\n last_edited_by: EmptyObject\n}\n\nexport type LastEditedByPropertyItemObjectResponse = {\n type: \"last_edited_by\"\n last_edited_by: PartialUserObjectResponse | UserObjectResponse\n object: \"property_item\"\n id: string\n}\n\ntype LastEditedBySimplePropertyValueResponse = {\n // Always `last_edited_by`\n type: \"last_edited_by\"\n last_edited_by: UserValueResponse\n}\n\ntype LastEditedTimeDatabasePropertyConfigResponse = {\n // Always `last_edited_time`\n type: \"last_edited_time\"\n last_edited_time: EmptyObject\n}\n\ntype LastEditedTimePropertyConfigurationRequest = {\n // Always `last_edited_time`\n type?: \"last_edited_time\"\n last_edited_time: EmptyObject\n}\n\nexport type LastEditedTimePropertyItemObjectResponse = {\n type: \"last_edited_time\"\n last_edited_time: string\n object: \"property_item\"\n id: string\n}\n\ntype LastEditedTimeSimplePropertyValueResponse = {\n // Always `last_edited_time`\n type: \"last_edited_time\"\n last_edited_time: string\n}\n\ntype LastVisitedTimePropertyConfigurationRequest = {\n // Always `last_visited_time`\n type?: \"last_visited_time\"\n last_visited_time: EmptyObject\n}\n\ntype LinkMentionResponse = {\n // The href of the link mention.\n href: string\n // The title of the link.\n title?: string\n // The description of the link.\n description?: string\n // The author of the link.\n link_author?: string\n // The provider of the link.\n link_provider?: string\n // The thumbnail URL of the link.\n thumbnail_url?: string\n // The icon URL of the link.\n icon_url?: string\n // The iframe URL of the link.\n iframe_url?: string\n // The height of the link preview iframe.\n height?: number\n // The padding of the link preview iframe.\n padding?: number\n // The top padding of the link preview iframe.\n padding_top?: number\n}\n\nexport type LinkPreviewBlockObjectResponse = {\n type: \"link_preview\"\n link_preview: MediaContentWithUrlResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype LinkPreviewMentionResponse = {\n // The URL of the link preview mention.\n url: string\n}\n\nexport type LinkToPageBlockObjectResponse = {\n type: \"link_to_page\"\n link_to_page:\n | { type: \"page_id\"; page_id: IdRequest }\n | { type: \"database_id\"; database_id: IdRequest }\n | { type: \"comment_id\"; comment_id: IdRequest }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype LocationPropertyConfigurationRequest = {\n // Always `location`\n type?: \"location\"\n location: EmptyObject\n}\n\ntype MediaContentWithFileAndCaptionRequest =\n | {\n external: ExternalFileRequest\n type?: \"external\"\n caption?: Array<RichTextItemRequest>\n }\n | {\n file_upload: FileUploadIdRequest\n type?: \"file_upload\"\n caption?: Array<RichTextItemRequest>\n }\n\ntype MediaContentWithFileAndCaptionResponse =\n | ExternalMediaContentWithFileAndCaptionResponse\n | FileMediaContentWithFileAndCaptionResponse\n\ntype MediaContentWithFileNameAndCaptionRequest =\n | {\n external: ExternalFileRequest\n type?: \"external\"\n caption?: Array<RichTextItemRequest>\n name?: StringRequest\n }\n | {\n file_upload: FileUploadIdRequest\n type?: \"file_upload\"\n caption?: Array<RichTextItemRequest>\n name?: StringRequest\n }\n\ntype MediaContentWithFileNameAndCaptionResponse =\n | ExternalMediaContentWithFileNameAndCaptionResponse\n | FileMediaContentWithFileNameAndCaptionResponse\n\ntype MediaContentWithUrlAndCaptionRequest = {\n url: string\n caption?: Array<RichTextItemRequest>\n}\n\ntype MediaContentWithUrlAndCaptionResponse = {\n url: string\n caption: Array<RichTextItemResponse>\n}\n\ntype MediaContentWithUrlResponse = { url: TextRequest }\n\n/**\n * @deprecated Use MeetingNotesBlockObjectResponse instead. Renamed in API version 2026-03-11.\n */\nexport type TranscriptionBlockObjectResponse = {\n type: \"transcription\"\n transcription: TranscriptionBlockResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type MeetingNotesBlockObjectResponse = {\n type: \"meeting_notes\"\n meeting_notes: TranscriptionBlockResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype MentionRichTextItemRequest = {\n // Always `mention`\n type?: \"mention\"\n // Mention objects represent an inline mention of a database, date, link preview mention,\n // page, template mention, or user. A mention is created in the Notion UI when a user\n // types `@` followed by the name of the reference.\n mention:\n | {\n // Always `user`\n type?: \"user\"\n // Details of the user mention.\n user: PartialUserObjectRequest\n }\n | {\n // Always `date`\n type?: \"date\"\n // Details of the date mention.\n date: DateRequest\n }\n | {\n // Always `page`\n type?: \"page\"\n // Details of the page mention.\n page: {\n // The ID of the page in the mention.\n id: IdRequest\n }\n }\n | {\n // Always `database`\n type?: \"database\"\n // Details of the database mention.\n database: {\n // The ID of the database in the mention.\n id: IdRequest\n }\n }\n | {\n // Always `template_mention`\n type?: \"template_mention\"\n // Details of the template mention.\n template_mention: TemplateMentionRequest\n }\n | {\n // Always `custom_emoji`\n type?: \"custom_emoji\"\n // Details of the custom emoji mention.\n custom_emoji: {\n // The ID of the custom emoji.\n id: IdRequest\n // The name of the custom emoji.\n name?: string\n // The URL of the custom emoji.\n url?: string\n }\n }\n}\n\nexport type MentionRichTextItemResponse = {\n // Always `mention`\n type: \"mention\"\n // Mention objects represent an inline mention of a database, date, link preview mention,\n // page, template mention, or user. A mention is created in the Notion UI when a user\n // types `@` followed by the name of the reference.\n mention:\n | {\n // Always `user`\n type: \"user\"\n // Details of the user mention.\n user: UserValueResponse\n }\n | {\n // Always `date`\n type: \"date\"\n // Details of the date mention.\n date: DateResponse\n }\n | {\n // Always `link_preview`\n type: \"link_preview\"\n // Details of the link preview mention.\n link_preview: LinkPreviewMentionResponse\n }\n | {\n // Always `link_mention`\n type: \"link_mention\"\n // Details of the link mention.\n link_mention: LinkMentionResponse\n }\n | {\n // Always `page`\n type: \"page\"\n // Details of the page mention.\n page: {\n // The ID of the page in the mention.\n id: IdResponse\n }\n }\n | {\n // Always `database`\n type: \"database\"\n // Details of the database mention.\n database: {\n // The ID of the database in the mention.\n id: IdResponse\n }\n }\n | {\n // Always `template_mention`\n type: \"template_mention\"\n // Details of the template mention.\n template_mention: TemplateMentionResponse\n }\n | {\n // Always `custom_emoji`\n type: \"custom_emoji\"\n // Details of the custom emoji mention.\n custom_emoji: CustomEmojiResponse\n }\n}\n\ntype MultiSelectDatabasePropertyConfigResponse = {\n // Always `multi_select`\n type: \"multi_select\"\n multi_select: { options: Array<SelectPropertyResponse> }\n}\n\ntype MultiSelectPropertyConfigurationRequest = {\n // Always `multi_select`\n type?: \"multi_select\"\n multi_select: {\n options?: Array<{\n name: string\n color?: SelectColor\n description?: string | null\n }>\n }\n}\n\ntype MultiSelectPropertyFilter =\n | { contains: string }\n | { does_not_contain: string }\n | ExistencePropertyFilter\n\nexport type MultiSelectPropertyItemObjectResponse = {\n type: \"multi_select\"\n multi_select: Array<PartialSelectResponse>\n object: \"property_item\"\n id: string\n}\n\ntype MultiSelectSimplePropertyValueResponse = {\n // Always `multi_select`\n type: \"multi_select\"\n multi_select: Array<PartialSelectPropertyValueResponse>\n}\n\ntype NumberDatabasePropertyConfigResponse = {\n // Always `number`\n type: \"number\"\n number: {\n // The number format for the property.\n format: NumberFormat\n }\n}\n\ntype NumberFormat = string\n\ntype NumberFormulaPropertyResponse = { type: \"number\"; number: number | null }\n\ntype NumberFormulaPropertyValueResponse = {\n // Always `number`\n type: \"number\"\n number: number | null\n}\n\ntype NumberPartialRollupValueResponse = {\n // Always `number`\n type: \"number\"\n number: number | null\n}\n\ntype NumberPropertyConfigurationRequest = {\n // Always `number`\n type?: \"number\"\n number: { format?: NumberFormat }\n}\n\ntype NumberPropertyFilter =\n | { equals: number }\n | { does_not_equal: number }\n | { greater_than: number }\n | { less_than: number }\n | { greater_than_or_equal_to: number }\n | { less_than_or_equal_to: number }\n | ExistencePropertyFilter\n\nexport type NumberPropertyItemObjectResponse = {\n type: \"number\"\n number: number | null\n object: \"property_item\"\n id: string\n}\n\ntype NumberSimplePropertyValueResponse = {\n // Always `number`\n type: \"number\"\n number: number | null\n}\n\ntype NumberedListFormat = \"numbers\" | \"letters\" | \"roman\"\n\nexport type NumberedListItemBlockObjectResponse = {\n type: \"numbered_list_item\"\n numbered_list_item: ContentWithRichTextAndColorAndListResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype PageCoverRequest = FileUploadPageCoverRequest | ExternalPageCoverRequest\n\ntype PageCoverResponse = FilePageCoverResponse | ExternalPageCoverResponse\n\ntype PageIconRequest =\n | FileUploadPageIconRequest\n | EmojiPageIconRequest\n | ExternalPageIconRequest\n | CustomEmojiPageIconRequest\n\ntype PageIconResponse =\n | EmojiPageIconResponse\n | FilePageIconResponse\n | ExternalPageIconResponse\n | CustomEmojiPageIconResponse\n\ntype PageIdCommentParentResponse = {\n // Always `page_id`\n type: \"page_id\"\n page_id: IdResponse\n}\n\ntype PageIdParentForBlockBasedObjectResponse = {\n // The parent type.\n type: \"page_id\"\n // The ID of the parent page.\n page_id: IdResponse\n}\n\ntype PageMarkdownResponse = {\n // The type of object, always 'page_markdown'.\n object: \"page_markdown\"\n // The ID of the page or block.\n id: IdResponse\n // The page content rendered as enhanced Markdown.\n markdown: string\n // Whether the content was truncated due to exceeding the record count limit.\n truncated: boolean\n // Block IDs that could not be loaded (appeared as <unknown> tags in the markdown). Pass\n // these IDs back to this endpoint to fetch their content separately.\n unknown_block_ids: Array<IdResponse>\n}\n\nexport type PageObjectResponse = {\n // The page object type name.\n object: \"page\"\n // The ID of the page.\n id: IdResponse\n // Date and time when this page was created.\n created_time: string\n // Date and time when this page was last edited.\n last_edited_time: string\n // Whether the page is in trash.\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n // Whether the page is locked from editing in the Notion app UI.\n is_locked: boolean\n // The URL of the Notion page.\n url: string\n // The public URL of the Notion page, if it has been published to the web.\n public_url: string | null\n // Information about the page's parent.\n parent: ParentForBlockBasedObjectResponse\n // Property values of this page.\n properties: Record<string, PagePropertyValueWithIdResponse>\n // Page icon.\n icon: PageIconResponse | null\n // Page cover image.\n cover: PageCoverResponse | null\n // User who created the page.\n created_by: PartialUserObjectResponse\n // User who last edited the page.\n last_edited_by: PartialUserObjectResponse\n}\n\ntype PagePositionSchema =\n | { type: \"after_block\"; after_block: { id: IdRequest } }\n | { type: \"page_start\" }\n | { type: \"page_end\" }\n\ntype PagePropertyValueWithIdResponse = IdObjectResponse &\n (SimpleOrArrayPropertyValueResponse | PartialRollupPropertyResponse)\n\nexport type ParagraphBlockObjectResponse = {\n type: \"paragraph\"\n paragraph: ContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype ParentForBlockBasedObjectResponse =\n | DatabaseParentResponse\n | DataSourceParentResponse\n | PageIdParentForBlockBasedObjectResponse\n | BlockIdParentForBlockBasedObjectResponse\n | WorkspaceParentForBlockBasedObjectResponse\n\ntype ParentOfDataSourceRequest = {\n // Always `database_id`\n type?: \"database_id\"\n // The ID of the parent database (with or without dashes), for example,\n // 195de9221179449fab8075a27c979105\n database_id: IdRequest\n}\n\n/**\n * The parent of the data source. This is typically a database (`database_id`), but for\n * externally synced data sources, can be another data source (`data_source_id`).\n */\ntype ParentOfDataSourceResponse =\n | DatabaseParentResponse\n | DataSourceParentResponse\n\ntype ParentOfDatabaseResponse =\n | PageIdParentForBlockBasedObjectResponse\n | WorkspaceParentForBlockBasedObjectResponse\n | DatabaseParentResponse\n | BlockIdParentForBlockBasedObjectResponse\n\nexport type PartialBlockObjectResponse = { object: \"block\"; id: string }\n\nexport type PartialCommentObjectResponse = {\n // The comment object type name.\n object: \"comment\"\n // The ID of the comment.\n id: IdResponse\n}\n\nexport type PartialDataSourceObjectResponse = {\n // The data source object type name.\n object: \"data_source\"\n // The ID of the data source.\n id: IdResponse\n // The properties schema of the data source.\n properties: Record<string, DatabasePropertyConfigResponse>\n}\n\nexport type PartialDatabaseObjectResponse = {\n // The database object type name.\n object: \"database\"\n // The ID of the database.\n id: IdResponse\n}\n\nexport type PartialPageObjectResponse = {\n // The page object type name.\n object: \"page\"\n // The ID of the page.\n id: IdResponse\n}\n\ntype PartialRollupPropertyResponse = {\n // Always `rollup`\n type: \"rollup\"\n rollup: PartialRollupValueResponse\n}\n\ntype PartialRollupValueResponse = PartialRollupValueResponseCommon &\n (\n | NumberPartialRollupValueResponse\n | DatePartialRollupValueResponse\n | ArrayPartialRollupValueResponse\n )\n\ntype PartialRollupValueResponseCommon = {\n // The function used for the rollup, e.g. count, count_values, percent_not_empty, max.\n function: RollupFunction\n}\n\ntype PartialSelectPropertyValueResponse = {\n id: string\n name: string\n // One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`,\n // `pink`, `red`\n color:\n | \"default\"\n | \"gray\"\n | \"brown\"\n | \"orange\"\n | \"yellow\"\n | \"green\"\n | \"blue\"\n | \"purple\"\n | \"pink\"\n | \"red\"\n}\n\ntype PartialSelectResponse = { id: string; name: string; color: SelectColor }\n\ntype PartialUserObjectRequest = {\n // The ID of the user.\n id: IdRequest\n // The user object type name.\n object?: \"user\"\n}\n\nexport type PartialUserObjectResponse = {\n id: IdResponse\n // Always `user`\n object: \"user\"\n}\n\nexport type PdfBlockObjectResponse = {\n type: \"pdf\"\n pdf: MediaContentWithFileAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype PeopleArrayBasedPropertyValueResponse = {\n // Always `people`\n type: \"people\"\n people: Array<UserValueResponse | GroupObjectResponse>\n}\n\ntype PeopleDatabasePropertyConfigResponse = {\n // Always `people`\n type: \"people\"\n people: EmptyObject\n}\n\ntype PeoplePropertyConfigurationRequest = {\n // Always `people`\n type?: \"people\"\n people: EmptyObject\n}\n\ntype PeoplePropertyFilter =\n | { contains: IdRequest }\n | { does_not_contain: IdRequest }\n | ExistencePropertyFilter\n\nexport type PeoplePropertyItemObjectResponse = {\n type: \"people\"\n people: PartialUserObjectResponse | UserObjectResponse\n object: \"property_item\"\n id: string\n}\n\nexport type PersonUserObjectResponse = {\n // Indicates this user is a person.\n type: \"person\"\n // Details about the person, when the `type` of the user is `person`.\n person: {\n // The email of the person.\n email?: string\n }\n}\n\ntype PhoneNumberDatabasePropertyConfigResponse = {\n // Always `phone_number`\n type: \"phone_number\"\n phone_number: EmptyObject\n}\n\ntype PhoneNumberPropertyConfigurationRequest = {\n // Always `phone_number`\n type?: \"phone_number\"\n phone_number: EmptyObject\n}\n\nexport type PhoneNumberPropertyItemObjectResponse = {\n type: \"phone_number\"\n phone_number: string | null\n object: \"property_item\"\n id: string\n}\n\ntype PhoneNumberSimplePropertyValueResponse = {\n // Always `phone_number`\n type: \"phone_number\"\n phone_number: string | null\n}\n\ntype PlacePropertyConfigurationRequest = {\n // Always `place`\n type?: \"place\"\n place: EmptyObject\n}\n\nexport type PlacePropertyItemObjectResponse = {\n type: \"place\"\n place: {\n lat: number\n lon: number\n name?: string | null\n address?: string | null\n aws_place_id?: string | null\n google_place_id?: string | null\n } | null\n object: \"property_item\"\n id: string\n}\n\ntype PlacePropertyValueResponse = {\n lat: number\n lon: number\n name?: string | null\n address?: string | null\n aws_place_id?: string | null\n google_place_id?: string | null\n}\n\ntype PlaceSimplePropertyValueResponse = {\n // Always `place`\n type: \"place\"\n place: PlacePropertyValueResponse | null\n}\n\ntype PropertyConfigurationRequest = PropertyConfigurationRequestCommon &\n (\n | NumberPropertyConfigurationRequest\n | FormulaPropertyConfigurationRequest\n | SelectPropertyConfigurationRequest\n | MultiSelectPropertyConfigurationRequest\n | StatusPropertyConfigurationRequest\n | RelationPropertyConfigurationRequest\n | RollupPropertyConfigurationRequest\n | UniqueIdPropertyConfigurationRequest\n | TitlePropertyConfigurationRequest\n | RichTextPropertyConfigurationRequest\n | UrlPropertyConfigurationRequest\n | PeoplePropertyConfigurationRequest\n | FilesPropertyConfigurationRequest\n | EmailPropertyConfigurationRequest\n | PhoneNumberPropertyConfigurationRequest\n | DatePropertyConfigurationRequest\n | CheckboxPropertyConfigurationRequest\n | CreatedByPropertyConfigurationRequest\n | CreatedTimePropertyConfigurationRequest\n | LastEditedByPropertyConfigurationRequest\n | LastEditedTimePropertyConfigurationRequest\n | ButtonPropertyConfigurationRequest\n | LocationPropertyConfigurationRequest\n | VerificationPropertyConfigurationRequest\n | LastVisitedTimePropertyConfigurationRequest\n | PlacePropertyConfigurationRequest\n )\n\ntype PropertyConfigurationRequestCommon = {\n // The description of the property.\n description?: PropertyDescriptionRequest | null\n}\n\ntype PropertyDescriptionRequest = string\n\ntype PropertyFilter =\n | { title: TextPropertyFilter; property: string; type?: \"title\" }\n | { rich_text: TextPropertyFilter; property: string; type?: \"rich_text\" }\n | { number: NumberPropertyFilter; property: string; type?: \"number\" }\n | { checkbox: CheckboxPropertyFilter; property: string; type?: \"checkbox\" }\n | { select: SelectPropertyFilter; property: string; type?: \"select\" }\n | {\n multi_select: MultiSelectPropertyFilter\n property: string\n type?: \"multi_select\"\n }\n | { status: StatusPropertyFilter; property: string; type?: \"status\" }\n | { date: DatePropertyFilter; property: string; type?: \"date\" }\n | { people: PeoplePropertyFilter; property: string; type?: \"people\" }\n | { files: ExistencePropertyFilter; property: string; type?: \"files\" }\n | { url: TextPropertyFilter; property: string; type?: \"url\" }\n | { email: TextPropertyFilter; property: string; type?: \"email\" }\n | {\n phone_number: TextPropertyFilter\n property: string\n type?: \"phone_number\"\n }\n | { relation: RelationPropertyFilter; property: string; type?: \"relation\" }\n | { created_by: PeoplePropertyFilter; property: string; type?: \"created_by\" }\n | {\n created_time: DatePropertyFilter\n property: string\n type?: \"created_time\"\n }\n | {\n last_edited_by: PeoplePropertyFilter\n property: string\n type?: \"last_edited_by\"\n }\n | {\n last_edited_time: DatePropertyFilter\n property: string\n type?: \"last_edited_time\"\n }\n | { formula: FormulaPropertyFilter; property: string; type?: \"formula\" }\n | { unique_id: NumberPropertyFilter; property: string; type?: \"unique_id\" }\n | { rollup: RollupPropertyFilter; property: string; type?: \"rollup\" }\n | {\n verification: VerificationPropertyStatusFilter\n property: string\n type?: \"verification\"\n }\n\nexport type PropertyItemListResponse = PropertyItemPropertyItemListResponse\n\nexport type PropertyItemObjectResponse =\n | NumberPropertyItemObjectResponse\n | UrlPropertyItemObjectResponse\n | SelectPropertyItemObjectResponse\n | MultiSelectPropertyItemObjectResponse\n | StatusPropertyItemObjectResponse\n | DatePropertyItemObjectResponse\n | EmailPropertyItemObjectResponse\n | PhoneNumberPropertyItemObjectResponse\n | CheckboxPropertyItemObjectResponse\n | FilesPropertyItemObjectResponse\n | CreatedByPropertyItemObjectResponse\n | CreatedTimePropertyItemObjectResponse\n | LastEditedByPropertyItemObjectResponse\n | LastEditedTimePropertyItemObjectResponse\n | FormulaPropertyItemObjectResponse\n | ButtonPropertyItemObjectResponse\n | UniqueIdPropertyItemObjectResponse\n | VerificationPropertyItemObjectResponse\n | PlacePropertyItemObjectResponse\n | TitlePropertyItemObjectResponse\n | RichTextPropertyItemObjectResponse\n | PeoplePropertyItemObjectResponse\n | RelationPropertyItemObjectResponse\n | RollupPropertyItemObjectResponse\n\ntype PropertyItemPropertyItemListResponse = {\n type: \"property_item\"\n property_item:\n | { type: \"title\"; title: EmptyObject; next_url: string | null; id: string }\n | {\n type: \"rich_text\"\n rich_text: EmptyObject\n next_url: string | null\n id: string\n }\n | {\n type: \"people\"\n people: EmptyObject\n next_url: string | null\n id: string\n }\n | {\n type: \"relation\"\n relation: EmptyObject\n next_url: string | null\n id: string\n }\n | {\n type: \"rollup\"\n rollup:\n | { type: \"number\"; number: number | null; function: RollupFunction }\n | {\n type: \"date\"\n date: DateResponse | null\n function: RollupFunction\n }\n | {\n type: \"array\"\n array: Array<EmptyObject>\n function: RollupFunction\n }\n | {\n type: \"unsupported\"\n unsupported: EmptyObject\n function: RollupFunction\n }\n | {\n type: \"incomplete\"\n incomplete: EmptyObject\n function: RollupFunction\n }\n next_url: string | null\n id: string\n }\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<PropertyItemObjectResponse>\n}\n\ntype PropertyOrTimestampFilter = PropertyFilter | TimestampFilter\n\ntype PropertyOrTimestampFilterArray = Array<PropertyOrTimestampFilter>\n\nexport type QuoteBlockObjectResponse = {\n type: \"quote\"\n quote: ContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype RelationArrayBasedPropertyValueResponse = {\n // Always `relation`\n type: \"relation\"\n relation: Array<RelationItemPropertyValueResponse>\n}\n\ntype RelationDatabasePropertyConfigResponse = {\n // Always `relation`\n type: \"relation\"\n relation: DatabasePropertyRelationConfigResponse\n}\n\ntype RelationItemPropertyValueResponse = { id: IdRequest }\n\ntype RelationPropertyConfigurationRequest = {\n // Always `relation`\n type?: \"relation\"\n relation: { data_source_id: IdRequest } & (\n | {\n // Always `single_property`\n type?: \"single_property\"\n single_property: EmptyObject\n }\n | {\n // Always `dual_property`\n type?: \"dual_property\"\n dual_property: {\n synced_property_id?: string\n synced_property_name?: string\n }\n }\n )\n}\n\ntype RelationPropertyFilter =\n | { contains: IdRequest }\n | { does_not_contain: IdRequest }\n | ExistencePropertyFilter\n\nexport type RelationPropertyItemObjectResponse = {\n type: \"relation\"\n relation: { id: string }\n object: \"property_item\"\n id: string\n}\n\ntype RichTextArrayBasedPropertyValueResponse = {\n // Always `rich_text`\n type: \"rich_text\"\n rich_text: Array<RichTextItemResponse>\n}\n\ntype RichTextDatabasePropertyConfigResponse = {\n // Always `rich_text`\n type: \"rich_text\"\n rich_text: EmptyObject\n}\n\ntype RichTextItemRequest = RichTextItemRequestCommon &\n (\n | TextRichTextItemRequest\n | MentionRichTextItemRequest\n | EquationRichTextItemRequest\n )\n\ntype RichTextItemRequestCommon = {\n // All rich text objects contain an annotations object that sets the styling for the rich\n // text.\n annotations?: AnnotationRequest\n}\n\nexport type RichTextItemResponse = RichTextItemResponseCommon &\n (\n | TextRichTextItemResponse\n | MentionRichTextItemResponse\n | EquationRichTextItemResponse\n )\n\nexport type RichTextItemResponseCommon = {\n // The plain text content of the rich text object, without any styling.\n plain_text: string\n // A URL that the rich text object links to or mentions.\n href: string | null\n // All rich text objects contain an annotations object that sets the styling for the rich\n // text.\n annotations: AnnotationResponse\n}\n\ntype RichTextPropertyConfigurationRequest = {\n // Always `rich_text`\n type?: \"rich_text\"\n rich_text: EmptyObject\n}\n\nexport type RichTextPropertyItemObjectResponse = {\n type: \"rich_text\"\n rich_text: RichTextItemResponse\n object: \"property_item\"\n id: string\n}\n\ntype RollupDatabasePropertyConfigResponse = {\n // Always `rollup`\n type: \"rollup\"\n rollup: {\n // The function to use for the rollup, e.g. count, count_values, percent_not_empty, max.\n function: RollupFunction\n rollup_property_name: string\n relation_property_name: string\n rollup_property_id: string\n relation_property_id: string\n }\n}\n\ntype RollupFunction =\n | \"count\"\n | \"count_values\"\n | \"empty\"\n | \"not_empty\"\n | \"unique\"\n | \"show_unique\"\n | \"percent_empty\"\n | \"percent_not_empty\"\n | \"sum\"\n | \"average\"\n | \"median\"\n | \"min\"\n | \"max\"\n | \"range\"\n | \"earliest_date\"\n | \"latest_date\"\n | \"date_range\"\n | \"checked\"\n | \"unchecked\"\n | \"percent_checked\"\n | \"percent_unchecked\"\n | \"count_per_group\"\n | \"percent_per_group\"\n | \"show_original\"\n\ntype RollupPropertyConfigurationRequest = {\n // Always `rollup`\n type?: \"rollup\"\n rollup: {\n // The function to use for the rollup, e.g. count, count_values, percent_not_empty, max.\n function: RollupFunction\n } & (\n | { relation_property_name: string; rollup_property_name: string }\n | { relation_property_id: string; rollup_property_name: string }\n | { relation_property_name: string; rollup_property_id: string }\n | { relation_property_id: string; rollup_property_id: string }\n )\n}\n\ntype RollupPropertyFilter =\n | { any: RollupSubfilterPropertyFilter }\n | { none: RollupSubfilterPropertyFilter }\n | { every: RollupSubfilterPropertyFilter }\n | { date: DatePropertyFilter }\n | { number: NumberPropertyFilter }\n\nexport type RollupPropertyItemObjectResponse = {\n type: \"rollup\"\n rollup:\n | { type: \"number\"; number: number | null; function: RollupFunction }\n | { type: \"date\"; date: DateResponse | null; function: RollupFunction }\n | { type: \"array\"; array: Array<EmptyObject>; function: RollupFunction }\n | {\n type: \"unsupported\"\n unsupported: EmptyObject\n function: RollupFunction\n }\n | { type: \"incomplete\"; incomplete: EmptyObject; function: RollupFunction }\n object: \"property_item\"\n id: string\n}\n\ntype RollupSubfilterPropertyFilter =\n | { rich_text: TextPropertyFilter }\n | { number: NumberPropertyFilter }\n | { checkbox: CheckboxPropertyFilter }\n | { select: SelectPropertyFilter }\n | { multi_select: MultiSelectPropertyFilter }\n | { relation: RelationPropertyFilter }\n | { date: DatePropertyFilter }\n | { people: PeoplePropertyFilter }\n | { files: ExistencePropertyFilter }\n | { status: StatusPropertyFilter }\n\n/**\n * One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`,\n * `pink`, `red`\n */\ntype SelectColor =\n | \"default\"\n | \"gray\"\n | \"brown\"\n | \"orange\"\n | \"yellow\"\n | \"green\"\n | \"blue\"\n | \"purple\"\n | \"pink\"\n | \"red\"\n\ntype SelectDatabasePropertyConfigResponse = {\n // Always `select`\n type: \"select\"\n select: { options: Array<SelectPropertyResponse> }\n}\n\ntype SelectPropertyConfigurationRequest = {\n // Always `select`\n type?: \"select\"\n select: {\n options?: Array<{\n name: string\n color?: SelectColor\n description?: string | null\n }>\n }\n}\n\ntype SelectPropertyFilter =\n | { equals: string }\n | { does_not_equal: string }\n | ExistencePropertyFilter\n\nexport type SelectPropertyItemObjectResponse = {\n type: \"select\"\n select: PartialSelectResponse | null\n object: \"property_item\"\n id: string\n}\n\ntype SelectPropertyResponse = {\n id: string\n name: string\n color: SelectColor\n description: string | null\n}\n\ntype SelectSimplePropertyValueResponse = {\n // Always `select`\n type: \"select\"\n select: PartialSelectPropertyValueResponse | null\n}\n\ntype SimpleOrArrayPropertyValueResponse =\n | SimplePropertyValueResponse\n | ArrayBasedPropertyValueResponse\n\ntype SimplePropertyValueResponse =\n | NumberSimplePropertyValueResponse\n | UrlSimplePropertyValueResponse\n | SelectSimplePropertyValueResponse\n | MultiSelectSimplePropertyValueResponse\n | StatusSimplePropertyValueResponse\n | DateSimplePropertyValueResponse\n | EmailSimplePropertyValueResponse\n | PhoneNumberSimplePropertyValueResponse\n | CheckboxSimplePropertyValueResponse\n | FilesSimplePropertyValueResponse\n | CreatedBySimplePropertyValueResponse\n | CreatedTimeSimplePropertyValueResponse\n | LastEditedBySimplePropertyValueResponse\n | LastEditedTimeSimplePropertyValueResponse\n | FormulaSimplePropertyValueResponse\n | ButtonSimplePropertyValueResponse\n | UniqueIdSimplePropertyValueResponse\n | VerificationSimplePropertyValueResponse\n | PlaceSimplePropertyValueResponse\n\ntype SinglePropertyDatabasePropertyRelationConfigResponse = {\n // Always `single_property`\n type: \"single_property\"\n single_property: EmptyObject\n}\n\ntype StatusDatabasePropertyConfigResponse = {\n // Always `status`\n type: \"status\"\n status: {\n // The options for the status property.\n options: Array<StatusPropertyResponse>\n // The groups for the status property.\n groups: Array<{\n // The ID of the status group.\n id: string\n // The name of the status group.\n name: string\n // The color of the status group.\n color: SelectColor\n // The IDs of the status options in this group.\n option_ids: Array<string>\n }>\n }\n}\n\ntype StatusPropertyConfigurationRequest = {\n // Always `status`\n type?: \"status\"\n status: EmptyObject\n}\n\ntype StatusPropertyFilter =\n | { equals: string }\n | { does_not_equal: string }\n | ExistencePropertyFilter\n\nexport type StatusPropertyItemObjectResponse = {\n type: \"status\"\n status: PartialSelectResponse | null\n object: \"property_item\"\n id: string\n}\n\ntype StatusPropertyResponse = {\n // The ID of the status option.\n id: string\n // The name of the status option.\n name: string\n // The color of the status option.\n color: SelectColor\n // The description of the status option.\n description: string | null\n}\n\ntype StatusSimplePropertyValueResponse = {\n // Always `status`\n type: \"status\"\n status: PartialSelectPropertyValueResponse | null\n}\n\ntype StringFormulaPropertyResponse = { type: \"string\"; string: string | null }\n\ntype StringFormulaPropertyValueResponse = {\n // Always `string`\n type: \"string\"\n string: string | null\n}\n\ntype StringRequest = string\n\nexport type SyncedBlockBlockObjectResponse = {\n type: \"synced_block\"\n synced_block: {\n synced_from: { type: \"block_id\"; block_id: IdRequest } | null\n }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type TableBlockObjectResponse = {\n type: \"table\"\n table: ContentWithTableResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type TableOfContentsBlockObjectResponse = {\n type: \"table_of_contents\"\n table_of_contents: { color: ApiColor }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype TableRequestWithTableRowChildren = {\n table_width: number\n children: Array<TableRowRequest>\n has_column_header?: boolean\n has_row_header?: boolean\n}\n\nexport type TableRowBlockObjectResponse = {\n type: \"table_row\"\n table_row: ContentWithTableRowResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype TableRowRequest = {\n table_row: ContentWithTableRowRequest\n type?: \"table_row\"\n object?: \"block\"\n}\n\nexport type TemplateBlockObjectResponse = {\n type: \"template\"\n template: { rich_text: Array<RichTextItemResponse> }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype TemplateMentionDateTemplateMentionRequest = {\n // Always `template_mention_date`\n type?: \"template_mention_date\"\n // The date of the template mention.\n template_mention_date: \"today\" | \"now\"\n}\n\ntype TemplateMentionDateTemplateMentionResponse = {\n // Always `template_mention_date`\n type: \"template_mention_date\"\n // The date of the template mention.\n template_mention_date: \"today\" | \"now\"\n}\n\ntype TemplateMentionRequest =\n | TemplateMentionDateTemplateMentionRequest\n | TemplateMentionUserTemplateMentionRequest\n\ntype TemplateMentionResponse =\n | TemplateMentionDateTemplateMentionResponse\n | TemplateMentionUserTemplateMentionResponse\n\ntype TemplateMentionUserTemplateMentionRequest = {\n // Always `template_mention_user`\n type?: \"template_mention_user\"\n // The user of the template mention.\n template_mention_user: \"me\"\n}\n\ntype TemplateMentionUserTemplateMentionResponse = {\n // Always `template_mention_user`\n type: \"template_mention_user\"\n // The user of the template mention.\n template_mention_user: \"me\"\n}\n\n/**\n * IANA timezone to use when resolving template variables like @now and @today (e.g.\n * 'America/New_York'). Defaults to the authorizing user's timezone for public\n * integrations, or UTC for internal integrations.\n */\ntype TemplateTimezone = string\n\ntype TextPropertyFilter =\n | { equals: string }\n | { does_not_equal: string }\n | { contains: string }\n | { does_not_contain: string }\n | { starts_with: string }\n | { ends_with: string }\n | ExistencePropertyFilter\n\ntype TextRequest = string\n\ntype TextRichTextItemRequest = {\n // Always `text`\n type?: \"text\"\n // If a rich text object's type value is `text`, then the corresponding text field\n // contains an object including the text content and any inline link.\n text: {\n // The actual text content of the text.\n content: string\n // An object with information about any inline link in this text, if included.\n link?: {\n // The URL of the link.\n url: string\n } | null\n }\n}\n\nexport type TextRichTextItemResponse = {\n // Always `text`\n type: \"text\"\n // If a rich text object's type value is `text`, then the corresponding text field\n // contains an object including the text content and any inline link.\n text: {\n // The actual text content of the text.\n content: string\n // An object with information about any inline link in this text, if included.\n link: {\n // The URL of the link.\n url: string\n } | null\n }\n}\n\ntype TimeZoneRequest = string\n\ntype TimestampCreatedTimeFilter = {\n created_time: DatePropertyFilter\n timestamp: \"created_time\"\n type?: \"created_time\"\n}\n\ntype TimestampFilter =\n | TimestampCreatedTimeFilter\n | TimestampLastEditedTimeFilter\n\ntype TimestampLastEditedTimeFilter = {\n last_edited_time: DatePropertyFilter\n timestamp: \"last_edited_time\"\n type?: \"last_edited_time\"\n}\n\ntype TitleArrayBasedPropertyValueResponse = {\n // Always `title`\n type: \"title\"\n title: Array<RichTextItemResponse>\n}\n\ntype TitleDatabasePropertyConfigResponse = {\n // Always `title`\n type: \"title\"\n title: EmptyObject\n}\n\ntype TitleObjectResponse = { title: string }\n\ntype TitlePropertyConfigurationRequest = {\n // Always `title`\n type?: \"title\"\n title: EmptyObject\n}\n\nexport type TitlePropertyItemObjectResponse = {\n type: \"title\"\n title: RichTextItemResponse\n object: \"property_item\"\n id: string\n}\n\nexport type ToDoBlockObjectResponse = {\n type: \"to_do\"\n to_do: {\n rich_text: Array<RichTextItemResponse>\n color: ApiColor\n checked: boolean\n }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type ToggleBlockObjectResponse = {\n type: \"toggle\"\n toggle: ContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype TranscriptionBlockResponse = {\n title?: Array<RichTextItemResponse>\n status?: ApiTranscriptionStatus\n children?: TranscriptionChildrenResponse\n calendar_event?: TranscriptionCalendarEventResponse\n recording?: TranscriptionRecordingResponse\n}\n\ntype TranscriptionCalendarEventResponse = {\n start_time: string\n end_time: string\n attendees?: Array<IdRequest>\n}\n\ntype TranscriptionChildrenResponse = {\n summary_block_id?: IdRequest\n notes_block_id?: IdRequest\n transcript_block_id?: IdRequest\n}\n\ntype TranscriptionRecordingResponse = { start_time?: string; end_time?: string }\n\ntype UniqueIdDatabasePropertyConfigResponse = {\n // Always `unique_id`\n type: \"unique_id\"\n unique_id: {\n // The prefix for the unique ID.\n prefix: string | null\n }\n}\n\ntype UniqueIdPropertyConfigurationRequest = {\n // Always `unique_id`\n type?: \"unique_id\"\n unique_id: { prefix?: string | null }\n}\n\nexport type UniqueIdPropertyItemObjectResponse = {\n type: \"unique_id\"\n unique_id: { prefix: string | null; number: number | null }\n object: \"property_item\"\n id: string\n}\n\ntype UniqueIdPropertyValueResponse = {\n prefix: string | null\n number: number | null\n}\n\ntype UniqueIdSimplePropertyValueResponse = {\n // Always `unique_id`\n type: \"unique_id\"\n unique_id: UniqueIdPropertyValueResponse\n}\n\nexport type UnsupportedBlockObjectResponse = {\n type: \"unsupported\"\n unsupported: {\n // The underlying block type that is not currently supported by the Public API. Example\n // values include: tab, form, button, drive.\n block_type: string\n }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype UpdateMediaContentWithFileAndCaptionRequest = {\n caption?: Array<RichTextItemRequest>\n external?: ExternalFileRequest\n file_upload?: FileUploadIdRequest\n}\n\ntype UpdateMediaContentWithFileNameAndCaptionRequest = {\n caption?: Array<RichTextItemRequest>\n external?: ExternalFileRequest\n file_upload?: FileUploadIdRequest\n name?: StringRequest\n}\n\ntype UpdateMediaContentWithUrlAndCaptionRequest = {\n url?: string\n caption?: Array<RichTextItemRequest>\n}\n\ntype UrlDatabasePropertyConfigResponse = {\n // Always `url`\n type: \"url\"\n url: EmptyObject\n}\n\ntype UrlPropertyConfigurationRequest = {\n // Always `url`\n type?: \"url\"\n url: EmptyObject\n}\n\nexport type UrlPropertyItemObjectResponse = {\n type: \"url\"\n url: string | null\n object: \"property_item\"\n id: string\n}\n\ntype UrlSimplePropertyValueResponse = {\n // Always `url`\n type: \"url\"\n url: string | null\n}\n\nexport type UserObjectResponse = UserObjectResponseCommon &\n (PersonUserObjectResponse | BotUserObjectResponse)\n\nexport type UserObjectResponseCommon = {\n // The ID of the user.\n id: IdResponse\n // The user object type name.\n object: \"user\"\n // The name of the user.\n name: string | null\n // The avatar URL of the user.\n avatar_url: string | null\n}\n\ntype UserValueResponse = PartialUserObjectResponse | UserObjectResponse\n\ntype VerificationPropertyConfigurationRequest = {\n // Always `verification`\n type?: \"verification\"\n verification: EmptyObject\n}\n\nexport type VerificationPropertyItemObjectResponse = {\n type: \"verification\"\n verification: VerificationPropertyValueResponse | null\n object: \"property_item\"\n id: string\n}\n\ntype VerificationPropertyResponse = {\n // One of: `verified`, `expired`\n state: \"verified\" | \"expired\"\n date: DateResponse | null\n verified_by: PartialUserObjectResponse | null\n}\n\ntype VerificationPropertyStatusFilter = {\n status: \"verified\" | \"expired\" | \"none\"\n}\n\ntype VerificationPropertyUnverifiedResponse = {\n // Always `unverified`\n state: \"unverified\"\n date: null\n verified_by: null\n}\n\ntype VerificationPropertyValueResponse =\n | VerificationPropertyUnverifiedResponse\n | VerificationPropertyResponse\n\ntype VerificationSimplePropertyValueResponse = {\n // Always `verification`\n type: \"verification\"\n verification: VerificationPropertyValueResponse | null\n}\n\nexport type VideoBlockObjectResponse = {\n type: \"video\"\n video: MediaContentWithFileAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype WorkspaceParentForBlockBasedObjectResponse = {\n // The parent type.\n type: \"workspace\"\n // Always true for workspace parent.\n workspace: true\n}\nexport type GetSelfParameters = Record<string, never>\n\nexport type GetSelfResponse = UserObjectResponse\n\n/**\n * Retrieve your token's bot user\n */\nexport const getSelf = {\n method: \"get\",\n pathParams: [],\n queryParams: [],\n bodyParams: [],\n\n path: (): string => `users/me`,\n} as const\n\ntype GetUserPathParameters = {\n user_id: IdRequest\n}\n\nexport type GetUserParameters = GetUserPathParameters\n\nexport type GetUserResponse = UserObjectResponse\n\n/**\n * Retrieve a user\n */\nexport const getUser = {\n method: \"get\",\n pathParams: [\"user_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetUserPathParameters): string => `users/${p.user_id}`,\n} as const\n\ntype ListUsersQueryParameters = {\n start_cursor?: string\n page_size?: number\n}\n\nexport type ListUsersParameters = ListUsersQueryParameters\n\nexport type ListUsersResponse = {\n type: \"user\"\n user: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<UserObjectResponse>\n}\n\n/**\n * List all users\n */\nexport const listUsers = {\n method: \"get\",\n pathParams: [],\n queryParams: [\"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (): string => `users`,\n} as const\n\ntype CreatePageBodyParameters = {\n parent?:\n | { page_id: IdRequest; type?: \"page_id\" }\n | { database_id: IdRequest; type?: \"database_id\" }\n | { data_source_id: IdRequest; type?: \"data_source_id\" }\n | { workspace: true; type?: \"workspace\" }\n properties?: Record<\n string,\n | { title: Array<RichTextItemRequest>; type?: \"title\" }\n | { rich_text: Array<RichTextItemRequest>; type?: \"rich_text\" }\n | { number: number | null; type?: \"number\" }\n | { url: TextRequest | null; type?: \"url\" }\n | {\n select:\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | null\n type?: \"select\"\n }\n | {\n multi_select: Array<\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n >\n type?: \"multi_select\"\n }\n | {\n people: Array<PartialUserObjectRequest | GroupObjectRequest>\n type?: \"people\"\n }\n | { email: StringRequest | null; type?: \"email\" }\n | { phone_number: StringRequest | null; type?: \"phone_number\" }\n | { date: DateRequest | null; type?: \"date\" }\n | { checkbox: boolean; type?: \"checkbox\" }\n | { relation: Array<RelationItemPropertyValueResponse>; type?: \"relation\" }\n | {\n files: Array<\n | InternalOrExternalFileWithNameRequest\n | FileUploadWithOptionalNameRequest\n >\n type?: \"files\"\n }\n | {\n status:\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | null\n type?: \"status\"\n }\n | {\n place: {\n lat: number\n lon: number\n name?: string | null\n address?: string | null\n aws_place_id?: string | null\n google_place_id?: string | null\n } | null\n type?: \"place\"\n }\n >\n icon?: PageIconRequest | null\n cover?: PageCoverRequest | null\n content?: Array<BlockObjectRequest>\n children?: Array<BlockObjectRequest>\n // Page content as Notion-flavored Markdown. Mutually exclusive with content/children.\n markdown?: string\n template?:\n | { type: \"none\" }\n | { type: \"default\"; timezone?: TemplateTimezone }\n | {\n type: \"template_id\"\n template_id: IdRequest\n timezone?: TemplateTimezone\n }\n position?: PagePositionSchema\n}\n\nexport type CreatePageParameters = CreatePageBodyParameters\n\nexport type CreatePageResponse = PageObjectResponse | PartialPageObjectResponse\n\n/**\n * Create a page\n */\nexport const createPage = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\n \"parent\",\n \"properties\",\n \"icon\",\n \"cover\",\n \"content\",\n \"children\",\n \"markdown\",\n \"template\",\n \"position\",\n ],\n\n path: (): string => `pages`,\n} as const\n\ntype GetPagePathParameters = {\n // The ID of the page to retrieve.\n page_id: IdRequest\n}\n\ntype GetPageQueryParameters = {\n // Supply a list of property IDs to filter properties in the response. Note that if a\n // page doesn't have a property, it won't be included in the filtered response.\n filter_properties?: Array<string>\n}\n\nexport type GetPageParameters = GetPagePathParameters & GetPageQueryParameters\n\nexport type GetPageResponse = PartialPageObjectResponse | PageObjectResponse\n\n/**\n * Retrieve a page\n */\nexport const getPage = {\n method: \"get\",\n pathParams: [\"page_id\"],\n queryParams: [\"filter_properties\"],\n bodyParams: [],\n\n path: (p: GetPagePathParameters): string => `pages/${p.page_id}`,\n} as const\n\ntype UpdatePagePathParameters = {\n page_id: IdRequest\n}\n\ntype UpdatePageBodyParameters = {\n properties?: Record<\n string,\n | { title: Array<RichTextItemRequest>; type?: \"title\" }\n | { rich_text: Array<RichTextItemRequest>; type?: \"rich_text\" }\n | { number: number | null; type?: \"number\" }\n | { url: TextRequest | null; type?: \"url\" }\n | {\n select:\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | null\n type?: \"select\"\n }\n | {\n multi_select: Array<\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n >\n type?: \"multi_select\"\n }\n | {\n people: Array<PartialUserObjectRequest | GroupObjectRequest>\n type?: \"people\"\n }\n | { email: StringRequest | null; type?: \"email\" }\n | { phone_number: StringRequest | null; type?: \"phone_number\" }\n | { date: DateRequest | null; type?: \"date\" }\n | { checkbox: boolean; type?: \"checkbox\" }\n | { relation: Array<RelationItemPropertyValueResponse>; type?: \"relation\" }\n | {\n files: Array<\n | InternalOrExternalFileWithNameRequest\n | FileUploadWithOptionalNameRequest\n >\n type?: \"files\"\n }\n | {\n status:\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | null\n type?: \"status\"\n }\n | {\n place: {\n lat: number\n lon: number\n name?: string | null\n address?: string | null\n aws_place_id?: string | null\n google_place_id?: string | null\n } | null\n type?: \"place\"\n }\n >\n icon?: PageIconRequest | null\n cover?: PageCoverRequest | null\n // Whether the page should be locked from editing in the Notion app UI. If not provided,\n // the locked state will not be updated.\n is_locked?: boolean\n template?:\n | { type: \"default\"; timezone?: TemplateTimezone }\n | {\n type: \"template_id\"\n template_id: IdRequest\n timezone?: TemplateTimezone\n }\n // Whether to erase all existing content from the page. When used with a template, the\n // template content replaces the existing content. When used without a template, simply\n // clears the page content.\n erase_content?: boolean\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n}\n\nexport type UpdatePageParameters = UpdatePagePathParameters &\n UpdatePageBodyParameters\n\nexport type UpdatePageResponse = PageObjectResponse | PartialPageObjectResponse\n\n/**\n * Update page\n */\nexport const updatePage = {\n method: \"patch\",\n pathParams: [\"page_id\"],\n queryParams: [],\n bodyParams: [\n \"archived\",\n \"properties\",\n \"icon\",\n \"cover\",\n \"is_locked\",\n \"template\",\n \"erase_content\",\n \"in_trash\",\n ],\n\n path: (p: UpdatePagePathParameters): string => `pages/${p.page_id}`,\n} as const\n\ntype MovePagePathParameters = {\n // The ID of the page to move.\n page_id: IdRequest\n}\n\ntype MovePageBodyParameters = {\n // The new parent of the page.\n parent:\n | {\n // The ID of the parent page (with or without dashes), for example,\n // 195de9221179449fab8075a27c979105\n page_id: IdRequest\n // Always `page_id`\n type?: \"page_id\"\n }\n | {\n // The ID of the parent data source (collection), with or without dashes. For example,\n // f336d0bc-b841-465b-8045-024475c079dd\n data_source_id: IdRequest\n // Always `data_source_id`\n type?: \"data_source_id\"\n }\n}\n\nexport type MovePageParameters = MovePagePathParameters & MovePageBodyParameters\n\nexport type MovePageResponse = PartialPageObjectResponse | PageObjectResponse\n\n/**\n * Move a page\n */\nexport const movePage = {\n method: \"post\",\n pathParams: [\"page_id\"],\n queryParams: [],\n bodyParams: [\"parent\"],\n\n path: (p: MovePagePathParameters): string => `pages/${p.page_id}/move`,\n} as const\n\ntype GetPagePropertyPathParameters = {\n page_id: IdRequest\n property_id: string\n}\n\ntype GetPagePropertyQueryParameters = {\n start_cursor?: string\n page_size?: number\n}\n\nexport type GetPagePropertyParameters = GetPagePropertyPathParameters &\n GetPagePropertyQueryParameters\n\nexport type GetPagePropertyResponse =\n | PropertyItemObjectResponse\n | PropertyItemListResponse\n\n/**\n * Retrieve a page property item\n */\nexport const getPageProperty = {\n method: \"get\",\n pathParams: [\"page_id\", \"property_id\"],\n queryParams: [\"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (p: GetPagePropertyPathParameters): string =>\n `pages/${p.page_id}/properties/${p.property_id}`,\n} as const\n\ntype GetPageMarkdownPathParameters = {\n // The ID of the page (or block) to retrieve as markdown. Non-navigable block IDs from\n // truncated responses can be passed here to fetch their subtrees.\n page_id: IdRequest\n}\n\ntype GetPageMarkdownQueryParameters = {\n // Whether to include meeting note transcripts. Defaults to false. When true, full\n // transcripts are included; when false, a placeholder with the meeting note URL is shown\n // instead.\n include_transcript?: boolean\n}\n\nexport type GetPageMarkdownParameters = GetPageMarkdownPathParameters &\n GetPageMarkdownQueryParameters\n\nexport type GetPageMarkdownResponse = PageMarkdownResponse\n\n/**\n * Retrieve a page as markdown\n */\nexport const getPageMarkdown = {\n method: \"get\",\n pathParams: [\"page_id\"],\n queryParams: [\"include_transcript\"],\n bodyParams: [],\n\n path: (p: GetPageMarkdownPathParameters): string =>\n `pages/${p.page_id}/markdown`,\n} as const\n\ntype UpdatePageMarkdownPathParameters = {\n // The ID of the page to update.\n page_id: IdRequest\n}\n\ntype UpdatePageMarkdownBodyParameters =\n | {\n // Always `insert_content`\n type: \"insert_content\"\n // Insert new content into the page.\n insert_content: {\n // The enhanced markdown content to insert into the page.\n content: string\n // Selection of existing content to insert after, using the ellipsis format (\"start\n // text...end text\"). Omit to append at the end of the page.\n after?: string\n }\n }\n | {\n // Always `replace_content_range`\n type: \"replace_content_range\"\n // Replace a range of content in the page.\n replace_content_range: {\n // The new enhanced markdown content to replace the matched range.\n content: string\n // Selection of existing content to replace, using the ellipsis format (\"start text...end\n // text\").\n content_range: string\n // Set to true to allow the operation to delete child pages or databases. Defaults to\n // false.\n allow_deleting_content?: boolean\n }\n }\n\nexport type UpdatePageMarkdownParameters = UpdatePageMarkdownPathParameters &\n UpdatePageMarkdownBodyParameters\n\nexport type UpdatePageMarkdownResponse = PageMarkdownResponse\n\n/**\n * Update a page's content as markdown\n */\nexport const updatePageMarkdown = {\n method: \"patch\",\n pathParams: [\"page_id\"],\n queryParams: [],\n bodyParams: [\"type\", \"insert_content\", \"replace_content_range\"],\n\n path: (p: UpdatePageMarkdownPathParameters): string =>\n `pages/${p.page_id}/markdown`,\n} as const\n\ntype GetBlockPathParameters = {\n block_id: IdRequest\n}\n\nexport type GetBlockParameters = GetBlockPathParameters\n\nexport type GetBlockResponse = PartialBlockObjectResponse | BlockObjectResponse\n\n/**\n * Retrieve a block\n */\nexport const getBlock = {\n method: \"get\",\n pathParams: [\"block_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetBlockPathParameters): string => `blocks/${p.block_id}`,\n} as const\n\ntype UpdateBlockPathParameters = {\n block_id: IdRequest\n}\n\ntype UpdateBlockBodyParameters =\n | {\n embed: UpdateMediaContentWithUrlAndCaptionRequest\n type?: \"embed\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n bookmark: UpdateMediaContentWithUrlAndCaptionRequest\n type?: \"bookmark\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n image: UpdateMediaContentWithFileAndCaptionRequest\n type?: \"image\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n video: UpdateMediaContentWithFileAndCaptionRequest\n type?: \"video\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n pdf: UpdateMediaContentWithFileAndCaptionRequest\n type?: \"pdf\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n file: UpdateMediaContentWithFileNameAndCaptionRequest\n type?: \"file\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n audio: UpdateMediaContentWithFileAndCaptionRequest\n type?: \"audio\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n code: {\n rich_text?: Array<RichTextItemRequest>\n language?: LanguageRequest\n caption?: Array<RichTextItemRequest>\n }\n type?: \"code\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n equation: ContentWithExpressionRequest\n type?: \"equation\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n divider: EmptyObject\n type?: \"divider\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n breadcrumb: EmptyObject\n type?: \"breadcrumb\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n table_of_contents: { color?: ApiColor }\n type?: \"table_of_contents\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n link_to_page:\n | { page_id: IdRequest; type?: \"page_id\" }\n | { database_id: IdRequest; type?: \"database_id\" }\n | { comment_id: IdRequest; type?: \"comment_id\" }\n type?: \"link_to_page\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n table_row: ContentWithTableRowRequest\n type?: \"table_row\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n heading_1: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_1\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n heading_2: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_2\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n heading_3: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_3\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n paragraph: ContentWithRichTextAndColorRequest\n type?: \"paragraph\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n bulleted_list_item: ContentWithRichTextAndColorRequest\n type?: \"bulleted_list_item\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n numbered_list_item: ContentWithRichTextAndColorRequest\n type?: \"numbered_list_item\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n quote: ContentWithRichTextAndColorRequest\n type?: \"quote\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n to_do: {\n rich_text?: Array<RichTextItemRequest>\n checked?: boolean\n color?: ApiColor\n }\n type?: \"to_do\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n toggle: ContentWithRichTextAndColorRequest\n type?: \"toggle\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n template: ContentWithRichTextRequest\n type?: \"template\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n callout: {\n rich_text?: Array<RichTextItemRequest>\n icon?: PageIconRequest\n color?: ApiColor\n }\n type?: \"callout\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n synced_block: {\n synced_from: { block_id: IdRequest; type?: \"block_id\" } | null\n }\n type?: \"synced_block\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n table: { has_column_header?: boolean; has_row_header?: boolean }\n type?: \"table\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n column: {\n // Ratio between 0 and 1 of the width of this column relative to all columns in the list.\n // If not provided, uses an equal width.\n width_ratio?: number\n }\n type?: \"column\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n\nexport type UpdateBlockParameters = UpdateBlockPathParameters &\n UpdateBlockBodyParameters\n\nexport type UpdateBlockResponse =\n | PartialBlockObjectResponse\n | BlockObjectResponse\n\n/**\n * Update a block\n */\nexport const updateBlock = {\n method: \"patch\",\n pathParams: [\"block_id\"],\n queryParams: [],\n bodyParams: [\n \"archived\",\n \"embed\",\n \"type\",\n \"in_trash\",\n \"bookmark\",\n \"image\",\n \"video\",\n \"pdf\",\n \"file\",\n \"audio\",\n \"code\",\n \"equation\",\n \"divider\",\n \"breadcrumb\",\n \"table_of_contents\",\n \"link_to_page\",\n \"table_row\",\n \"heading_1\",\n \"heading_2\",\n \"heading_3\",\n \"paragraph\",\n \"bulleted_list_item\",\n \"numbered_list_item\",\n \"quote\",\n \"to_do\",\n \"toggle\",\n \"template\",\n \"callout\",\n \"synced_block\",\n \"table\",\n \"column\",\n ],\n\n path: (p: UpdateBlockPathParameters): string => `blocks/${p.block_id}`,\n} as const\n\ntype DeleteBlockPathParameters = {\n block_id: IdRequest\n}\n\nexport type DeleteBlockParameters = DeleteBlockPathParameters\n\nexport type DeleteBlockResponse =\n | PartialBlockObjectResponse\n | BlockObjectResponse\n\n/**\n * Delete a block\n */\nexport const deleteBlock = {\n method: \"delete\",\n pathParams: [\"block_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: DeleteBlockPathParameters): string => `blocks/${p.block_id}`,\n} as const\n\ntype ListBlockChildrenPathParameters = {\n block_id: IdRequest\n}\n\ntype ListBlockChildrenQueryParameters = {\n start_cursor?: string\n page_size?: number\n}\n\nexport type ListBlockChildrenParameters = ListBlockChildrenPathParameters &\n ListBlockChildrenQueryParameters\n\nexport type ListBlockChildrenResponse = {\n type: \"block\"\n block: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<PartialBlockObjectResponse | BlockObjectResponse>\n}\n\n/**\n * Retrieve block children\n */\nexport const listBlockChildren = {\n method: \"get\",\n pathParams: [\"block_id\"],\n queryParams: [\"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (p: ListBlockChildrenPathParameters): string =>\n `blocks/${p.block_id}/children`,\n} as const\n\ntype AppendBlockChildrenPathParameters = {\n block_id: IdRequest\n}\n\ntype AppendBlockChildrenBodyParameters = {\n children: Array<BlockObjectRequest>\n /** @deprecated Use `position` instead. */\n after?: IdRequest\n position?: ContentPositionSchema\n}\n\nexport type AppendBlockChildrenParameters = AppendBlockChildrenPathParameters &\n AppendBlockChildrenBodyParameters\n\nexport type AppendBlockChildrenResponse = {\n type: \"block\"\n block: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<PartialBlockObjectResponse | BlockObjectResponse>\n}\n\n/**\n * Append block children\n */\nexport const appendBlockChildren = {\n method: \"patch\",\n pathParams: [\"block_id\"],\n queryParams: [],\n bodyParams: [\"after\", \"children\", \"position\"],\n\n path: (p: AppendBlockChildrenPathParameters): string =>\n `blocks/${p.block_id}/children`,\n} as const\n\ntype GetDataSourcePathParameters = {\n // ID of a Notion data source.\n data_source_id: IdRequest\n}\n\nexport type GetDataSourceParameters = GetDataSourcePathParameters\n\nexport type GetDataSourceResponse =\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n\n/**\n * Retrieve a data source\n */\nexport const getDataSource = {\n method: \"get\",\n pathParams: [\"data_source_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetDataSourcePathParameters): string =>\n `data_sources/${p.data_source_id}`,\n} as const\n\ntype UpdateDataSourcePathParameters = {\n // ID of a Notion data source.\n data_source_id: IdRequest\n}\n\ntype UpdateDataSourceBodyParameters = {\n // Title of data source as it appears in Notion.\n title?: Array<RichTextItemRequest>\n // Page icon.\n icon?: PageIconRequest | null\n // The property schema of the data source. The keys are property names or IDs, and the\n // values are property configuration objects. Properties set to null will be removed.\n properties?: Record<\n string,\n | ({\n // The name of the property.\n name?: string\n // The description of the property.\n description?: PropertyDescriptionRequest | null\n } & (\n | {\n // Always `number`\n type?: \"number\"\n number: { format?: NumberFormat }\n }\n | {\n // Always `formula`\n type?: \"formula\"\n formula: { expression?: string }\n }\n | {\n // Always `select`\n type?: \"select\"\n select: {\n options?: Array<\n { color?: SelectColor; description?: string | null } & (\n | { name: string; id?: string }\n | { id: string; name?: string }\n )\n >\n }\n }\n | {\n // Always `multi_select`\n type?: \"multi_select\"\n multi_select: {\n options?: Array<\n { color?: SelectColor; description?: string | null } & (\n | { name: string; id?: string }\n | { id: string; name?: string }\n )\n >\n }\n }\n | {\n // Always `status`\n type?: \"status\"\n status: EmptyObject\n }\n | {\n // Always `relation`\n type?: \"relation\"\n relation: { data_source_id: IdRequest } & (\n | {\n // Always `single_property`\n type?: \"single_property\"\n single_property: EmptyObject\n }\n | {\n // Always `dual_property`\n type?: \"dual_property\"\n dual_property: {\n synced_property_id?: string\n synced_property_name?: string\n }\n }\n )\n }\n | {\n // Always `rollup`\n type?: \"rollup\"\n rollup: {\n // The function to use for the rollup, e.g. count, count_values, percent_not_empty, max.\n function: RollupFunction\n } & (\n | { relation_property_name: string; rollup_property_name: string }\n | { relation_property_id: string; rollup_property_name: string }\n | { relation_property_name: string; rollup_property_id: string }\n | { relation_property_id: string; rollup_property_id: string }\n )\n }\n | {\n // Always `unique_id`\n type?: \"unique_id\"\n unique_id: { prefix?: string | null }\n }\n | {\n // Always `title`\n type?: \"title\"\n title: EmptyObject\n }\n | {\n // Always `rich_text`\n type?: \"rich_text\"\n rich_text: EmptyObject\n }\n | {\n // Always `url`\n type?: \"url\"\n url: EmptyObject\n }\n | {\n // Always `people`\n type?: \"people\"\n people: EmptyObject\n }\n | {\n // Always `files`\n type?: \"files\"\n files: EmptyObject\n }\n | {\n // Always `email`\n type?: \"email\"\n email: EmptyObject\n }\n | {\n // Always `phone_number`\n type?: \"phone_number\"\n phone_number: EmptyObject\n }\n | {\n // Always `date`\n type?: \"date\"\n date: EmptyObject\n }\n | {\n // Always `checkbox`\n type?: \"checkbox\"\n checkbox: EmptyObject\n }\n | {\n // Always `created_by`\n type?: \"created_by\"\n created_by: EmptyObject\n }\n | {\n // Always `created_time`\n type?: \"created_time\"\n created_time: EmptyObject\n }\n | {\n // Always `last_edited_by`\n type?: \"last_edited_by\"\n last_edited_by: EmptyObject\n }\n | {\n // Always `last_edited_time`\n type?: \"last_edited_time\"\n last_edited_time: EmptyObject\n }\n | {\n // Always `place`\n type?: \"place\"\n place: EmptyObject\n }\n ))\n | {\n // The new name of the property.\n name: string\n }\n | null\n >\n // Whether the database should be moved to or from the trash. If not provided, the trash\n // status will not be updated.\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n // The parent of the data source, when moving it to a different database. If not\n // provided, the parent will not be updated.\n parent?: ParentOfDataSourceRequest\n}\n\nexport type UpdateDataSourceParameters = UpdateDataSourcePathParameters &\n UpdateDataSourceBodyParameters\n\nexport type UpdateDataSourceResponse =\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n\n/**\n * Update a data source\n */\nexport const updateDataSource = {\n method: \"patch\",\n pathParams: [\"data_source_id\"],\n queryParams: [],\n bodyParams: [\"archived\", \"title\", \"icon\", \"properties\", \"in_trash\", \"parent\"],\n\n path: (p: UpdateDataSourcePathParameters): string =>\n `data_sources/${p.data_source_id}`,\n} as const\n\ntype QueryDataSourcePathParameters = {\n data_source_id: IdRequest\n}\n\ntype QueryDataSourceQueryParameters = {\n filter_properties?: Array<string>\n}\n\ntype QueryDataSourceBodyParameters = {\n sorts?: Array<\n | { property: string; direction: \"ascending\" | \"descending\" }\n | {\n timestamp: \"created_time\" | \"last_edited_time\"\n direction: \"ascending\" | \"descending\"\n }\n >\n filter?:\n | { or: GroupFilterOperatorArray }\n | { and: GroupFilterOperatorArray }\n | PropertyFilter\n | TimestampFilter\n start_cursor?: string\n page_size?: number\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n // Optionally filter the results to only include pages or data sources. Regular, non-wiki\n // databases only support page children. The default behavior is no result type\n // filtering, in other words, returning both pages and data sources for wikis.\n result_type?: \"page\" | \"data_source\"\n}\n\nexport type QueryDataSourceParameters = QueryDataSourcePathParameters &\n QueryDataSourceQueryParameters &\n QueryDataSourceBodyParameters\n\nexport type QueryDataSourceResponse = {\n type: \"page_or_data_source\"\n page_or_data_source: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<\n | PageObjectResponse\n | PartialPageObjectResponse\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n >\n}\n\n/**\n * Query a data source\n */\nexport const queryDataSource = {\n method: \"post\",\n pathParams: [\"data_source_id\"],\n queryParams: [\"filter_properties\"],\n bodyParams: [\n \"archived\",\n \"sorts\",\n \"filter\",\n \"start_cursor\",\n \"page_size\",\n \"in_trash\",\n \"result_type\",\n ],\n\n path: (p: QueryDataSourcePathParameters): string =>\n `data_sources/${p.data_source_id}/query`,\n} as const\n\ntype CreateDataSourceBodyParameters = {\n // An object specifying the parent of the new data source to be created.\n parent: ParentOfDataSourceRequest\n // Property schema of data source.\n properties: Record<string, PropertyConfigurationRequest>\n // Title of data source as it appears in Notion.\n title?: Array<RichTextItemRequest>\n // Page icon.\n icon?: PageIconRequest | null\n}\n\nexport type CreateDataSourceParameters = CreateDataSourceBodyParameters\n\nexport type CreateDataSourceResponse =\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n\n/**\n * Create a data source\n */\nexport const createDataSource = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\"parent\", \"properties\", \"title\", \"icon\"],\n\n path: (): string => `data_sources`,\n} as const\n\ntype ListDataSourceTemplatesPathParameters = {\n // ID of a Notion data source.\n data_source_id: IdRequest\n}\n\ntype ListDataSourceTemplatesQueryParameters = {\n // Filter templates by name (case-insensitive substring match).\n name?: string\n // If supplied, this endpoint will return a page of results starting after the cursor\n // provided. If not supplied, this endpoint will return the first page of results.\n start_cursor?: string\n // The number of items from the full list desired in the response. Maximum: 100\n page_size?: number\n}\n\nexport type ListDataSourceTemplatesParameters =\n ListDataSourceTemplatesPathParameters & ListDataSourceTemplatesQueryParameters\n\nexport type ListDataSourceTemplatesResponse = {\n // Array of templates available in this data source.\n templates: Array<{\n // ID of the template page.\n id: IdResponse\n // Name of the template.\n name: string\n // Whether this template is the default template for the data source.\n is_default: boolean\n }>\n // Whether there are more templates available beyond this page.\n has_more: boolean\n // Cursor to use for the next page of results. Null if there are no more results.\n next_cursor: IdResponse | null\n}\n\n/**\n * List templates in a data source\n */\nexport const listDataSourceTemplates = {\n method: \"get\",\n pathParams: [\"data_source_id\"],\n queryParams: [\"name\", \"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (p: ListDataSourceTemplatesPathParameters): string =>\n `data_sources/${p.data_source_id}/templates`,\n} as const\n\ntype GetDatabasePathParameters = {\n // ID of a Notion database, a container for one or more data sources.\n database_id: IdRequest\n}\n\nexport type GetDatabaseParameters = GetDatabasePathParameters\n\nexport type GetDatabaseResponse =\n | PartialDatabaseObjectResponse\n | DatabaseObjectResponse\n\n/**\n * Retrieve a database\n */\nexport const getDatabase = {\n method: \"get\",\n pathParams: [\"database_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetDatabasePathParameters): string => `databases/${p.database_id}`,\n} as const\n\ntype UpdateDatabasePathParameters = {\n // ID of a Notion database, a container for one or more data sources.\n database_id: IdRequest\n}\n\ntype UpdateDatabaseBodyParameters = {\n // The parent page or workspace to move the database to. If not provided, the database\n // will not be moved.\n parent?: {\n // The type of parent.\n type: \"page_id\" | \"workspace\"\n } & (\n | {\n // Always `page_id`\n type: \"page_id\"\n page_id: IdRequest\n }\n | {\n // Always `workspace`\n type: \"workspace\"\n // Always `true`\n workspace: true\n }\n )\n // The updated title of the database, if any. If not provided, the title will not be\n // updated.\n title?: Array<RichTextItemRequest>\n // The updated description of the database, if any. If not provided, the description will\n // not be updated.\n description?: Array<RichTextItemRequest>\n // Whether the database should be displayed inline in the parent page. If not provided,\n // the inline status will not be updated.\n is_inline?: boolean\n // The updated icon for the database, if any. If not provided, the icon will not be\n // updated.\n icon?: PageIconRequest\n // The updated cover image for the database, if any. If not provided, the cover will not\n // be updated.\n cover?: PageCoverRequest\n // Whether the database should be moved to or from the trash. If not provided, the trash\n // status will not be updated.\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n // Whether the database should be locked from editing in the Notion app UI. If not\n // provided, the locked state will not be updated.\n is_locked?: boolean\n}\n\nexport type UpdateDatabaseParameters = UpdateDatabasePathParameters &\n UpdateDatabaseBodyParameters\n\nexport type UpdateDatabaseResponse =\n | PartialDatabaseObjectResponse\n | DatabaseObjectResponse\n\n/**\n * Update a database\n */\nexport const updateDatabase = {\n method: \"patch\",\n pathParams: [\"database_id\"],\n queryParams: [],\n bodyParams: [\n \"parent\",\n \"title\",\n \"description\",\n \"is_inline\",\n \"icon\",\n \"cover\",\n \"in_trash\",\n \"is_locked\",\n ],\n\n path: (p: UpdateDatabasePathParameters): string =>\n `databases/${p.database_id}`,\n} as const\n\ntype CreateDatabaseBodyParameters = {\n // The parent page or workspace where the database will be created.\n parent: {\n // The type of parent.\n type: \"page_id\" | \"workspace\"\n } & (\n | {\n // Always `page_id`\n type: \"page_id\"\n page_id: IdRequest\n }\n | {\n // Always `workspace`\n type: \"workspace\"\n // Always `true`\n workspace: true\n }\n )\n // The title of the database.\n title?: Array<RichTextItemRequest>\n // The description of the database.\n description?: Array<RichTextItemRequest>\n // Whether the database should be displayed inline in the parent page. Defaults to false.\n is_inline?: boolean\n // Initial data source configuration for the database.\n initial_data_source?: InitialDataSourceRequest\n // The icon for the database.\n icon?: PageIconRequest\n // The cover image for the database.\n cover?: PageCoverRequest\n}\n\nexport type CreateDatabaseParameters = CreateDatabaseBodyParameters\n\nexport type CreateDatabaseResponse =\n | PartialDatabaseObjectResponse\n | DatabaseObjectResponse\n\n/**\n * Create a database\n */\nexport const createDatabase = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\n \"parent\",\n \"title\",\n \"description\",\n \"is_inline\",\n \"initial_data_source\",\n \"icon\",\n \"cover\",\n ],\n\n path: (): string => `databases`,\n} as const\n\ntype SearchBodyParameters = {\n sort?: {\n timestamp: \"last_edited_time\"\n direction: \"ascending\" | \"descending\"\n }\n query?: string\n start_cursor?: string\n page_size?: number\n filter?: { property: \"object\"; value: \"page\" | \"data_source\" }\n}\n\nexport type SearchParameters = SearchBodyParameters\n\nexport type SearchResponse = {\n type: \"page_or_data_source\"\n page_or_data_source: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<\n | PageObjectResponse\n | PartialPageObjectResponse\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n >\n}\n\n/**\n * Search by title\n */\nexport const search = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\"sort\", \"query\", \"start_cursor\", \"page_size\", \"filter\"],\n\n path: (): string => `search`,\n} as const\n\ntype CreateCommentBodyParameters = {\n // An array of rich text objects that represent the content of the comment.\n rich_text: Array<RichTextItemRequest>\n // An array of files to attach to the comment. Maximum of 3 allowed.\n attachments?: Array<{\n // ID of a FileUpload object that has the status `uploaded`.\n file_upload_id: string\n // Always `file_upload`\n type?: \"file_upload\"\n }>\n // Display name for the comment.\n display_name?:\n | {\n // Always `integration`\n type: \"integration\"\n }\n | {\n // Always `user`\n type: \"user\"\n }\n | {\n // Always `custom`\n type: \"custom\"\n custom: {\n // The custom display name to use\n name: string\n }\n }\n} & (\n | {\n // The parent of the comment. This can be a page or a block.\n parent:\n | {\n // The ID of the parent page (with or without dashes), for example,\n // 195de9221179449fab8075a27c979105\n page_id: IdRequest\n // Always `page_id`\n type?: \"page_id\"\n }\n | {\n // The ID of the parent block (with or without dashes), for example,\n // 195de9221179449fab8075a27c979105\n block_id: IdRequest\n // Always `block_id`\n type?: \"block_id\"\n }\n }\n | {\n // The ID of the discussion to comment on.\n discussion_id: IdRequest\n }\n)\n\nexport type CreateCommentParameters = CreateCommentBodyParameters\n\nexport type CreateCommentResponse =\n | PartialCommentObjectResponse\n | CommentObjectResponse\n\n/**\n * Create a comment\n */\nexport const createComment = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\n \"rich_text\",\n \"attachments\",\n \"display_name\",\n \"parent\",\n \"discussion_id\",\n ],\n\n path: (): string => `comments`,\n} as const\n\ntype ListCommentsQueryParameters = {\n // Identifier for a Notion block or page.\n block_id: IdRequest\n // If supplied, this endpoint will return a page of results starting after the cursor\n // provided. If not supplied, this endpoint will return the first page of results.\n start_cursor?: string\n // The number of items from the full list desired in the response. Maximum: 100\n page_size?: number\n}\n\nexport type ListCommentsParameters = ListCommentsQueryParameters\n\nexport type ListCommentsResponse = {\n // Always `list`\n object: \"list\"\n next_cursor: IdResponse | null\n has_more: boolean\n results: Array<CommentObjectResponse>\n // Always `comment`\n type: \"comment\"\n comment: EmptyObject\n}\n\n/**\n * List comments\n */\nexport const listComments = {\n method: \"get\",\n pathParams: [],\n queryParams: [\"block_id\", \"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (): string => `comments`,\n} as const\n\ntype GetCommentPathParameters = {\n // The ID of the comment to retrieve.\n comment_id: IdRequest\n}\n\nexport type GetCommentParameters = GetCommentPathParameters\n\nexport type GetCommentResponse =\n | PartialCommentObjectResponse\n | CommentObjectResponse\n\n/**\n * Retrieve a comment\n */\nexport const getComment = {\n method: \"get\",\n pathParams: [\"comment_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetCommentPathParameters): string => `comments/${p.comment_id}`,\n} as const\n\ntype CreateFileUploadBodyParameters = {\n // How the file is being sent. Use `multi_part` for files larger than 20MB. Use\n // `external_url` for files that are temporarily hosted publicly elsewhere. Default is\n // `single_part`.\n mode?: \"single_part\" | \"multi_part\" | \"external_url\"\n // Name of the file to be created. Required when `mode` is `multi_part`. Otherwise\n // optional, and used to override the filename. Must include an extension, or have one\n // inferred from the `content_type` parameter.\n filename?: string\n // MIME type of the file to be created. Recommended when sending the file in multiple\n // parts. Must match the content type of the file that's sent, and the extension of the\n // `filename` parameter if any.\n content_type?: string\n // When `mode` is `multi_part`, the number of parts you are uploading. This must match\n // the number of parts as well as the final `part_number` you send.\n number_of_parts?: number\n // When `mode` is `external_url`, provide the HTTPS URL of a publicly accessible file to\n // import into your workspace.\n external_url?: string\n}\n\nexport type CreateFileUploadParameters = CreateFileUploadBodyParameters\n\nexport type CreateFileUploadResponse = FileUploadObjectResponse\n\n/**\n * Create a file upload\n */\nexport const createFileUpload = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\n \"mode\",\n \"filename\",\n \"content_type\",\n \"number_of_parts\",\n \"external_url\",\n ],\n\n path: (): string => `file_uploads`,\n} as const\n\ntype ListFileUploadsQueryParameters = {\n // If supplied, the endpoint will return file uploads with the specified status.\n status?: \"pending\" | \"uploaded\" | \"expired\" | \"failed\"\n // If supplied, this endpoint will return a page of results starting after the cursor\n // provided. If not supplied, this endpoint will return the first page of results.\n start_cursor?: string\n // The number of items from the full list desired in the response. Maximum: 100\n page_size?: number\n}\n\nexport type ListFileUploadsParameters = ListFileUploadsQueryParameters\n\nexport type ListFileUploadsResponse = {\n // Always `list`\n object: \"list\"\n next_cursor: IdResponse | null\n has_more: boolean\n results: Array<FileUploadObjectResponse>\n // Always `file_upload`\n type: \"file_upload\"\n file_upload: EmptyObject\n}\n\n/**\n * List file uploads\n */\nexport const listFileUploads = {\n method: \"get\",\n pathParams: [],\n queryParams: [\"status\", \"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (): string => `file_uploads`,\n} as const\n\ntype SendFileUploadPathParameters = {\n // Identifier for a Notion file upload object.\n file_upload_id: IdRequest\n}\n\ntype SendFileUploadFormDataParameters = {\n file: { filename?: string; data: string | Blob }\n part_number?: string\n}\n\nexport type SendFileUploadParameters = SendFileUploadPathParameters &\n SendFileUploadFormDataParameters\n\nexport type SendFileUploadResponse = FileUploadObjectResponse\n\n/**\n * Upload a file\n */\nexport const sendFileUpload = {\n method: \"post\",\n pathParams: [\"file_upload_id\"],\n queryParams: [],\n bodyParams: [],\n formDataParams: [\"file\", \"part_number\"],\n path: (p: SendFileUploadPathParameters): string =>\n `file_uploads/${p.file_upload_id}/send`,\n} as const\n\ntype CompleteFileUploadPathParameters = {\n // Identifier for a Notion file upload object.\n file_upload_id: IdRequest\n}\n\nexport type CompleteFileUploadParameters = CompleteFileUploadPathParameters\n\nexport type CompleteFileUploadResponse = FileUploadObjectResponse\n\n/**\n * Complete a multi-part file upload\n */\nexport const completeFileUpload = {\n method: \"post\",\n pathParams: [\"file_upload_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: CompleteFileUploadPathParameters): string =>\n `file_uploads/${p.file_upload_id}/complete`,\n} as const\n\ntype GetFileUploadPathParameters = {\n // Identifier for a Notion file upload object.\n file_upload_id: IdRequest\n}\n\nexport type GetFileUploadParameters = GetFileUploadPathParameters\n\nexport type GetFileUploadResponse = FileUploadObjectResponse\n\n/**\n * Retrieve a file upload\n */\nexport const getFileUpload = {\n method: \"get\",\n pathParams: [\"file_upload_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetFileUploadPathParameters): string =>\n `file_uploads/${p.file_upload_id}`,\n} as const\n\ntype OauthTokenBodyParameters =\n | {\n grant_type: \"authorization_code\"\n code: string\n redirect_uri?: string\n external_account?: { key: string; name: string }\n }\n | { grant_type: \"refresh_token\"; refresh_token: string }\n\nexport type OauthTokenParameters = OauthTokenBodyParameters\n\nexport type OauthTokenResponse = {\n access_token: string\n token_type: \"bearer\"\n refresh_token: string | null\n bot_id: string\n workspace_icon: string | null\n workspace_name: string | null\n workspace_id: string\n owner:\n | {\n type: \"user\"\n user:\n | {\n type: \"person\"\n person: { email: string }\n name: string | null\n avatar_url: string | null\n id: IdRequest\n object: \"user\"\n }\n | PartialUserObjectResponse\n }\n | { type: \"workspace\"; workspace: true }\n duplicated_template_id: string | null\n request_id?: string\n}\n\n/**\n * Exchange an authorization code for an access and refresh token\n */\nexport const oauthToken = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\n \"grant_type\",\n \"code\",\n \"redirect_uri\",\n \"external_account\",\n \"refresh_token\",\n ],\n\n path: (): string => `oauth/token`,\n} as const\n\ntype OauthRevokeBodyParameters = { token: string }\n\nexport type OauthRevokeParameters = OauthRevokeBodyParameters\n\nexport type OauthRevokeResponse = { request_id?: string }\n\n/**\n * Revoke a token\n */\nexport const oauthRevoke = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\"token\"],\n\n path: (): string => `oauth/revoke`,\n} as const\n\ntype OauthIntrospectBodyParameters = { token: string }\n\nexport type OauthIntrospectParameters = OauthIntrospectBodyParameters\n\nexport type OauthIntrospectResponse = {\n active: boolean\n scope?: string\n iat?: number\n request_id?: string\n}\n\n/**\n * Introspect a token\n */\nexport const oauthIntrospect = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\"token\"],\n\n path: (): string => `oauth/introspect`,\n} as const\n"]}
|
|
1
|
+
{"version":3,"file":"api-endpoints.js","sourceRoot":"","sources":["../../src/api-endpoints.ts"],"names":[],"mappings":"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","sourcesContent":["// cspell:disable-file\n// Note: This is a generated file. DO NOT EDIT!\n\ntype AnnotationRequest = {\n // Whether the text is formatted as bold.\n bold?: boolean\n // Whether the text is formatted as italic.\n italic?: boolean\n // Whether the text is formatted with a strikethrough.\n strikethrough?: boolean\n // Whether the text is formatted with an underline.\n underline?: boolean\n // Whether the text is formatted as code.\n code?: boolean\n // The color of the text.\n color?: ApiColor\n}\n\ntype AnnotationResponse = {\n bold: boolean\n italic: boolean\n strikethrough: boolean\n underline: boolean\n code: boolean\n color: ApiColor\n}\n\n/**\n * One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`,\n * `pink`, `red`, `default_background`, `gray_background`, `brown_background`,\n * `orange_background`, `yellow_background`, `green_background`, `blue_background`,\n * `purple_background`, `pink_background`, `red_background`\n */\ntype ApiColor =\n | \"default\"\n | \"gray\"\n | \"brown\"\n | \"orange\"\n | \"yellow\"\n | \"green\"\n | \"blue\"\n | \"purple\"\n | \"pink\"\n | \"red\"\n | \"default_background\"\n | \"gray_background\"\n | \"brown_background\"\n | \"orange_background\"\n | \"yellow_background\"\n | \"green_background\"\n | \"blue_background\"\n | \"purple_background\"\n | \"pink_background\"\n | \"red_background\"\n\ntype ApiTranscriptionStatus =\n | \"transcription_not_started\"\n | \"transcription_paused\"\n | \"transcription_in_progress\"\n | \"summary_in_progress\"\n | \"notes_ready\"\n\ntype ArrayBasedPropertyValueResponse =\n | TitleArrayBasedPropertyValueResponse\n | RichTextArrayBasedPropertyValueResponse\n | PeopleArrayBasedPropertyValueResponse\n | RelationArrayBasedPropertyValueResponse\n\ntype ArrayPartialRollupValueResponse = {\n // Always `array`\n type: \"array\"\n array: Array<SimpleOrArrayPropertyValueResponse>\n}\n\nexport type AudioBlockObjectResponse = {\n type: \"audio\"\n audio: MediaContentWithFileAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype BlockIdCommentParentResponse = {\n // Always `block_id`\n type: \"block_id\"\n block_id: IdResponse\n}\n\ntype BlockIdParentForBlockBasedObjectResponse = {\n // The parent type.\n type: \"block_id\"\n // The ID of the parent block.\n block_id: IdResponse\n}\n\nexport type BlockObjectRequest =\n | {\n embed: MediaContentWithUrlAndCaptionRequest\n type?: \"embed\"\n object?: \"block\"\n }\n | {\n bookmark: MediaContentWithUrlAndCaptionRequest\n type?: \"bookmark\"\n object?: \"block\"\n }\n | {\n image: MediaContentWithFileAndCaptionRequest\n type?: \"image\"\n object?: \"block\"\n }\n | {\n video: MediaContentWithFileAndCaptionRequest\n type?: \"video\"\n object?: \"block\"\n }\n | {\n pdf: MediaContentWithFileAndCaptionRequest\n type?: \"pdf\"\n object?: \"block\"\n }\n | {\n file: MediaContentWithFileNameAndCaptionRequest\n type?: \"file\"\n object?: \"block\"\n }\n | {\n audio: MediaContentWithFileAndCaptionRequest\n type?: \"audio\"\n object?: \"block\"\n }\n | {\n code: {\n rich_text: Array<RichTextItemRequest>\n language: LanguageRequest\n caption?: Array<RichTextItemRequest>\n }\n type?: \"code\"\n object?: \"block\"\n }\n | {\n equation: ContentWithExpressionRequest\n type?: \"equation\"\n object?: \"block\"\n }\n | { divider: EmptyObject; type?: \"divider\"; object?: \"block\" }\n | { breadcrumb: EmptyObject; type?: \"breadcrumb\"; object?: \"block\" }\n | {\n table_of_contents: { color?: ApiColor }\n type?: \"table_of_contents\"\n object?: \"block\"\n }\n | {\n link_to_page:\n | { page_id: IdRequest; type?: \"page_id\" }\n | { database_id: IdRequest; type?: \"database_id\" }\n | { comment_id: IdRequest; type?: \"comment_id\" }\n type?: \"link_to_page\"\n object?: \"block\"\n }\n | {\n table_row: ContentWithTableRowRequest\n type?: \"table_row\"\n object?: \"block\"\n }\n | {\n table: TableRequestWithTableRowChildren\n type?: \"table\"\n object?: \"block\"\n }\n | { column_list: ColumnListRequest; type?: \"column_list\"; object?: \"block\" }\n | { column: ColumnWithChildrenRequest; type?: \"column\"; object?: \"block\" }\n | {\n heading_1: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n is_toggleable?: boolean\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"heading_1\"\n object?: \"block\"\n }\n | {\n heading_2: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n is_toggleable?: boolean\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"heading_2\"\n object?: \"block\"\n }\n | {\n heading_3: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n is_toggleable?: boolean\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"heading_3\"\n object?: \"block\"\n }\n | {\n paragraph: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"paragraph\"\n object?: \"block\"\n }\n | {\n bulleted_list_item: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"bulleted_list_item\"\n object?: \"block\"\n }\n | {\n numbered_list_item: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"numbered_list_item\"\n object?: \"block\"\n }\n | {\n quote: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"quote\"\n object?: \"block\"\n }\n | {\n to_do: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n checked?: boolean\n }\n type?: \"to_do\"\n object?: \"block\"\n }\n | {\n toggle: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"toggle\"\n object?: \"block\"\n }\n | {\n template: {\n rich_text: Array<RichTextItemRequest>\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"template\"\n object?: \"block\"\n }\n | {\n callout: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n icon?: PageIconRequest\n }\n type?: \"callout\"\n object?: \"block\"\n }\n | {\n synced_block: {\n synced_from: { block_id: IdRequest; type?: \"block_id\" } | null\n children?: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n }\n type?: \"synced_block\"\n object?: \"block\"\n }\n\nexport type BlockObjectRequestWithoutChildren =\n | {\n embed: MediaContentWithUrlAndCaptionRequest\n type?: \"embed\"\n object?: \"block\"\n }\n | {\n bookmark: MediaContentWithUrlAndCaptionRequest\n type?: \"bookmark\"\n object?: \"block\"\n }\n | {\n image: MediaContentWithFileAndCaptionRequest\n type?: \"image\"\n object?: \"block\"\n }\n | {\n video: MediaContentWithFileAndCaptionRequest\n type?: \"video\"\n object?: \"block\"\n }\n | {\n pdf: MediaContentWithFileAndCaptionRequest\n type?: \"pdf\"\n object?: \"block\"\n }\n | {\n file: MediaContentWithFileNameAndCaptionRequest\n type?: \"file\"\n object?: \"block\"\n }\n | {\n audio: MediaContentWithFileAndCaptionRequest\n type?: \"audio\"\n object?: \"block\"\n }\n | {\n code: {\n rich_text: Array<RichTextItemRequest>\n language: LanguageRequest\n caption?: Array<RichTextItemRequest>\n }\n type?: \"code\"\n object?: \"block\"\n }\n | {\n equation: ContentWithExpressionRequest\n type?: \"equation\"\n object?: \"block\"\n }\n | { divider: EmptyObject; type?: \"divider\"; object?: \"block\" }\n | { breadcrumb: EmptyObject; type?: \"breadcrumb\"; object?: \"block\" }\n | {\n table_of_contents: { color?: ApiColor }\n type?: \"table_of_contents\"\n object?: \"block\"\n }\n | {\n link_to_page:\n | { page_id: IdRequest; type?: \"page_id\" }\n | { database_id: IdRequest; type?: \"database_id\" }\n | { comment_id: IdRequest; type?: \"comment_id\" }\n type?: \"link_to_page\"\n object?: \"block\"\n }\n | {\n table_row: ContentWithTableRowRequest\n type?: \"table_row\"\n object?: \"block\"\n }\n | {\n heading_1: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_1\"\n object?: \"block\"\n }\n | {\n heading_2: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_2\"\n object?: \"block\"\n }\n | {\n heading_3: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_3\"\n object?: \"block\"\n }\n | {\n paragraph: ContentWithRichTextAndColorRequest\n type?: \"paragraph\"\n object?: \"block\"\n }\n | {\n bulleted_list_item: ContentWithRichTextAndColorRequest\n type?: \"bulleted_list_item\"\n object?: \"block\"\n }\n | {\n numbered_list_item: ContentWithRichTextAndColorRequest\n type?: \"numbered_list_item\"\n object?: \"block\"\n }\n | {\n quote: ContentWithRichTextAndColorRequest\n type?: \"quote\"\n object?: \"block\"\n }\n | {\n to_do: {\n rich_text: Array<RichTextItemRequest>\n checked?: boolean\n color?: ApiColor\n }\n type?: \"to_do\"\n object?: \"block\"\n }\n | {\n toggle: ContentWithRichTextAndColorRequest\n type?: \"toggle\"\n object?: \"block\"\n }\n | {\n template: ContentWithRichTextRequest\n type?: \"template\"\n object?: \"block\"\n }\n | {\n callout: {\n rich_text: Array<RichTextItemRequest>\n icon?: PageIconRequest\n color?: ApiColor\n }\n type?: \"callout\"\n object?: \"block\"\n }\n | {\n synced_block: {\n synced_from: { block_id: IdRequest; type?: \"block_id\" } | null\n }\n type?: \"synced_block\"\n object?: \"block\"\n }\n\nexport type BlockObjectResponse =\n | ParagraphBlockObjectResponse\n | Heading1BlockObjectResponse\n | Heading2BlockObjectResponse\n | Heading3BlockObjectResponse\n | BulletedListItemBlockObjectResponse\n | NumberedListItemBlockObjectResponse\n | QuoteBlockObjectResponse\n | ToDoBlockObjectResponse\n | ToggleBlockObjectResponse\n | TemplateBlockObjectResponse\n | SyncedBlockBlockObjectResponse\n | ChildPageBlockObjectResponse\n | ChildDatabaseBlockObjectResponse\n | EquationBlockObjectResponse\n | CodeBlockObjectResponse\n | CalloutBlockObjectResponse\n | DividerBlockObjectResponse\n | BreadcrumbBlockObjectResponse\n | TableOfContentsBlockObjectResponse\n | ColumnListBlockObjectResponse\n | ColumnBlockObjectResponse\n | LinkToPageBlockObjectResponse\n | TableBlockObjectResponse\n | TableRowBlockObjectResponse\n | MeetingNotesBlockObjectResponse\n | TranscriptionBlockObjectResponse\n | EmbedBlockObjectResponse\n | BookmarkBlockObjectResponse\n | ImageBlockObjectResponse\n | VideoBlockObjectResponse\n | PdfBlockObjectResponse\n | FileBlockObjectResponse\n | AudioBlockObjectResponse\n | LinkPreviewBlockObjectResponse\n | UnsupportedBlockObjectResponse\n\ntype BlockObjectWithSingleLevelOfChildrenRequest =\n | {\n embed: MediaContentWithUrlAndCaptionRequest\n type?: \"embed\"\n object?: \"block\"\n }\n | {\n bookmark: MediaContentWithUrlAndCaptionRequest\n type?: \"bookmark\"\n object?: \"block\"\n }\n | {\n image: MediaContentWithFileAndCaptionRequest\n type?: \"image\"\n object?: \"block\"\n }\n | {\n video: MediaContentWithFileAndCaptionRequest\n type?: \"video\"\n object?: \"block\"\n }\n | {\n pdf: MediaContentWithFileAndCaptionRequest\n type?: \"pdf\"\n object?: \"block\"\n }\n | {\n file: MediaContentWithFileNameAndCaptionRequest\n type?: \"file\"\n object?: \"block\"\n }\n | {\n audio: MediaContentWithFileAndCaptionRequest\n type?: \"audio\"\n object?: \"block\"\n }\n | {\n code: {\n rich_text: Array<RichTextItemRequest>\n language: LanguageRequest\n caption?: Array<RichTextItemRequest>\n }\n type?: \"code\"\n object?: \"block\"\n }\n | {\n equation: ContentWithExpressionRequest\n type?: \"equation\"\n object?: \"block\"\n }\n | { divider: EmptyObject; type?: \"divider\"; object?: \"block\" }\n | { breadcrumb: EmptyObject; type?: \"breadcrumb\"; object?: \"block\" }\n | {\n table_of_contents: { color?: ApiColor }\n type?: \"table_of_contents\"\n object?: \"block\"\n }\n | {\n link_to_page:\n | { page_id: IdRequest; type?: \"page_id\" }\n | { database_id: IdRequest; type?: \"database_id\" }\n | { comment_id: IdRequest; type?: \"comment_id\" }\n type?: \"link_to_page\"\n object?: \"block\"\n }\n | {\n table_row: ContentWithTableRowRequest\n type?: \"table_row\"\n object?: \"block\"\n }\n | {\n heading_1: HeaderContentWithSingleLevelOfChildrenRequest\n type?: \"heading_1\"\n object?: \"block\"\n }\n | {\n heading_2: HeaderContentWithSingleLevelOfChildrenRequest\n type?: \"heading_2\"\n object?: \"block\"\n }\n | {\n heading_3: HeaderContentWithSingleLevelOfChildrenRequest\n type?: \"heading_3\"\n object?: \"block\"\n }\n | {\n paragraph: ContentWithSingleLevelOfChildrenRequest\n type?: \"paragraph\"\n object?: \"block\"\n }\n | {\n bulleted_list_item: ContentWithSingleLevelOfChildrenRequest\n type?: \"bulleted_list_item\"\n object?: \"block\"\n }\n | {\n numbered_list_item: ContentWithSingleLevelOfChildrenRequest\n type?: \"numbered_list_item\"\n object?: \"block\"\n }\n | {\n quote: ContentWithSingleLevelOfChildrenRequest\n type?: \"quote\"\n object?: \"block\"\n }\n | {\n table: TableRequestWithTableRowChildren\n type?: \"table\"\n object?: \"block\"\n }\n | {\n to_do: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectRequestWithoutChildren>\n checked?: boolean\n }\n type?: \"to_do\"\n object?: \"block\"\n }\n | {\n toggle: ContentWithSingleLevelOfChildrenRequest\n type?: \"toggle\"\n object?: \"block\"\n }\n | {\n template: {\n rich_text: Array<RichTextItemRequest>\n children?: Array<BlockObjectRequestWithoutChildren>\n }\n type?: \"template\"\n object?: \"block\"\n }\n | {\n callout: {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectRequestWithoutChildren>\n icon?: PageIconRequest\n }\n type?: \"callout\"\n object?: \"block\"\n }\n | {\n synced_block: {\n synced_from: { block_id: IdRequest; type?: \"block_id\" } | null\n children?: Array<BlockObjectRequestWithoutChildren>\n }\n type?: \"synced_block\"\n object?: \"block\"\n }\n\nexport type BookmarkBlockObjectResponse = {\n type: \"bookmark\"\n bookmark: MediaContentWithUrlAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype BooleanFormulaPropertyResponse = {\n type: \"boolean\"\n boolean: boolean | null\n}\n\ntype BooleanFormulaPropertyValueResponse = {\n // Always `boolean`\n type: \"boolean\"\n boolean: boolean | null\n}\n\ntype BotInfoResponse = {\n // Details about the owner of the bot.\n owner:\n | {\n // Always `user`\n type: \"user\"\n // Details about the owner of the bot, when the `type` of the owner is `user`. This means\n // the bot is for a integration.\n user:\n | {\n // The ID of the user.\n id: IdResponse\n // The user object type name.\n object: \"user\"\n // The name of the user.\n name: string | null\n // The avatar URL of the user.\n avatar_url: string | null\n // The type of the user.\n type: \"person\"\n // The person info of the user.\n person: {\n // The email of the person.\n email?: string\n }\n }\n | PartialUserObjectResponse\n }\n | {\n // Always `workspace`\n type: \"workspace\"\n // Details about the owner of the bot, when the `type` of the owner is `workspace`. This\n // means the bot is for an internal integration.\n workspace: true\n }\n // The ID of the bot's workspace.\n workspace_id: string\n // Limits and restrictions that apply to the bot's workspace\n workspace_limits: {\n // The maximum allowable size of a file upload, in bytes\n max_file_upload_size_in_bytes: number\n }\n // The name of the bot's workspace.\n workspace_name: string | null\n}\n\nexport type BotUserObjectResponse = {\n // Indicates this user is a bot.\n type: \"bot\"\n // Details about the bot, when the `type` of the user is `bot`.\n bot: EmptyObject | BotInfoResponse\n}\n\nexport type BreadcrumbBlockObjectResponse = {\n type: \"breadcrumb\"\n breadcrumb: EmptyObject\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type BulletedListItemBlockObjectResponse = {\n type: \"bulleted_list_item\"\n bulleted_list_item: ContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype ButtonPropertyConfigurationRequest = {\n // Always `button`\n type?: \"button\"\n button: EmptyObject\n}\n\nexport type ButtonPropertyItemObjectResponse = {\n type: \"button\"\n button: EmptyObject\n object: \"property_item\"\n id: string\n}\n\ntype ButtonSimplePropertyValueResponse = {\n // Always `button`\n type: \"button\"\n button: EmptyObject\n}\n\nexport type CalloutBlockObjectResponse = {\n type: \"callout\"\n callout: {\n rich_text: Array<RichTextItemResponse>\n color: ApiColor\n icon: PageIconResponse | null\n }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype CheckboxDatabasePropertyConfigResponse = {\n // Always `checkbox`\n type: \"checkbox\"\n checkbox: EmptyObject\n}\n\ntype CheckboxPropertyConfigurationRequest = {\n // Always `checkbox`\n type?: \"checkbox\"\n checkbox: EmptyObject\n}\n\ntype CheckboxPropertyFilter = { equals: boolean } | { does_not_equal: boolean }\n\nexport type CheckboxPropertyItemObjectResponse = {\n type: \"checkbox\"\n checkbox: boolean\n object: \"property_item\"\n id: string\n}\n\ntype CheckboxSimplePropertyValueResponse = {\n // Always `checkbox`\n type: \"checkbox\"\n checkbox: boolean\n}\n\nexport type ChildDatabaseBlockObjectResponse = {\n type: \"child_database\"\n child_database: TitleObjectResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type ChildPageBlockObjectResponse = {\n type: \"child_page\"\n child_page: TitleObjectResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type CodeBlockObjectResponse = {\n type: \"code\"\n code: {\n rich_text: Array<RichTextItemResponse>\n caption: Array<RichTextItemResponse>\n language: LanguageRequest\n }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type ColumnBlockObjectResponse = {\n type: \"column\"\n column: ColumnResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype ColumnBlockWithChildrenRequest = {\n column: ColumnWithChildrenRequest\n type?: \"column\"\n object?: \"block\"\n}\n\nexport type ColumnListBlockObjectResponse = {\n type: \"column_list\"\n column_list: EmptyObject\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype ColumnListRequest = { children: Array<ColumnBlockWithChildrenRequest> }\n\ntype ColumnResponse = {\n // Ratio between 0 and 1 of the width of this column relative to all columns in the list.\n // If not provided, uses an equal width.\n width_ratio?: number\n}\n\ntype ColumnWithChildrenRequest = {\n children: Array<BlockObjectWithSingleLevelOfChildrenRequest>\n // Ratio between 0 and 1 of the width of this column relative to all columns in the list.\n // If not provided, uses an equal width.\n width_ratio?: number\n}\n\nexport type CommentObjectResponse = {\n // The comment object type name.\n object: \"comment\"\n // The ID of the comment.\n id: IdResponse\n // The parent of the comment.\n parent: CommentParentResponse\n // The ID of the discussion thread this comment belongs to.\n discussion_id: IdResponse\n // The time when the comment was created.\n created_time: string\n // The time when the comment was last edited.\n last_edited_time: string\n // The user who created the comment.\n created_by: PartialUserObjectResponse\n // The rich text content of the comment.\n rich_text: Array<RichTextItemResponse>\n // The display name of the comment.\n display_name: {\n // One of: `custom`, `user`, `integration`\n type: \"custom\" | \"user\" | \"integration\"\n resolved_name: string | null\n }\n // Any file attachments associated with the comment.\n attachments?: Array<{\n // One of: `audio`, `image`, `pdf`, `productivity`, `video`\n category: \"audio\" | \"image\" | \"pdf\" | \"productivity\" | \"video\"\n file: InternalFileResponse\n }>\n}\n\ntype CommentParentResponse =\n | PageIdCommentParentResponse\n | BlockIdCommentParentResponse\n\ntype ContentPositionSchema =\n | { type: \"after_block\"; after_block: { id: IdRequest } }\n | { type: \"start\" }\n | { type: \"end\" }\n\ntype ContentWithExpressionRequest = { expression: string }\n\ntype ContentWithRichTextAndColorAndListResponse = {\n rich_text: Array<RichTextItemResponse>\n color: ApiColor\n list_start_index?: number\n list_format?: NumberedListFormat\n}\n\ntype ContentWithRichTextAndColorRequest = {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n}\n\ntype ContentWithRichTextAndColorResponse = {\n rich_text: Array<RichTextItemResponse>\n color: ApiColor\n}\n\ntype ContentWithRichTextRequest = { rich_text: Array<RichTextItemRequest> }\n\ntype ContentWithSingleLevelOfChildrenRequest = {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n children?: Array<BlockObjectRequestWithoutChildren>\n}\n\ntype ContentWithTableResponse = {\n has_column_header: boolean\n has_row_header: boolean\n table_width: number\n}\n\ntype ContentWithTableRowRequest = { cells: Array<Array<RichTextItemRequest>> }\n\ntype ContentWithTableRowResponse = { cells: Array<Array<RichTextItemResponse>> }\n\ntype CreatedByDatabasePropertyConfigResponse = {\n // Always `created_by`\n type: \"created_by\"\n created_by: EmptyObject\n}\n\ntype CreatedByPropertyConfigurationRequest = {\n // Always `created_by`\n type?: \"created_by\"\n created_by: EmptyObject\n}\n\nexport type CreatedByPropertyItemObjectResponse = {\n type: \"created_by\"\n created_by: PartialUserObjectResponse | UserObjectResponse\n object: \"property_item\"\n id: string\n}\n\ntype CreatedBySimplePropertyValueResponse = {\n // Always `created_by`\n type: \"created_by\"\n created_by: UserValueResponse\n}\n\ntype CreatedTimeDatabasePropertyConfigResponse = {\n // Always `created_time`\n type: \"created_time\"\n created_time: EmptyObject\n}\n\ntype CreatedTimePropertyConfigurationRequest = {\n // Always `created_time`\n type?: \"created_time\"\n created_time: EmptyObject\n}\n\nexport type CreatedTimePropertyItemObjectResponse = {\n type: \"created_time\"\n created_time: string\n object: \"property_item\"\n id: string\n}\n\ntype CreatedTimeSimplePropertyValueResponse = {\n // Always `created_time`\n type: \"created_time\"\n created_time: string\n}\n\ntype CustomEmojiPageIconRequest = {\n // Always `custom_emoji`\n type?: \"custom_emoji\"\n custom_emoji: {\n // The ID of the custom emoji.\n id: IdRequest\n // The name of the custom emoji.\n name?: string\n // The URL of the custom emoji.\n url?: string\n }\n}\n\ntype CustomEmojiPageIconResponse = {\n // Type of icon. In this case, a custom emoji.\n type: \"custom_emoji\"\n // The custom emoji details for the icon.\n custom_emoji: CustomEmojiResponse\n}\n\ntype CustomEmojiResponse = {\n // The ID of the custom emoji.\n id: IdResponse\n // The name of the custom emoji.\n name: string\n // The URL of the custom emoji.\n url: string\n}\n\nexport type DataSourceObjectResponse = {\n // The data source object type name.\n object: \"data_source\"\n // The ID of the data source.\n id: IdResponse\n // The title of the data source.\n title: Array<RichTextItemResponse>\n // The description of the data source.\n description: Array<RichTextItemResponse>\n // The parent of the data source.\n parent: ParentOfDataSourceResponse\n // The parent of the data source's containing database. This is typically a page, block,\n // or workspace, but can be another database in the case of wikis.\n database_parent: ParentOfDatabaseResponse\n // Whether the data source is inline.\n is_inline: boolean\n // Whether the data source is in the trash.\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n // The time when the data source was created.\n created_time: string\n // The time when the data source was last edited.\n last_edited_time: string\n // The user who created the data source.\n created_by: PartialUserObjectResponse\n // The user who last edited the data source.\n last_edited_by: PartialUserObjectResponse\n // The properties schema of the data source.\n properties: Record<string, DatabasePropertyConfigResponse>\n // The icon of the data source.\n icon: PageIconResponse | null\n // The cover of the data source.\n cover: PageCoverResponse | null\n // The URL of the data source.\n url: string\n // The public URL of the data source if it is publicly accessible.\n public_url: string | null\n}\n\ntype DataSourceParentResponse = {\n // The parent type.\n type: \"data_source_id\"\n // The ID of the parent data source.\n data_source_id: IdResponse\n // The ID of the data source's parent database.\n database_id: IdResponse\n}\n\ntype DataSourceReferenceResponse = {\n // The ID of the data source.\n id: IdResponse\n // The name of the data source.\n name: string\n}\n\nexport type DatabaseObjectResponse = {\n // The database object type name.\n object: \"database\"\n // The ID of the database.\n id: IdResponse\n // The title of the database.\n title: Array<RichTextItemResponse>\n // The description of the database.\n description: Array<RichTextItemResponse>\n // The parent of the database. This is typically a page, block, or workspace, but can be\n // another database in the case of wikis.\n parent: ParentOfDatabaseResponse\n // Whether the database is inline.\n is_inline: boolean\n // Whether the database is in the trash.\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n // Whether the database is locked from editing in the Notion app UI.\n is_locked: boolean\n // The time when the database was created.\n created_time: string\n // The time when the database was last edited.\n last_edited_time: string\n // The data sources of the database.\n data_sources: Array<DataSourceReferenceResponse>\n // The icon of the database.\n icon: PageIconResponse | null\n // The cover of the database.\n cover: PageCoverResponse | null\n // The URL of the database.\n url: string\n // The public URL of the database if it is publicly accessible.\n public_url: string | null\n}\n\ntype DatabaseParentResponse = {\n // The parent type.\n type: \"database_id\"\n // The ID of the parent database.\n database_id: IdResponse\n}\n\ntype DatabasePropertyConfigResponse = DatabasePropertyConfigResponseCommon &\n (\n | NumberDatabasePropertyConfigResponse\n | FormulaDatabasePropertyConfigResponse\n | SelectDatabasePropertyConfigResponse\n | MultiSelectDatabasePropertyConfigResponse\n | StatusDatabasePropertyConfigResponse\n | RelationDatabasePropertyConfigResponse\n | RollupDatabasePropertyConfigResponse\n | UniqueIdDatabasePropertyConfigResponse\n | TitleDatabasePropertyConfigResponse\n | RichTextDatabasePropertyConfigResponse\n | UrlDatabasePropertyConfigResponse\n | PeopleDatabasePropertyConfigResponse\n | FilesDatabasePropertyConfigResponse\n | EmailDatabasePropertyConfigResponse\n | PhoneNumberDatabasePropertyConfigResponse\n | DateDatabasePropertyConfigResponse\n | CheckboxDatabasePropertyConfigResponse\n | CreatedByDatabasePropertyConfigResponse\n | CreatedTimeDatabasePropertyConfigResponse\n | LastEditedByDatabasePropertyConfigResponse\n | LastEditedTimeDatabasePropertyConfigResponse\n )\n\ntype DatabasePropertyConfigResponseCommon = {\n // The ID of the property.\n id: string\n // The name of the property.\n name: string\n // The description of the property.\n description: PropertyDescriptionRequest | null\n}\n\ntype DatabasePropertyRelationConfigResponse =\n DatabasePropertyRelationConfigResponseCommon &\n (\n | SinglePropertyDatabasePropertyRelationConfigResponse\n | DualPropertyDatabasePropertyRelationConfigResponse\n )\n\ntype DatabasePropertyRelationConfigResponseCommon = {\n database_id: IdResponse\n data_source_id: IdResponse\n}\n\ntype DateDatabasePropertyConfigResponse = {\n // Always `date`\n type: \"date\"\n date: EmptyObject\n}\n\ntype DateFormulaPropertyResponse = { type: \"date\"; date: DateResponse | null }\n\ntype DateFormulaPropertyValueResponse = {\n // Always `date`\n type: \"date\"\n date: DateResponse | null\n}\n\ntype DatePartialRollupValueResponse = {\n // Always `date`\n type: \"date\"\n date: DateResponse | null\n}\n\ntype DatePropertyConfigurationRequest = {\n // Always `date`\n type?: \"date\"\n date: EmptyObject\n}\n\ntype DatePropertyFilter =\n | { equals: string }\n | { before: string }\n | { after: string }\n | { on_or_before: string }\n | { on_or_after: string }\n | { this_week: EmptyObject }\n | { past_week: EmptyObject }\n | { past_month: EmptyObject }\n | { past_year: EmptyObject }\n | { next_week: EmptyObject }\n | { next_month: EmptyObject }\n | { next_year: EmptyObject }\n | ExistencePropertyFilter\n\nexport type DatePropertyItemObjectResponse = {\n type: \"date\"\n date: DateResponse | null\n object: \"property_item\"\n id: string\n}\n\ntype DateRequest = {\n // The start date of the date object.\n start: string\n // The end date of the date object, if any.\n end?: string | null\n // The time zone of the date object, if any. E.g. America/Los_Angeles, Europe/London,\n // etc.\n time_zone?: TimeZoneRequest | null\n}\n\ntype DateResponse = {\n // The start date of the date object.\n start: string\n // The end date of the date object, if any.\n end: string | null\n // The time zone of the date object.\n time_zone: TimeZoneRequest | null\n}\n\ntype DateSimplePropertyValueResponse = {\n // Always `date`\n type: \"date\"\n date: DateResponse | null\n}\n\nexport type DividerBlockObjectResponse = {\n type: \"divider\"\n divider: EmptyObject\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype DualPropertyDatabasePropertyRelationConfigResponse = {\n // Always `dual_property`\n type?: \"dual_property\"\n dual_property: { synced_property_id: string; synced_property_name: string }\n}\n\ntype EmailDatabasePropertyConfigResponse = {\n // Always `email`\n type: \"email\"\n email: EmptyObject\n}\n\ntype EmailPropertyConfigurationRequest = {\n // Always `email`\n type?: \"email\"\n email: EmptyObject\n}\n\nexport type EmailPropertyItemObjectResponse = {\n type: \"email\"\n email: string | null\n object: \"property_item\"\n id: string\n}\n\ntype EmailSimplePropertyValueResponse = {\n // Always `email`\n type: \"email\"\n email: string | null\n}\n\nexport type EmbedBlockObjectResponse = {\n type: \"embed\"\n embed: MediaContentWithUrlAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype EmojiPageIconRequest = {\n // Always `emoji`\n type?: \"emoji\"\n // An emoji character.\n emoji: EmojiRequest\n}\n\ntype EmojiPageIconResponse = {\n // Type of icon. In this case, an emoji.\n type: \"emoji\"\n // The emoji character used as the icon.\n emoji: EmojiRequest\n}\n\ntype EmojiRequest = string\n\ntype EmptyObject = Record<string, never>\n\nexport type EquationBlockObjectResponse = {\n type: \"equation\"\n equation: ExpressionObjectResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype EquationRichTextItemRequest = {\n // Always `equation`\n type?: \"equation\"\n // Notion supports inline LaTeX equations as rich text objects with a type value of\n // `equation`.\n equation: {\n // A KaTeX compatible string.\n expression: string\n }\n}\n\nexport type EquationRichTextItemResponse = {\n // Always `equation`\n type: \"equation\"\n // Notion supports inline LaTeX equations as rich text objects with a type value of\n // `equation`.\n equation: {\n // A KaTeX compatible string.\n expression: string\n }\n}\n\ntype ExistencePropertyFilter = { is_empty: true } | { is_not_empty: true }\n\ntype ExpressionObjectResponse = { expression: string }\n\ntype ExternalFileRequest = { url: TextRequest }\n\ntype ExternalInternalOrExternalFileWithNameResponse = {\n // Type of attachment. In this case, an external URL.\n type: \"external\"\n // The external URL.\n external: {\n // The URL of the external file or resource.\n url: string\n }\n}\n\ntype ExternalMediaContentWithFileAndCaptionResponse = {\n type: \"external\"\n external: { url: TextRequest }\n caption: Array<RichTextItemResponse>\n}\n\ntype ExternalMediaContentWithFileNameAndCaptionResponse = {\n type: \"external\"\n external: { url: TextRequest }\n caption: Array<RichTextItemResponse>\n name: string\n}\n\ntype ExternalPageCoverRequest = {\n // Always `external`\n type?: \"external\"\n // External URL for the cover.\n external: {\n // The URL of the external file.\n url: string\n }\n}\n\ntype ExternalPageCoverResponse = {\n // Type of cover. In this case, an external URL.\n type: \"external\"\n // The external URL for the cover.\n external: {\n // The URL of the external file or resource.\n url: string\n }\n}\n\ntype ExternalPageIconRequest = {\n // Always `external`\n type?: \"external\"\n external: {\n // The URL of the external file.\n url: string\n }\n}\n\ntype ExternalPageIconResponse = {\n // Type of icon. In this case, an external URL.\n type: \"external\"\n // The external URL for the icon.\n external: {\n // The URL of the external file or resource.\n url: string\n }\n}\n\nexport type FileBlockObjectResponse = {\n type: \"file\"\n file: MediaContentWithFileNameAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype FileInternalOrExternalFileWithNameResponse = {\n // Type of attachment. In this case, a file uploaded to a Notion workspace.\n type: \"file\"\n // The file URL.\n file: InternalFileResponse\n}\n\ntype FileMediaContentWithFileAndCaptionResponse = {\n type: \"file\"\n file: InternalFileResponse\n caption: Array<RichTextItemResponse>\n}\n\ntype FileMediaContentWithFileNameAndCaptionResponse = {\n type: \"file\"\n file: InternalFileResponse\n caption: Array<RichTextItemResponse>\n name: string\n}\n\ntype FilePageCoverResponse = {\n // Type of cover. In this case, a file.\n type: \"file\"\n // The file URL for the cover.\n file: InternalFileResponse\n}\n\ntype FilePageIconResponse = {\n // Type of icon. In this case, a file.\n type: \"file\"\n // The file URL for the icon.\n file: InternalFileResponse\n}\n\ntype FileUploadIdRequest = { id: IdRequest }\n\nexport type FileUploadObjectResponse = {\n // Always `file_upload`\n object: \"file_upload\"\n id: IdResponse\n created_time: string\n created_by: {\n id: IdResponse\n // One of: `person`, `bot`, `agent`\n type: \"person\" | \"bot\" | \"agent\"\n }\n last_edited_time: string\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n expiry_time: string | null\n // One of: `pending`, `uploaded`, `expired`, `failed`\n status: \"pending\" | \"uploaded\" | \"expired\" | \"failed\"\n filename: string | null\n content_type: string | null\n content_length: number | null\n upload_url?: string\n complete_url?: string\n file_import_result?: {\n // The time the file was imported into Notion. ISO 8601 format.\n imported_time: string\n } & (\n | {\n // Indicates a successful import.\n type: \"success\"\n // Empty object for success type.\n success: EmptyObject\n }\n | {\n // Indicates an error occurred during import.\n type: \"error\"\n // Details about the error that occurred during file import.\n error: {\n // The type of error that occurred during file import.\n type:\n | \"validation_error\"\n | \"internal_system_error\"\n | \"download_error\"\n | \"upload_error\"\n // A short string code representing the error.\n code: string\n // A human-readable message describing the error.\n message: string\n // The parameter related to the error, if applicable. Null if not applicable.\n parameter: string | null\n // The HTTP status code associated with the error, if available. Null if not applicable.\n status_code: number | null\n }\n }\n )\n number_of_parts?: { total: number; sent: number }\n}\n\ntype FileUploadPageCoverRequest = {\n // Always `file_upload`\n type?: \"file_upload\"\n // The file upload for the cover.\n file_upload: {\n // ID of a FileUpload object that has the status `uploaded`.\n id: string\n }\n}\n\ntype FileUploadPageIconRequest = {\n // Always `file_upload`\n type?: \"file_upload\"\n file_upload: {\n // ID of a FileUpload object that has the status `uploaded`.\n id: string\n }\n}\n\ntype FileUploadWithOptionalNameRequest = {\n file_upload: FileUploadIdRequest\n type?: \"file_upload\"\n name?: StringRequest\n}\n\ntype FilesDatabasePropertyConfigResponse = {\n // Always `files`\n type: \"files\"\n files: EmptyObject\n}\n\ntype FilesPropertyConfigurationRequest = {\n // Always `files`\n type?: \"files\"\n files: EmptyObject\n}\n\nexport type FilesPropertyItemObjectResponse = {\n type: \"files\"\n files: Array<InternalOrExternalFileWithNameResponse>\n object: \"property_item\"\n id: string\n}\n\ntype FilesSimplePropertyValueResponse = {\n // Always `files`\n type: \"files\"\n files: Array<InternalOrExternalFileWithNameResponse>\n}\n\ntype FormulaDatabasePropertyConfigResponse = {\n // Always `formula`\n type: \"formula\"\n formula: { expression: string }\n}\n\ntype FormulaPropertyConfigurationRequest = {\n // Always `formula`\n type?: \"formula\"\n formula: { expression?: string }\n}\n\ntype FormulaPropertyFilter =\n | { string: TextPropertyFilter }\n | { checkbox: CheckboxPropertyFilter }\n | { number: NumberPropertyFilter }\n | { date: DatePropertyFilter }\n\nexport type FormulaPropertyItemObjectResponse = {\n type: \"formula\"\n formula: FormulaPropertyResponse\n object: \"property_item\"\n id: string\n}\n\ntype FormulaPropertyResponse =\n | StringFormulaPropertyResponse\n | DateFormulaPropertyResponse\n | NumberFormulaPropertyResponse\n | BooleanFormulaPropertyResponse\n\ntype FormulaPropertyValueResponse =\n | BooleanFormulaPropertyValueResponse\n | DateFormulaPropertyValueResponse\n | NumberFormulaPropertyValueResponse\n | StringFormulaPropertyValueResponse\n\ntype FormulaSimplePropertyValueResponse = {\n // Always `formula`\n type: \"formula\"\n formula: FormulaPropertyValueResponse\n}\n\ntype GroupFilterOperatorArray = Array<\n | PropertyOrTimestampFilter\n | { or: PropertyOrTimestampFilterArray }\n | { and: PropertyOrTimestampFilterArray }\n>\n\ntype GroupObjectRequest = {\n id: IdRequest\n name?: string | null\n object?: \"group\"\n}\n\nexport type GroupObjectResponse = {\n // The ID of the group.\n id: IdResponse\n // The group object type name.\n object: \"group\"\n // The name of the group.\n name: string | null\n}\n\ntype HeaderContentWithRichTextAndColorRequest = {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n is_toggleable?: boolean\n}\n\ntype HeaderContentWithRichTextAndColorResponse = {\n rich_text: Array<RichTextItemResponse>\n color: ApiColor\n is_toggleable: boolean\n}\n\ntype HeaderContentWithSingleLevelOfChildrenRequest = {\n rich_text: Array<RichTextItemRequest>\n color?: ApiColor\n is_toggleable?: boolean\n children?: Array<BlockObjectRequestWithoutChildren>\n}\n\nexport type Heading1BlockObjectResponse = {\n type: \"heading_1\"\n heading_1: HeaderContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type Heading2BlockObjectResponse = {\n type: \"heading_2\"\n heading_2: HeaderContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type Heading3BlockObjectResponse = {\n type: \"heading_3\"\n heading_3: HeaderContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype IdObjectResponse = { id: string }\n\ntype IdRequest = string\n\ntype IdResponse = string\n\nexport type ImageBlockObjectResponse = {\n type: \"image\"\n image: MediaContentWithFileAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype InitialDataSourceRequest = {\n // Property schema for the initial data source, if you'd like to create one.\n properties?: Record<string, PropertyConfigurationRequest>\n}\n\ntype InternalFileRequest = { url: string; expiry_time?: string }\n\ntype InternalFileResponse = {\n // The URL of the file.\n url: string\n // The time when the URL will expire.\n expiry_time: string\n}\n\ntype InternalOrExternalFileWithNameRequest =\n | { file: InternalFileRequest; name: StringRequest; type?: \"file\" }\n | { external: ExternalFileRequest; name: StringRequest; type?: \"external\" }\n\ntype InternalOrExternalFileWithNameResponse =\n InternalOrExternalFileWithNameResponseCommon &\n (\n | FileInternalOrExternalFileWithNameResponse\n | ExternalInternalOrExternalFileWithNameResponse\n )\n\ntype InternalOrExternalFileWithNameResponseCommon = {\n // The name of the file.\n name: string\n}\n\ntype LanguageRequest =\n | \"abap\"\n | \"abc\"\n | \"agda\"\n | \"arduino\"\n | \"ascii art\"\n | \"assembly\"\n | \"bash\"\n | \"basic\"\n | \"bnf\"\n | \"c\"\n | \"c#\"\n | \"c++\"\n | \"clojure\"\n | \"coffeescript\"\n | \"coq\"\n | \"css\"\n | \"dart\"\n | \"dhall\"\n | \"diff\"\n | \"docker\"\n | \"ebnf\"\n | \"elixir\"\n | \"elm\"\n | \"erlang\"\n | \"f#\"\n | \"flow\"\n | \"fortran\"\n | \"gherkin\"\n | \"glsl\"\n | \"go\"\n | \"graphql\"\n | \"groovy\"\n | \"haskell\"\n | \"hcl\"\n | \"html\"\n | \"idris\"\n | \"java\"\n | \"javascript\"\n | \"json\"\n | \"julia\"\n | \"kotlin\"\n | \"latex\"\n | \"less\"\n | \"lisp\"\n | \"livescript\"\n | \"llvm ir\"\n | \"lua\"\n | \"makefile\"\n | \"markdown\"\n | \"markup\"\n | \"matlab\"\n | \"mathematica\"\n | \"mermaid\"\n | \"nix\"\n | \"notion formula\"\n | \"objective-c\"\n | \"ocaml\"\n | \"pascal\"\n | \"perl\"\n | \"php\"\n | \"plain text\"\n | \"powershell\"\n | \"prolog\"\n | \"protobuf\"\n | \"purescript\"\n | \"python\"\n | \"r\"\n | \"racket\"\n | \"reason\"\n | \"ruby\"\n | \"rust\"\n | \"sass\"\n | \"scala\"\n | \"scheme\"\n | \"scss\"\n | \"shell\"\n | \"smalltalk\"\n | \"solidity\"\n | \"sql\"\n | \"swift\"\n | \"toml\"\n | \"typescript\"\n | \"vb.net\"\n | \"verilog\"\n | \"vhdl\"\n | \"visual basic\"\n | \"webassembly\"\n | \"xml\"\n | \"yaml\"\n | \"java/c/c++/c#\"\n\ntype LastEditedByDatabasePropertyConfigResponse = {\n // Always `last_edited_by`\n type: \"last_edited_by\"\n last_edited_by: EmptyObject\n}\n\ntype LastEditedByPropertyConfigurationRequest = {\n // Always `last_edited_by`\n type?: \"last_edited_by\"\n last_edited_by: EmptyObject\n}\n\nexport type LastEditedByPropertyItemObjectResponse = {\n type: \"last_edited_by\"\n last_edited_by: PartialUserObjectResponse | UserObjectResponse\n object: \"property_item\"\n id: string\n}\n\ntype LastEditedBySimplePropertyValueResponse = {\n // Always `last_edited_by`\n type: \"last_edited_by\"\n last_edited_by: UserValueResponse\n}\n\ntype LastEditedTimeDatabasePropertyConfigResponse = {\n // Always `last_edited_time`\n type: \"last_edited_time\"\n last_edited_time: EmptyObject\n}\n\ntype LastEditedTimePropertyConfigurationRequest = {\n // Always `last_edited_time`\n type?: \"last_edited_time\"\n last_edited_time: EmptyObject\n}\n\nexport type LastEditedTimePropertyItemObjectResponse = {\n type: \"last_edited_time\"\n last_edited_time: string\n object: \"property_item\"\n id: string\n}\n\ntype LastEditedTimeSimplePropertyValueResponse = {\n // Always `last_edited_time`\n type: \"last_edited_time\"\n last_edited_time: string\n}\n\ntype LastVisitedTimePropertyConfigurationRequest = {\n // Always `last_visited_time`\n type?: \"last_visited_time\"\n last_visited_time: EmptyObject\n}\n\ntype LinkMentionResponse = {\n // The href of the link mention.\n href: string\n // The title of the link.\n title?: string\n // The description of the link.\n description?: string\n // The author of the link.\n link_author?: string\n // The provider of the link.\n link_provider?: string\n // The thumbnail URL of the link.\n thumbnail_url?: string\n // The icon URL of the link.\n icon_url?: string\n // The iframe URL of the link.\n iframe_url?: string\n // The height of the link preview iframe.\n height?: number\n // The padding of the link preview iframe.\n padding?: number\n // The top padding of the link preview iframe.\n padding_top?: number\n}\n\nexport type LinkPreviewBlockObjectResponse = {\n type: \"link_preview\"\n link_preview: MediaContentWithUrlResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype LinkPreviewMentionResponse = {\n // The URL of the link preview mention.\n url: string\n}\n\nexport type LinkToPageBlockObjectResponse = {\n type: \"link_to_page\"\n link_to_page:\n | { type: \"page_id\"; page_id: IdRequest }\n | { type: \"database_id\"; database_id: IdRequest }\n | { type: \"comment_id\"; comment_id: IdRequest }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype LocationPropertyConfigurationRequest = {\n // Always `location`\n type?: \"location\"\n location: EmptyObject\n}\n\ntype MediaContentWithFileAndCaptionRequest =\n | {\n external: ExternalFileRequest\n type?: \"external\"\n caption?: Array<RichTextItemRequest>\n }\n | {\n file_upload: FileUploadIdRequest\n type?: \"file_upload\"\n caption?: Array<RichTextItemRequest>\n }\n\ntype MediaContentWithFileAndCaptionResponse =\n | ExternalMediaContentWithFileAndCaptionResponse\n | FileMediaContentWithFileAndCaptionResponse\n\ntype MediaContentWithFileNameAndCaptionRequest =\n | {\n external: ExternalFileRequest\n type?: \"external\"\n caption?: Array<RichTextItemRequest>\n name?: StringRequest\n }\n | {\n file_upload: FileUploadIdRequest\n type?: \"file_upload\"\n caption?: Array<RichTextItemRequest>\n name?: StringRequest\n }\n\ntype MediaContentWithFileNameAndCaptionResponse =\n | ExternalMediaContentWithFileNameAndCaptionResponse\n | FileMediaContentWithFileNameAndCaptionResponse\n\ntype MediaContentWithUrlAndCaptionRequest = {\n url: string\n caption?: Array<RichTextItemRequest>\n}\n\ntype MediaContentWithUrlAndCaptionResponse = {\n url: string\n caption: Array<RichTextItemResponse>\n}\n\ntype MediaContentWithUrlResponse = { url: TextRequest }\n\n/**\n * @deprecated Use MeetingNotesBlockObjectResponse instead. Renamed in API version 2026-03-11.\n */\nexport type TranscriptionBlockObjectResponse = {\n type: \"transcription\"\n transcription: TranscriptionBlockResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type MeetingNotesBlockObjectResponse = {\n type: \"meeting_notes\"\n meeting_notes: TranscriptionBlockResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype MentionRichTextItemRequest = {\n // Always `mention`\n type?: \"mention\"\n // Mention objects represent an inline mention of a database, date, link preview mention,\n // page, template mention, or user. A mention is created in the Notion UI when a user\n // types `@` followed by the name of the reference.\n mention:\n | {\n // Always `user`\n type?: \"user\"\n // Details of the user mention.\n user: PartialUserObjectRequest\n }\n | {\n // Always `date`\n type?: \"date\"\n // Details of the date mention.\n date: DateRequest\n }\n | {\n // Always `page`\n type?: \"page\"\n // Details of the page mention.\n page: {\n // The ID of the page in the mention.\n id: IdRequest\n }\n }\n | {\n // Always `database`\n type?: \"database\"\n // Details of the database mention.\n database: {\n // The ID of the database in the mention.\n id: IdRequest\n }\n }\n | {\n // Always `template_mention`\n type?: \"template_mention\"\n // Details of the template mention.\n template_mention: TemplateMentionRequest\n }\n | {\n // Always `custom_emoji`\n type?: \"custom_emoji\"\n // Details of the custom emoji mention.\n custom_emoji: {\n // The ID of the custom emoji.\n id: IdRequest\n // The name of the custom emoji.\n name?: string\n // The URL of the custom emoji.\n url?: string\n }\n }\n}\n\nexport type MentionRichTextItemResponse = {\n // Always `mention`\n type: \"mention\"\n // Mention objects represent an inline mention of a database, date, link preview mention,\n // page, template mention, or user. A mention is created in the Notion UI when a user\n // types `@` followed by the name of the reference.\n mention:\n | {\n // Always `user`\n type: \"user\"\n // Details of the user mention.\n user: UserValueResponse\n }\n | {\n // Always `date`\n type: \"date\"\n // Details of the date mention.\n date: DateResponse\n }\n | {\n // Always `link_preview`\n type: \"link_preview\"\n // Details of the link preview mention.\n link_preview: LinkPreviewMentionResponse\n }\n | {\n // Always `link_mention`\n type: \"link_mention\"\n // Details of the link mention.\n link_mention: LinkMentionResponse\n }\n | {\n // Always `page`\n type: \"page\"\n // Details of the page mention.\n page: {\n // The ID of the page in the mention.\n id: IdResponse\n }\n }\n | {\n // Always `database`\n type: \"database\"\n // Details of the database mention.\n database: {\n // The ID of the database in the mention.\n id: IdResponse\n }\n }\n | {\n // Always `template_mention`\n type: \"template_mention\"\n // Details of the template mention.\n template_mention: TemplateMentionResponse\n }\n | {\n // Always `custom_emoji`\n type: \"custom_emoji\"\n // Details of the custom emoji mention.\n custom_emoji: CustomEmojiResponse\n }\n}\n\ntype MultiSelectDatabasePropertyConfigResponse = {\n // Always `multi_select`\n type: \"multi_select\"\n multi_select: { options: Array<SelectPropertyResponse> }\n}\n\ntype MultiSelectPropertyConfigurationRequest = {\n // Always `multi_select`\n type?: \"multi_select\"\n multi_select: {\n options?: Array<{\n name: string\n color?: SelectColor\n description?: string | null\n }>\n }\n}\n\ntype MultiSelectPropertyFilter =\n | { contains: string }\n | { does_not_contain: string }\n | ExistencePropertyFilter\n\nexport type MultiSelectPropertyItemObjectResponse = {\n type: \"multi_select\"\n multi_select: Array<PartialSelectResponse>\n object: \"property_item\"\n id: string\n}\n\ntype MultiSelectSimplePropertyValueResponse = {\n // Always `multi_select`\n type: \"multi_select\"\n multi_select: Array<PartialSelectPropertyValueResponse>\n}\n\ntype NumberDatabasePropertyConfigResponse = {\n // Always `number`\n type: \"number\"\n number: {\n // The number format for the property.\n format: NumberFormat\n }\n}\n\ntype NumberFormat = string\n\ntype NumberFormulaPropertyResponse = { type: \"number\"; number: number | null }\n\ntype NumberFormulaPropertyValueResponse = {\n // Always `number`\n type: \"number\"\n number: number | null\n}\n\ntype NumberPartialRollupValueResponse = {\n // Always `number`\n type: \"number\"\n number: number | null\n}\n\ntype NumberPropertyConfigurationRequest = {\n // Always `number`\n type?: \"number\"\n number: { format?: NumberFormat }\n}\n\ntype NumberPropertyFilter =\n | { equals: number }\n | { does_not_equal: number }\n | { greater_than: number }\n | { less_than: number }\n | { greater_than_or_equal_to: number }\n | { less_than_or_equal_to: number }\n | ExistencePropertyFilter\n\nexport type NumberPropertyItemObjectResponse = {\n type: \"number\"\n number: number | null\n object: \"property_item\"\n id: string\n}\n\ntype NumberSimplePropertyValueResponse = {\n // Always `number`\n type: \"number\"\n number: number | null\n}\n\ntype NumberedListFormat = \"numbers\" | \"letters\" | \"roman\"\n\nexport type NumberedListItemBlockObjectResponse = {\n type: \"numbered_list_item\"\n numbered_list_item: ContentWithRichTextAndColorAndListResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype PageCoverRequest = FileUploadPageCoverRequest | ExternalPageCoverRequest\n\ntype PageCoverResponse = FilePageCoverResponse | ExternalPageCoverResponse\n\ntype PageIconRequest =\n | FileUploadPageIconRequest\n | EmojiPageIconRequest\n | ExternalPageIconRequest\n | CustomEmojiPageIconRequest\n\ntype PageIconResponse =\n | EmojiPageIconResponse\n | FilePageIconResponse\n | ExternalPageIconResponse\n | CustomEmojiPageIconResponse\n\ntype PageIdCommentParentResponse = {\n // Always `page_id`\n type: \"page_id\"\n page_id: IdResponse\n}\n\ntype PageIdParentForBlockBasedObjectResponse = {\n // The parent type.\n type: \"page_id\"\n // The ID of the parent page.\n page_id: IdResponse\n}\n\ntype PageMarkdownResponse = {\n // The type of object, always 'page_markdown'.\n object: \"page_markdown\"\n // The ID of the page or block.\n id: IdResponse\n // The page content rendered as enhanced Markdown.\n markdown: string\n // Whether the content was truncated due to exceeding the record count limit.\n truncated: boolean\n // Block IDs that could not be loaded (appeared as <unknown> tags in the markdown). Pass\n // these IDs back to this endpoint to fetch their content separately.\n unknown_block_ids: Array<IdResponse>\n}\n\nexport type PageObjectResponse = {\n // The page object type name.\n object: \"page\"\n // The ID of the page.\n id: IdResponse\n // Date and time when this page was created.\n created_time: string\n // Date and time when this page was last edited.\n last_edited_time: string\n // Whether the page is in trash.\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n // Whether the page is locked from editing in the Notion app UI.\n is_locked: boolean\n // The URL of the Notion page.\n url: string\n // The public URL of the Notion page, if it has been published to the web.\n public_url: string | null\n // Information about the page's parent.\n parent: ParentForBlockBasedObjectResponse\n // Property values of this page.\n properties: Record<string, PagePropertyValueWithIdResponse>\n // Page icon.\n icon: PageIconResponse | null\n // Page cover image.\n cover: PageCoverResponse | null\n // User who created the page.\n created_by: PartialUserObjectResponse\n // User who last edited the page.\n last_edited_by: PartialUserObjectResponse\n}\n\ntype PagePositionSchema =\n | { type: \"after_block\"; after_block: { id: IdRequest } }\n | { type: \"page_start\" }\n | { type: \"page_end\" }\n\ntype PagePropertyValueWithIdResponse = IdObjectResponse &\n (SimpleOrArrayPropertyValueResponse | PartialRollupPropertyResponse)\n\nexport type ParagraphBlockObjectResponse = {\n type: \"paragraph\"\n paragraph: ContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype ParentForBlockBasedObjectResponse =\n | DatabaseParentResponse\n | DataSourceParentResponse\n | PageIdParentForBlockBasedObjectResponse\n | BlockIdParentForBlockBasedObjectResponse\n | WorkspaceParentForBlockBasedObjectResponse\n\ntype ParentOfDataSourceRequest = {\n // Always `database_id`\n type?: \"database_id\"\n // The ID of the parent database (with or without dashes), for example,\n // 195de9221179449fab8075a27c979105\n database_id: IdRequest\n}\n\n/**\n * The parent of the data source. This is typically a database (`database_id`), but for\n * externally synced data sources, can be another data source (`data_source_id`).\n */\ntype ParentOfDataSourceResponse =\n | DatabaseParentResponse\n | DataSourceParentResponse\n\ntype ParentOfDatabaseResponse =\n | PageIdParentForBlockBasedObjectResponse\n | WorkspaceParentForBlockBasedObjectResponse\n | DatabaseParentResponse\n | BlockIdParentForBlockBasedObjectResponse\n\nexport type PartialBlockObjectResponse = { object: \"block\"; id: string }\n\nexport type PartialCommentObjectResponse = {\n // The comment object type name.\n object: \"comment\"\n // The ID of the comment.\n id: IdResponse\n}\n\nexport type PartialDataSourceObjectResponse = {\n // The data source object type name.\n object: \"data_source\"\n // The ID of the data source.\n id: IdResponse\n // The properties schema of the data source.\n properties: Record<string, DatabasePropertyConfigResponse>\n}\n\nexport type PartialDatabaseObjectResponse = {\n // The database object type name.\n object: \"database\"\n // The ID of the database.\n id: IdResponse\n}\n\nexport type PartialPageObjectResponse = {\n // The page object type name.\n object: \"page\"\n // The ID of the page.\n id: IdResponse\n}\n\ntype PartialRollupPropertyResponse = {\n // Always `rollup`\n type: \"rollup\"\n rollup: PartialRollupValueResponse\n}\n\ntype PartialRollupValueResponse = PartialRollupValueResponseCommon &\n (\n | NumberPartialRollupValueResponse\n | DatePartialRollupValueResponse\n | ArrayPartialRollupValueResponse\n )\n\ntype PartialRollupValueResponseCommon = {\n // The function used for the rollup, e.g. count, count_values, percent_not_empty, max.\n function: RollupFunction\n}\n\ntype PartialSelectPropertyValueResponse = {\n id: string\n name: string\n // One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`,\n // `pink`, `red`\n color:\n | \"default\"\n | \"gray\"\n | \"brown\"\n | \"orange\"\n | \"yellow\"\n | \"green\"\n | \"blue\"\n | \"purple\"\n | \"pink\"\n | \"red\"\n}\n\ntype PartialSelectResponse = { id: string; name: string; color: SelectColor }\n\ntype PartialUserObjectRequest = {\n // The ID of the user.\n id: IdRequest\n // The user object type name.\n object?: \"user\"\n}\n\nexport type PartialUserObjectResponse = {\n id: IdResponse\n // Always `user`\n object: \"user\"\n}\n\nexport type PdfBlockObjectResponse = {\n type: \"pdf\"\n pdf: MediaContentWithFileAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype PeopleArrayBasedPropertyValueResponse = {\n // Always `people`\n type: \"people\"\n people: Array<UserValueResponse | GroupObjectResponse>\n}\n\ntype PeopleDatabasePropertyConfigResponse = {\n // Always `people`\n type: \"people\"\n people: EmptyObject\n}\n\ntype PeoplePropertyConfigurationRequest = {\n // Always `people`\n type?: \"people\"\n people: EmptyObject\n}\n\ntype PeoplePropertyFilter =\n | { contains: IdRequest }\n | { does_not_contain: IdRequest }\n | ExistencePropertyFilter\n\nexport type PeoplePropertyItemObjectResponse = {\n type: \"people\"\n people: PartialUserObjectResponse | UserObjectResponse\n object: \"property_item\"\n id: string\n}\n\nexport type PersonUserObjectResponse = {\n // Indicates this user is a person.\n type: \"person\"\n // Details about the person, when the `type` of the user is `person`.\n person: {\n // The email of the person.\n email?: string\n }\n}\n\ntype PhoneNumberDatabasePropertyConfigResponse = {\n // Always `phone_number`\n type: \"phone_number\"\n phone_number: EmptyObject\n}\n\ntype PhoneNumberPropertyConfigurationRequest = {\n // Always `phone_number`\n type?: \"phone_number\"\n phone_number: EmptyObject\n}\n\nexport type PhoneNumberPropertyItemObjectResponse = {\n type: \"phone_number\"\n phone_number: string | null\n object: \"property_item\"\n id: string\n}\n\ntype PhoneNumberSimplePropertyValueResponse = {\n // Always `phone_number`\n type: \"phone_number\"\n phone_number: string | null\n}\n\ntype PlacePropertyConfigurationRequest = {\n // Always `place`\n type?: \"place\"\n place: EmptyObject\n}\n\nexport type PlacePropertyItemObjectResponse = {\n type: \"place\"\n place: {\n lat: number\n lon: number\n name?: string | null\n address?: string | null\n aws_place_id?: string | null\n google_place_id?: string | null\n } | null\n object: \"property_item\"\n id: string\n}\n\ntype PlacePropertyValueResponse = {\n lat: number\n lon: number\n name?: string | null\n address?: string | null\n aws_place_id?: string | null\n google_place_id?: string | null\n}\n\ntype PlaceSimplePropertyValueResponse = {\n // Always `place`\n type: \"place\"\n place: PlacePropertyValueResponse | null\n}\n\ntype PropertyConfigurationRequest = PropertyConfigurationRequestCommon &\n (\n | NumberPropertyConfigurationRequest\n | FormulaPropertyConfigurationRequest\n | SelectPropertyConfigurationRequest\n | MultiSelectPropertyConfigurationRequest\n | StatusPropertyConfigurationRequest\n | RelationPropertyConfigurationRequest\n | RollupPropertyConfigurationRequest\n | UniqueIdPropertyConfigurationRequest\n | TitlePropertyConfigurationRequest\n | RichTextPropertyConfigurationRequest\n | UrlPropertyConfigurationRequest\n | PeoplePropertyConfigurationRequest\n | FilesPropertyConfigurationRequest\n | EmailPropertyConfigurationRequest\n | PhoneNumberPropertyConfigurationRequest\n | DatePropertyConfigurationRequest\n | CheckboxPropertyConfigurationRequest\n | CreatedByPropertyConfigurationRequest\n | CreatedTimePropertyConfigurationRequest\n | LastEditedByPropertyConfigurationRequest\n | LastEditedTimePropertyConfigurationRequest\n | ButtonPropertyConfigurationRequest\n | LocationPropertyConfigurationRequest\n | VerificationPropertyConfigurationRequest\n | LastVisitedTimePropertyConfigurationRequest\n | PlacePropertyConfigurationRequest\n )\n\ntype PropertyConfigurationRequestCommon = {\n // The description of the property.\n description?: PropertyDescriptionRequest | null\n}\n\ntype PropertyDescriptionRequest = string\n\ntype PropertyFilter =\n | { title: TextPropertyFilter; property: string; type?: \"title\" }\n | { rich_text: TextPropertyFilter; property: string; type?: \"rich_text\" }\n | { number: NumberPropertyFilter; property: string; type?: \"number\" }\n | { checkbox: CheckboxPropertyFilter; property: string; type?: \"checkbox\" }\n | { select: SelectPropertyFilter; property: string; type?: \"select\" }\n | {\n multi_select: MultiSelectPropertyFilter\n property: string\n type?: \"multi_select\"\n }\n | { status: StatusPropertyFilter; property: string; type?: \"status\" }\n | { date: DatePropertyFilter; property: string; type?: \"date\" }\n | { people: PeoplePropertyFilter; property: string; type?: \"people\" }\n | { files: ExistencePropertyFilter; property: string; type?: \"files\" }\n | { url: TextPropertyFilter; property: string; type?: \"url\" }\n | { email: TextPropertyFilter; property: string; type?: \"email\" }\n | {\n phone_number: TextPropertyFilter\n property: string\n type?: \"phone_number\"\n }\n | { relation: RelationPropertyFilter; property: string; type?: \"relation\" }\n | { created_by: PeoplePropertyFilter; property: string; type?: \"created_by\" }\n | {\n created_time: DatePropertyFilter\n property: string\n type?: \"created_time\"\n }\n | {\n last_edited_by: PeoplePropertyFilter\n property: string\n type?: \"last_edited_by\"\n }\n | {\n last_edited_time: DatePropertyFilter\n property: string\n type?: \"last_edited_time\"\n }\n | { formula: FormulaPropertyFilter; property: string; type?: \"formula\" }\n | { unique_id: NumberPropertyFilter; property: string; type?: \"unique_id\" }\n | { rollup: RollupPropertyFilter; property: string; type?: \"rollup\" }\n | {\n verification: VerificationPropertyStatusFilter\n property: string\n type?: \"verification\"\n }\n\nexport type PropertyItemListResponse = PropertyItemPropertyItemListResponse\n\nexport type PropertyItemObjectResponse =\n | NumberPropertyItemObjectResponse\n | UrlPropertyItemObjectResponse\n | SelectPropertyItemObjectResponse\n | MultiSelectPropertyItemObjectResponse\n | StatusPropertyItemObjectResponse\n | DatePropertyItemObjectResponse\n | EmailPropertyItemObjectResponse\n | PhoneNumberPropertyItemObjectResponse\n | CheckboxPropertyItemObjectResponse\n | FilesPropertyItemObjectResponse\n | CreatedByPropertyItemObjectResponse\n | CreatedTimePropertyItemObjectResponse\n | LastEditedByPropertyItemObjectResponse\n | LastEditedTimePropertyItemObjectResponse\n | FormulaPropertyItemObjectResponse\n | ButtonPropertyItemObjectResponse\n | UniqueIdPropertyItemObjectResponse\n | VerificationPropertyItemObjectResponse\n | PlacePropertyItemObjectResponse\n | TitlePropertyItemObjectResponse\n | RichTextPropertyItemObjectResponse\n | PeoplePropertyItemObjectResponse\n | RelationPropertyItemObjectResponse\n | RollupPropertyItemObjectResponse\n\ntype PropertyItemPropertyItemListResponse = {\n type: \"property_item\"\n property_item:\n | { type: \"title\"; title: EmptyObject; next_url: string | null; id: string }\n | {\n type: \"rich_text\"\n rich_text: EmptyObject\n next_url: string | null\n id: string\n }\n | {\n type: \"people\"\n people: EmptyObject\n next_url: string | null\n id: string\n }\n | {\n type: \"relation\"\n relation: EmptyObject\n next_url: string | null\n id: string\n }\n | {\n type: \"rollup\"\n rollup:\n | { type: \"number\"; number: number | null; function: RollupFunction }\n | {\n type: \"date\"\n date: DateResponse | null\n function: RollupFunction\n }\n | {\n type: \"array\"\n array: Array<EmptyObject>\n function: RollupFunction\n }\n | {\n type: \"unsupported\"\n unsupported: EmptyObject\n function: RollupFunction\n }\n | {\n type: \"incomplete\"\n incomplete: EmptyObject\n function: RollupFunction\n }\n next_url: string | null\n id: string\n }\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<PropertyItemObjectResponse>\n}\n\ntype PropertyOrTimestampFilter = PropertyFilter | TimestampFilter\n\ntype PropertyOrTimestampFilterArray = Array<PropertyOrTimestampFilter>\n\nexport type QuoteBlockObjectResponse = {\n type: \"quote\"\n quote: ContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype RelationArrayBasedPropertyValueResponse = {\n // Always `relation`\n type: \"relation\"\n relation: Array<RelationItemPropertyValueResponse>\n}\n\ntype RelationDatabasePropertyConfigResponse = {\n // Always `relation`\n type: \"relation\"\n relation: DatabasePropertyRelationConfigResponse\n}\n\ntype RelationItemPropertyValueResponse = { id: IdRequest }\n\ntype RelationPropertyConfigurationRequest = {\n // Always `relation`\n type?: \"relation\"\n relation: { data_source_id: IdRequest } & (\n | {\n // Always `single_property`\n type?: \"single_property\"\n single_property: EmptyObject\n }\n | {\n // Always `dual_property`\n type?: \"dual_property\"\n dual_property: {\n synced_property_id?: string\n synced_property_name?: string\n }\n }\n )\n}\n\ntype RelationPropertyFilter =\n | { contains: IdRequest }\n | { does_not_contain: IdRequest }\n | ExistencePropertyFilter\n\nexport type RelationPropertyItemObjectResponse = {\n type: \"relation\"\n relation: { id: string }\n object: \"property_item\"\n id: string\n}\n\ntype RichTextArrayBasedPropertyValueResponse = {\n // Always `rich_text`\n type: \"rich_text\"\n rich_text: Array<RichTextItemResponse>\n}\n\ntype RichTextDatabasePropertyConfigResponse = {\n // Always `rich_text`\n type: \"rich_text\"\n rich_text: EmptyObject\n}\n\ntype RichTextItemRequest = RichTextItemRequestCommon &\n (\n | TextRichTextItemRequest\n | MentionRichTextItemRequest\n | EquationRichTextItemRequest\n )\n\ntype RichTextItemRequestCommon = {\n // All rich text objects contain an annotations object that sets the styling for the rich\n // text.\n annotations?: AnnotationRequest\n}\n\nexport type RichTextItemResponse = RichTextItemResponseCommon &\n (\n | TextRichTextItemResponse\n | MentionRichTextItemResponse\n | EquationRichTextItemResponse\n )\n\nexport type RichTextItemResponseCommon = {\n // The plain text content of the rich text object, without any styling.\n plain_text: string\n // A URL that the rich text object links to or mentions.\n href: string | null\n // All rich text objects contain an annotations object that sets the styling for the rich\n // text.\n annotations: AnnotationResponse\n}\n\ntype RichTextPropertyConfigurationRequest = {\n // Always `rich_text`\n type?: \"rich_text\"\n rich_text: EmptyObject\n}\n\nexport type RichTextPropertyItemObjectResponse = {\n type: \"rich_text\"\n rich_text: RichTextItemResponse\n object: \"property_item\"\n id: string\n}\n\ntype RollupDatabasePropertyConfigResponse = {\n // Always `rollup`\n type: \"rollup\"\n rollup: {\n // The function to use for the rollup, e.g. count, count_values, percent_not_empty, max.\n function: RollupFunction\n rollup_property_name: string\n relation_property_name: string\n rollup_property_id: string\n relation_property_id: string\n }\n}\n\ntype RollupFunction =\n | \"count\"\n | \"count_values\"\n | \"empty\"\n | \"not_empty\"\n | \"unique\"\n | \"show_unique\"\n | \"percent_empty\"\n | \"percent_not_empty\"\n | \"sum\"\n | \"average\"\n | \"median\"\n | \"min\"\n | \"max\"\n | \"range\"\n | \"earliest_date\"\n | \"latest_date\"\n | \"date_range\"\n | \"checked\"\n | \"unchecked\"\n | \"percent_checked\"\n | \"percent_unchecked\"\n | \"count_per_group\"\n | \"percent_per_group\"\n | \"show_original\"\n\ntype RollupPropertyConfigurationRequest = {\n // Always `rollup`\n type?: \"rollup\"\n rollup: {\n // The function to use for the rollup, e.g. count, count_values, percent_not_empty, max.\n function: RollupFunction\n } & (\n | { relation_property_name: string; rollup_property_name: string }\n | { relation_property_id: string; rollup_property_name: string }\n | { relation_property_name: string; rollup_property_id: string }\n | { relation_property_id: string; rollup_property_id: string }\n )\n}\n\ntype RollupPropertyFilter =\n | { any: RollupSubfilterPropertyFilter }\n | { none: RollupSubfilterPropertyFilter }\n | { every: RollupSubfilterPropertyFilter }\n | { date: DatePropertyFilter }\n | { number: NumberPropertyFilter }\n\nexport type RollupPropertyItemObjectResponse = {\n type: \"rollup\"\n rollup:\n | { type: \"number\"; number: number | null; function: RollupFunction }\n | { type: \"date\"; date: DateResponse | null; function: RollupFunction }\n | { type: \"array\"; array: Array<EmptyObject>; function: RollupFunction }\n | {\n type: \"unsupported\"\n unsupported: EmptyObject\n function: RollupFunction\n }\n | { type: \"incomplete\"; incomplete: EmptyObject; function: RollupFunction }\n object: \"property_item\"\n id: string\n}\n\ntype RollupSubfilterPropertyFilter =\n | { rich_text: TextPropertyFilter }\n | { number: NumberPropertyFilter }\n | { checkbox: CheckboxPropertyFilter }\n | { select: SelectPropertyFilter }\n | { multi_select: MultiSelectPropertyFilter }\n | { relation: RelationPropertyFilter }\n | { date: DatePropertyFilter }\n | { people: PeoplePropertyFilter }\n | { files: ExistencePropertyFilter }\n | { status: StatusPropertyFilter }\n\n/**\n * One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`,\n * `pink`, `red`\n */\ntype SelectColor =\n | \"default\"\n | \"gray\"\n | \"brown\"\n | \"orange\"\n | \"yellow\"\n | \"green\"\n | \"blue\"\n | \"purple\"\n | \"pink\"\n | \"red\"\n\ntype SelectDatabasePropertyConfigResponse = {\n // Always `select`\n type: \"select\"\n select: { options: Array<SelectPropertyResponse> }\n}\n\ntype SelectPropertyConfigurationRequest = {\n // Always `select`\n type?: \"select\"\n select: {\n options?: Array<{\n name: string\n color?: SelectColor\n description?: string | null\n }>\n }\n}\n\ntype SelectPropertyFilter =\n | { equals: string }\n | { does_not_equal: string }\n | ExistencePropertyFilter\n\nexport type SelectPropertyItemObjectResponse = {\n type: \"select\"\n select: PartialSelectResponse | null\n object: \"property_item\"\n id: string\n}\n\ntype SelectPropertyResponse = {\n id: string\n name: string\n color: SelectColor\n description: string | null\n}\n\ntype SelectSimplePropertyValueResponse = {\n // Always `select`\n type: \"select\"\n select: PartialSelectPropertyValueResponse | null\n}\n\ntype SimpleOrArrayPropertyValueResponse =\n | SimplePropertyValueResponse\n | ArrayBasedPropertyValueResponse\n\ntype SimplePropertyValueResponse =\n | NumberSimplePropertyValueResponse\n | UrlSimplePropertyValueResponse\n | SelectSimplePropertyValueResponse\n | MultiSelectSimplePropertyValueResponse\n | StatusSimplePropertyValueResponse\n | DateSimplePropertyValueResponse\n | EmailSimplePropertyValueResponse\n | PhoneNumberSimplePropertyValueResponse\n | CheckboxSimplePropertyValueResponse\n | FilesSimplePropertyValueResponse\n | CreatedBySimplePropertyValueResponse\n | CreatedTimeSimplePropertyValueResponse\n | LastEditedBySimplePropertyValueResponse\n | LastEditedTimeSimplePropertyValueResponse\n | FormulaSimplePropertyValueResponse\n | ButtonSimplePropertyValueResponse\n | UniqueIdSimplePropertyValueResponse\n | VerificationSimplePropertyValueResponse\n | PlaceSimplePropertyValueResponse\n\ntype SinglePropertyDatabasePropertyRelationConfigResponse = {\n // Always `single_property`\n type: \"single_property\"\n single_property: EmptyObject\n}\n\ntype StatusDatabasePropertyConfigResponse = {\n // Always `status`\n type: \"status\"\n status: {\n // The options for the status property.\n options: Array<StatusPropertyResponse>\n // The groups for the status property.\n groups: Array<{\n // The ID of the status group.\n id: string\n // The name of the status group.\n name: string\n // The color of the status group.\n color: SelectColor\n // The IDs of the status options in this group.\n option_ids: Array<string>\n }>\n }\n}\n\ntype StatusPropertyConfigurationRequest = {\n // Always `status`\n type?: \"status\"\n status: EmptyObject\n}\n\ntype StatusPropertyFilter =\n | { equals: string }\n | { does_not_equal: string }\n | ExistencePropertyFilter\n\nexport type StatusPropertyItemObjectResponse = {\n type: \"status\"\n status: PartialSelectResponse | null\n object: \"property_item\"\n id: string\n}\n\ntype StatusPropertyResponse = {\n // The ID of the status option.\n id: string\n // The name of the status option.\n name: string\n // The color of the status option.\n color: SelectColor\n // The description of the status option.\n description: string | null\n}\n\ntype StatusSimplePropertyValueResponse = {\n // Always `status`\n type: \"status\"\n status: PartialSelectPropertyValueResponse | null\n}\n\ntype StringFormulaPropertyResponse = { type: \"string\"; string: string | null }\n\ntype StringFormulaPropertyValueResponse = {\n // Always `string`\n type: \"string\"\n string: string | null\n}\n\ntype StringRequest = string\n\nexport type SyncedBlockBlockObjectResponse = {\n type: \"synced_block\"\n synced_block: {\n synced_from: { type: \"block_id\"; block_id: IdRequest } | null\n }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type TableBlockObjectResponse = {\n type: \"table\"\n table: ContentWithTableResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type TableOfContentsBlockObjectResponse = {\n type: \"table_of_contents\"\n table_of_contents: { color: ApiColor }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype TableRequestWithTableRowChildren = {\n table_width: number\n children: Array<TableRowRequest>\n has_column_header?: boolean\n has_row_header?: boolean\n}\n\nexport type TableRowBlockObjectResponse = {\n type: \"table_row\"\n table_row: ContentWithTableRowResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype TableRowRequest = {\n table_row: ContentWithTableRowRequest\n type?: \"table_row\"\n object?: \"block\"\n}\n\nexport type TemplateBlockObjectResponse = {\n type: \"template\"\n template: { rich_text: Array<RichTextItemResponse> }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype TemplateMentionDateTemplateMentionRequest = {\n // Always `template_mention_date`\n type?: \"template_mention_date\"\n // The date of the template mention.\n template_mention_date: \"today\" | \"now\"\n}\n\ntype TemplateMentionDateTemplateMentionResponse = {\n // Always `template_mention_date`\n type: \"template_mention_date\"\n // The date of the template mention.\n template_mention_date: \"today\" | \"now\"\n}\n\ntype TemplateMentionRequest =\n | TemplateMentionDateTemplateMentionRequest\n | TemplateMentionUserTemplateMentionRequest\n\ntype TemplateMentionResponse =\n | TemplateMentionDateTemplateMentionResponse\n | TemplateMentionUserTemplateMentionResponse\n\ntype TemplateMentionUserTemplateMentionRequest = {\n // Always `template_mention_user`\n type?: \"template_mention_user\"\n // The user of the template mention.\n template_mention_user: \"me\"\n}\n\ntype TemplateMentionUserTemplateMentionResponse = {\n // Always `template_mention_user`\n type: \"template_mention_user\"\n // The user of the template mention.\n template_mention_user: \"me\"\n}\n\n/**\n * IANA timezone to use when resolving template variables like @now and @today (e.g.\n * 'America/New_York'). Defaults to the authorizing user's timezone for public\n * integrations, or UTC for internal integrations.\n */\ntype TemplateTimezone = string\n\ntype TextPropertyFilter =\n | { equals: string }\n | { does_not_equal: string }\n | { contains: string }\n | { does_not_contain: string }\n | { starts_with: string }\n | { ends_with: string }\n | ExistencePropertyFilter\n\ntype TextRequest = string\n\ntype TextRichTextItemRequest = {\n // Always `text`\n type?: \"text\"\n // If a rich text object's type value is `text`, then the corresponding text field\n // contains an object including the text content and any inline link.\n text: {\n // The actual text content of the text.\n content: string\n // An object with information about any inline link in this text, if included.\n link?: {\n // The URL of the link.\n url: string\n } | null\n }\n}\n\nexport type TextRichTextItemResponse = {\n // Always `text`\n type: \"text\"\n // If a rich text object's type value is `text`, then the corresponding text field\n // contains an object including the text content and any inline link.\n text: {\n // The actual text content of the text.\n content: string\n // An object with information about any inline link in this text, if included.\n link: {\n // The URL of the link.\n url: string\n } | null\n }\n}\n\ntype TimeZoneRequest = string\n\ntype TimestampCreatedTimeFilter = {\n created_time: DatePropertyFilter\n timestamp: \"created_time\"\n type?: \"created_time\"\n}\n\ntype TimestampFilter =\n | TimestampCreatedTimeFilter\n | TimestampLastEditedTimeFilter\n\ntype TimestampLastEditedTimeFilter = {\n last_edited_time: DatePropertyFilter\n timestamp: \"last_edited_time\"\n type?: \"last_edited_time\"\n}\n\ntype TitleArrayBasedPropertyValueResponse = {\n // Always `title`\n type: \"title\"\n title: Array<RichTextItemResponse>\n}\n\ntype TitleDatabasePropertyConfigResponse = {\n // Always `title`\n type: \"title\"\n title: EmptyObject\n}\n\ntype TitleObjectResponse = { title: string }\n\ntype TitlePropertyConfigurationRequest = {\n // Always `title`\n type?: \"title\"\n title: EmptyObject\n}\n\nexport type TitlePropertyItemObjectResponse = {\n type: \"title\"\n title: RichTextItemResponse\n object: \"property_item\"\n id: string\n}\n\nexport type ToDoBlockObjectResponse = {\n type: \"to_do\"\n to_do: {\n rich_text: Array<RichTextItemResponse>\n color: ApiColor\n checked: boolean\n }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\nexport type ToggleBlockObjectResponse = {\n type: \"toggle\"\n toggle: ContentWithRichTextAndColorResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype TranscriptionBlockResponse = {\n title?: Array<RichTextItemResponse>\n status?: ApiTranscriptionStatus\n children?: TranscriptionChildrenResponse\n calendar_event?: TranscriptionCalendarEventResponse\n recording?: TranscriptionRecordingResponse\n}\n\ntype TranscriptionCalendarEventResponse = {\n start_time: string\n end_time: string\n attendees?: Array<IdRequest>\n}\n\ntype TranscriptionChildrenResponse = {\n summary_block_id?: IdRequest\n notes_block_id?: IdRequest\n transcript_block_id?: IdRequest\n}\n\ntype TranscriptionRecordingResponse = { start_time?: string; end_time?: string }\n\ntype UniqueIdDatabasePropertyConfigResponse = {\n // Always `unique_id`\n type: \"unique_id\"\n unique_id: {\n // The prefix for the unique ID.\n prefix: string | null\n }\n}\n\ntype UniqueIdPropertyConfigurationRequest = {\n // Always `unique_id`\n type?: \"unique_id\"\n unique_id: { prefix?: string | null }\n}\n\nexport type UniqueIdPropertyItemObjectResponse = {\n type: \"unique_id\"\n unique_id: { prefix: string | null; number: number | null }\n object: \"property_item\"\n id: string\n}\n\ntype UniqueIdPropertyValueResponse = {\n prefix: string | null\n number: number | null\n}\n\ntype UniqueIdSimplePropertyValueResponse = {\n // Always `unique_id`\n type: \"unique_id\"\n unique_id: UniqueIdPropertyValueResponse\n}\n\nexport type UnsupportedBlockObjectResponse = {\n type: \"unsupported\"\n unsupported: {\n // The underlying block type that is not currently supported by the Public API. Example\n // values include: tab, form, button, drive.\n block_type: string\n }\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype UpdateMediaContentWithFileAndCaptionRequest = {\n caption?: Array<RichTextItemRequest>\n external?: ExternalFileRequest\n file_upload?: FileUploadIdRequest\n}\n\ntype UpdateMediaContentWithFileNameAndCaptionRequest = {\n caption?: Array<RichTextItemRequest>\n external?: ExternalFileRequest\n file_upload?: FileUploadIdRequest\n name?: StringRequest\n}\n\ntype UpdateMediaContentWithUrlAndCaptionRequest = {\n url?: string\n caption?: Array<RichTextItemRequest>\n}\n\ntype UrlDatabasePropertyConfigResponse = {\n // Always `url`\n type: \"url\"\n url: EmptyObject\n}\n\ntype UrlPropertyConfigurationRequest = {\n // Always `url`\n type?: \"url\"\n url: EmptyObject\n}\n\nexport type UrlPropertyItemObjectResponse = {\n type: \"url\"\n url: string | null\n object: \"property_item\"\n id: string\n}\n\ntype UrlSimplePropertyValueResponse = {\n // Always `url`\n type: \"url\"\n url: string | null\n}\n\nexport type UserObjectResponse = UserObjectResponseCommon &\n (PersonUserObjectResponse | BotUserObjectResponse)\n\nexport type UserObjectResponseCommon = {\n // The ID of the user.\n id: IdResponse\n // The user object type name.\n object: \"user\"\n // The name of the user.\n name: string | null\n // The avatar URL of the user.\n avatar_url: string | null\n}\n\ntype UserValueResponse = PartialUserObjectResponse | UserObjectResponse\n\ntype VerificationPropertyConfigurationRequest = {\n // Always `verification`\n type?: \"verification\"\n verification: EmptyObject\n}\n\nexport type VerificationPropertyItemObjectResponse = {\n type: \"verification\"\n verification: VerificationPropertyValueResponse | null\n object: \"property_item\"\n id: string\n}\n\ntype VerificationPropertyResponse = {\n // One of: `verified`, `expired`\n state: \"verified\" | \"expired\"\n date: DateResponse | null\n verified_by: PartialUserObjectResponse | null\n}\n\ntype VerificationPropertyStatusFilter = {\n status: \"verified\" | \"expired\" | \"none\"\n}\n\ntype VerificationPropertyUnverifiedResponse = {\n // Always `unverified`\n state: \"unverified\"\n date: null\n verified_by: null\n}\n\ntype VerificationPropertyValueResponse =\n | VerificationPropertyUnverifiedResponse\n | VerificationPropertyResponse\n\ntype VerificationSimplePropertyValueResponse = {\n // Always `verification`\n type: \"verification\"\n verification: VerificationPropertyValueResponse | null\n}\n\nexport type VideoBlockObjectResponse = {\n type: \"video\"\n video: MediaContentWithFileAndCaptionResponse\n parent: ParentForBlockBasedObjectResponse\n object: \"block\"\n id: string\n created_time: string\n created_by: PartialUserObjectResponse\n last_edited_time: string\n last_edited_by: PartialUserObjectResponse\n has_children: boolean\n in_trash: boolean\n /** @deprecated Use `in_trash` instead. Present for backwards compatibility with API versions prior to 2026-03-11. */\n archived: boolean\n}\n\ntype WorkspaceParentForBlockBasedObjectResponse = {\n // The parent type.\n type: \"workspace\"\n // Always true for workspace parent.\n workspace: true\n}\nexport type GetSelfParameters = Record<string, never>\n\nexport type GetSelfResponse = UserObjectResponse\n\n/**\n * Retrieve your token's bot user\n */\nexport const getSelf = {\n method: \"get\",\n pathParams: [],\n queryParams: [],\n bodyParams: [],\n\n path: (): string => `users/me`,\n} as const\n\ntype GetUserPathParameters = {\n user_id: IdRequest\n}\n\nexport type GetUserParameters = GetUserPathParameters\n\nexport type GetUserResponse = UserObjectResponse\n\n/**\n * Retrieve a user\n */\nexport const getUser = {\n method: \"get\",\n pathParams: [\"user_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetUserPathParameters): string => `users/${p.user_id}`,\n} as const\n\ntype ListUsersQueryParameters = {\n start_cursor?: string\n page_size?: number\n}\n\nexport type ListUsersParameters = ListUsersQueryParameters\n\nexport type ListUsersResponse = {\n type: \"user\"\n user: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<UserObjectResponse>\n}\n\n/**\n * List all users\n */\nexport const listUsers = {\n method: \"get\",\n pathParams: [],\n queryParams: [\"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (): string => `users`,\n} as const\n\ntype CreatePageBodyParameters = {\n parent?:\n | { page_id: IdRequest; type?: \"page_id\" }\n | { database_id: IdRequest; type?: \"database_id\" }\n | { data_source_id: IdRequest; type?: \"data_source_id\" }\n | { workspace: true; type?: \"workspace\" }\n properties?: Record<\n string,\n | { title: Array<RichTextItemRequest>; type?: \"title\" }\n | { rich_text: Array<RichTextItemRequest>; type?: \"rich_text\" }\n | { number: number | null; type?: \"number\" }\n | { url: TextRequest | null; type?: \"url\" }\n | {\n select:\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | null\n type?: \"select\"\n }\n | {\n multi_select: Array<\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n >\n type?: \"multi_select\"\n }\n | {\n people: Array<PartialUserObjectRequest | GroupObjectRequest>\n type?: \"people\"\n }\n | { email: StringRequest | null; type?: \"email\" }\n | { phone_number: StringRequest | null; type?: \"phone_number\" }\n | { date: DateRequest | null; type?: \"date\" }\n | { checkbox: boolean; type?: \"checkbox\" }\n | { relation: Array<RelationItemPropertyValueResponse>; type?: \"relation\" }\n | {\n files: Array<\n | InternalOrExternalFileWithNameRequest\n | FileUploadWithOptionalNameRequest\n >\n type?: \"files\"\n }\n | {\n status:\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | null\n type?: \"status\"\n }\n | {\n place: {\n lat: number\n lon: number\n name?: string | null\n address?: string | null\n aws_place_id?: string | null\n google_place_id?: string | null\n } | null\n type?: \"place\"\n }\n >\n icon?: PageIconRequest | null\n cover?: PageCoverRequest | null\n content?: Array<BlockObjectRequest>\n children?: Array<BlockObjectRequest>\n // Page content as Notion-flavored Markdown. Mutually exclusive with content/children.\n markdown?: string\n template?:\n | { type: \"none\" }\n | { type: \"default\"; timezone?: TemplateTimezone }\n | {\n type: \"template_id\"\n template_id: IdRequest\n timezone?: TemplateTimezone\n }\n position?: PagePositionSchema\n}\n\nexport type CreatePageParameters = CreatePageBodyParameters\n\nexport type CreatePageResponse = PageObjectResponse | PartialPageObjectResponse\n\n/**\n * Create a page\n */\nexport const createPage = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\n \"parent\",\n \"properties\",\n \"icon\",\n \"cover\",\n \"content\",\n \"children\",\n \"markdown\",\n \"template\",\n \"position\",\n ],\n\n path: (): string => `pages`,\n} as const\n\ntype GetPagePathParameters = {\n // The ID of the page to retrieve.\n page_id: IdRequest\n}\n\ntype GetPageQueryParameters = {\n // Supply a list of property IDs to filter properties in the response. Note that if a\n // page doesn't have a property, it won't be included in the filtered response.\n filter_properties?: Array<string>\n}\n\nexport type GetPageParameters = GetPagePathParameters & GetPageQueryParameters\n\nexport type GetPageResponse = PartialPageObjectResponse | PageObjectResponse\n\n/**\n * Retrieve a page\n */\nexport const getPage = {\n method: \"get\",\n pathParams: [\"page_id\"],\n queryParams: [\"filter_properties\"],\n bodyParams: [],\n\n path: (p: GetPagePathParameters): string => `pages/${p.page_id}`,\n} as const\n\ntype UpdatePagePathParameters = {\n page_id: IdRequest\n}\n\ntype UpdatePageBodyParameters = {\n properties?: Record<\n string,\n | { title: Array<RichTextItemRequest>; type?: \"title\" }\n | { rich_text: Array<RichTextItemRequest>; type?: \"rich_text\" }\n | { number: number | null; type?: \"number\" }\n | { url: TextRequest | null; type?: \"url\" }\n | {\n select:\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | null\n type?: \"select\"\n }\n | {\n multi_select: Array<\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n >\n type?: \"multi_select\"\n }\n | {\n people: Array<PartialUserObjectRequest | GroupObjectRequest>\n type?: \"people\"\n }\n | { email: StringRequest | null; type?: \"email\" }\n | { phone_number: StringRequest | null; type?: \"phone_number\" }\n | { date: DateRequest | null; type?: \"date\" }\n | { checkbox: boolean; type?: \"checkbox\" }\n | { relation: Array<RelationItemPropertyValueResponse>; type?: \"relation\" }\n | {\n files: Array<\n | InternalOrExternalFileWithNameRequest\n | FileUploadWithOptionalNameRequest\n >\n type?: \"files\"\n }\n | {\n status:\n | {\n id: StringRequest\n name?: TextRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | {\n name: TextRequest\n id?: StringRequest\n color?: SelectColor\n description?: TextRequest | null\n }\n | null\n type?: \"status\"\n }\n | {\n place: {\n lat: number\n lon: number\n name?: string | null\n address?: string | null\n aws_place_id?: string | null\n google_place_id?: string | null\n } | null\n type?: \"place\"\n }\n >\n icon?: PageIconRequest | null\n cover?: PageCoverRequest | null\n // Whether the page should be locked from editing in the Notion app UI. If not provided,\n // the locked state will not be updated.\n is_locked?: boolean\n template?:\n | { type: \"default\"; timezone?: TemplateTimezone }\n | {\n type: \"template_id\"\n template_id: IdRequest\n timezone?: TemplateTimezone\n }\n // Whether to erase all existing content from the page. When used with a template, the\n // template content replaces the existing content. When used without a template, simply\n // clears the page content.\n erase_content?: boolean\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n}\n\nexport type UpdatePageParameters = UpdatePagePathParameters &\n UpdatePageBodyParameters\n\nexport type UpdatePageResponse = PageObjectResponse | PartialPageObjectResponse\n\n/**\n * Update page\n */\nexport const updatePage = {\n method: \"patch\",\n pathParams: [\"page_id\"],\n queryParams: [],\n bodyParams: [\n \"archived\",\n \"properties\",\n \"icon\",\n \"cover\",\n \"is_locked\",\n \"template\",\n \"erase_content\",\n \"in_trash\",\n ],\n\n path: (p: UpdatePagePathParameters): string => `pages/${p.page_id}`,\n} as const\n\ntype MovePagePathParameters = {\n // The ID of the page to move.\n page_id: IdRequest\n}\n\ntype MovePageBodyParameters = {\n // The new parent of the page.\n parent:\n | {\n // The ID of the parent page (with or without dashes), for example,\n // 195de9221179449fab8075a27c979105\n page_id: IdRequest\n // Always `page_id`\n type?: \"page_id\"\n }\n | {\n // The ID of the parent data source (collection), with or without dashes. For example,\n // f336d0bc-b841-465b-8045-024475c079dd\n data_source_id: IdRequest\n // Always `data_source_id`\n type?: \"data_source_id\"\n }\n}\n\nexport type MovePageParameters = MovePagePathParameters & MovePageBodyParameters\n\nexport type MovePageResponse = PartialPageObjectResponse | PageObjectResponse\n\n/**\n * Move a page\n */\nexport const movePage = {\n method: \"post\",\n pathParams: [\"page_id\"],\n queryParams: [],\n bodyParams: [\"parent\"],\n\n path: (p: MovePagePathParameters): string => `pages/${p.page_id}/move`,\n} as const\n\ntype GetPagePropertyPathParameters = {\n page_id: IdRequest\n property_id: string\n}\n\ntype GetPagePropertyQueryParameters = {\n start_cursor?: string\n page_size?: number\n}\n\nexport type GetPagePropertyParameters = GetPagePropertyPathParameters &\n GetPagePropertyQueryParameters\n\nexport type GetPagePropertyResponse =\n | PropertyItemObjectResponse\n | PropertyItemListResponse\n\n/**\n * Retrieve a page property item\n */\nexport const getPageProperty = {\n method: \"get\",\n pathParams: [\"page_id\", \"property_id\"],\n queryParams: [\"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (p: GetPagePropertyPathParameters): string =>\n `pages/${p.page_id}/properties/${p.property_id}`,\n} as const\n\ntype GetPageMarkdownPathParameters = {\n // The ID of the page (or block) to retrieve as markdown. Non-navigable block IDs from\n // truncated responses can be passed here to fetch their subtrees.\n page_id: IdRequest\n}\n\ntype GetPageMarkdownQueryParameters = {\n // Whether to include meeting note transcripts. Defaults to false. When true, full\n // transcripts are included; when false, a placeholder with the meeting note URL is shown\n // instead.\n include_transcript?: boolean\n}\n\nexport type GetPageMarkdownParameters = GetPageMarkdownPathParameters &\n GetPageMarkdownQueryParameters\n\nexport type GetPageMarkdownResponse = PageMarkdownResponse\n\n/**\n * Retrieve a page as markdown\n */\nexport const getPageMarkdown = {\n method: \"get\",\n pathParams: [\"page_id\"],\n queryParams: [\"include_transcript\"],\n bodyParams: [],\n\n path: (p: GetPageMarkdownPathParameters): string =>\n `pages/${p.page_id}/markdown`,\n} as const\n\ntype UpdatePageMarkdownPathParameters = {\n // The ID of the page to update.\n page_id: IdRequest\n}\n\ntype UpdatePageMarkdownBodyParameters =\n | {\n // Always `insert_content`\n type: \"insert_content\"\n // Insert new content into the page.\n insert_content: {\n // The enhanced markdown content to insert into the page.\n content: string\n // Selection of existing content to insert after, using the ellipsis format (\"start\n // text...end text\"). Omit to append at the end of the page.\n after?: string\n }\n }\n | {\n // Always `replace_content_range`\n type: \"replace_content_range\"\n // Replace a range of content in the page.\n replace_content_range: {\n // The new enhanced markdown content to replace the matched range.\n content: string\n // Selection of existing content to replace, using the ellipsis format (\"start text...end\n // text\").\n content_range: string\n // Set to true to allow the operation to delete child pages or databases. Defaults to\n // false.\n allow_deleting_content?: boolean\n }\n }\n | {\n // Always `update_content`\n type: \"update_content\"\n // Update specific content using search-and-replace operations.\n update_content: {\n // An array of search-and-replace operations, each with old_str (content to find) and\n // new_str (replacement content).\n content_updates: Array<{\n // The existing content string to find and replace. Must exactly match the page content.\n old_str: string\n // The new content string to replace old_str with.\n new_str: string\n // If true, replaces all occurrences of old_str. If false (default), the operation fails\n // if there are multiple matches.\n replace_all_matches?: boolean\n }>\n // Set to true to allow the operation to delete child pages or databases. Defaults to\n // false.\n allow_deleting_content?: boolean\n }\n }\n | {\n // Always `replace_content`\n type: \"replace_content\"\n // Replace the entire page content with new markdown.\n replace_content: {\n // The new enhanced markdown content to replace the entire page content.\n new_str: string\n // Set to true to allow the operation to delete child pages or databases. Defaults to\n // false.\n allow_deleting_content?: boolean\n }\n }\n\nexport type UpdatePageMarkdownParameters = UpdatePageMarkdownPathParameters &\n UpdatePageMarkdownBodyParameters\n\nexport type UpdatePageMarkdownResponse = PageMarkdownResponse\n\n/**\n * Update a page's content as markdown\n */\nexport const updatePageMarkdown = {\n method: \"patch\",\n pathParams: [\"page_id\"],\n queryParams: [],\n bodyParams: [\n \"type\",\n \"insert_content\",\n \"replace_content_range\",\n \"update_content\",\n \"replace_content\",\n ],\n\n path: (p: UpdatePageMarkdownPathParameters): string =>\n `pages/${p.page_id}/markdown`,\n} as const\n\ntype GetBlockPathParameters = {\n block_id: IdRequest\n}\n\nexport type GetBlockParameters = GetBlockPathParameters\n\nexport type GetBlockResponse = PartialBlockObjectResponse | BlockObjectResponse\n\n/**\n * Retrieve a block\n */\nexport const getBlock = {\n method: \"get\",\n pathParams: [\"block_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetBlockPathParameters): string => `blocks/${p.block_id}`,\n} as const\n\ntype UpdateBlockPathParameters = {\n block_id: IdRequest\n}\n\ntype UpdateBlockBodyParameters =\n | {\n embed: UpdateMediaContentWithUrlAndCaptionRequest\n type?: \"embed\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n bookmark: UpdateMediaContentWithUrlAndCaptionRequest\n type?: \"bookmark\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n image: UpdateMediaContentWithFileAndCaptionRequest\n type?: \"image\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n video: UpdateMediaContentWithFileAndCaptionRequest\n type?: \"video\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n pdf: UpdateMediaContentWithFileAndCaptionRequest\n type?: \"pdf\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n file: UpdateMediaContentWithFileNameAndCaptionRequest\n type?: \"file\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n audio: UpdateMediaContentWithFileAndCaptionRequest\n type?: \"audio\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n code: {\n rich_text?: Array<RichTextItemRequest>\n language?: LanguageRequest\n caption?: Array<RichTextItemRequest>\n }\n type?: \"code\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n equation: ContentWithExpressionRequest\n type?: \"equation\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n divider: EmptyObject\n type?: \"divider\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n breadcrumb: EmptyObject\n type?: \"breadcrumb\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n table_of_contents: { color?: ApiColor }\n type?: \"table_of_contents\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n link_to_page:\n | { page_id: IdRequest; type?: \"page_id\" }\n | { database_id: IdRequest; type?: \"database_id\" }\n | { comment_id: IdRequest; type?: \"comment_id\" }\n type?: \"link_to_page\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n table_row: ContentWithTableRowRequest\n type?: \"table_row\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n heading_1: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_1\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n heading_2: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_2\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n heading_3: HeaderContentWithRichTextAndColorRequest\n type?: \"heading_3\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n paragraph: ContentWithRichTextAndColorRequest\n type?: \"paragraph\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n bulleted_list_item: ContentWithRichTextAndColorRequest\n type?: \"bulleted_list_item\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n numbered_list_item: ContentWithRichTextAndColorRequest\n type?: \"numbered_list_item\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n quote: ContentWithRichTextAndColorRequest\n type?: \"quote\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n to_do: {\n rich_text?: Array<RichTextItemRequest>\n checked?: boolean\n color?: ApiColor\n }\n type?: \"to_do\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n toggle: ContentWithRichTextAndColorRequest\n type?: \"toggle\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n template: ContentWithRichTextRequest\n type?: \"template\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n callout: {\n rich_text?: Array<RichTextItemRequest>\n icon?: PageIconRequest\n color?: ApiColor\n }\n type?: \"callout\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n synced_block: {\n synced_from: { block_id: IdRequest; type?: \"block_id\" } | null\n }\n type?: \"synced_block\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n table: { has_column_header?: boolean; has_row_header?: boolean }\n type?: \"table\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n column: {\n // Ratio between 0 and 1 of the width of this column relative to all columns in the list.\n // If not provided, uses an equal width.\n width_ratio?: number\n }\n type?: \"column\"\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n | {\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n }\n\nexport type UpdateBlockParameters = UpdateBlockPathParameters &\n UpdateBlockBodyParameters\n\nexport type UpdateBlockResponse =\n | PartialBlockObjectResponse\n | BlockObjectResponse\n\n/**\n * Update a block\n */\nexport const updateBlock = {\n method: \"patch\",\n pathParams: [\"block_id\"],\n queryParams: [],\n bodyParams: [\n \"archived\",\n \"embed\",\n \"type\",\n \"in_trash\",\n \"bookmark\",\n \"image\",\n \"video\",\n \"pdf\",\n \"file\",\n \"audio\",\n \"code\",\n \"equation\",\n \"divider\",\n \"breadcrumb\",\n \"table_of_contents\",\n \"link_to_page\",\n \"table_row\",\n \"heading_1\",\n \"heading_2\",\n \"heading_3\",\n \"paragraph\",\n \"bulleted_list_item\",\n \"numbered_list_item\",\n \"quote\",\n \"to_do\",\n \"toggle\",\n \"template\",\n \"callout\",\n \"synced_block\",\n \"table\",\n \"column\",\n ],\n\n path: (p: UpdateBlockPathParameters): string => `blocks/${p.block_id}`,\n} as const\n\ntype DeleteBlockPathParameters = {\n block_id: IdRequest\n}\n\nexport type DeleteBlockParameters = DeleteBlockPathParameters\n\nexport type DeleteBlockResponse =\n | PartialBlockObjectResponse\n | BlockObjectResponse\n\n/**\n * Delete a block\n */\nexport const deleteBlock = {\n method: \"delete\",\n pathParams: [\"block_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: DeleteBlockPathParameters): string => `blocks/${p.block_id}`,\n} as const\n\ntype ListBlockChildrenPathParameters = {\n block_id: IdRequest\n}\n\ntype ListBlockChildrenQueryParameters = {\n start_cursor?: string\n page_size?: number\n}\n\nexport type ListBlockChildrenParameters = ListBlockChildrenPathParameters &\n ListBlockChildrenQueryParameters\n\nexport type ListBlockChildrenResponse = {\n type: \"block\"\n block: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<PartialBlockObjectResponse | BlockObjectResponse>\n}\n\n/**\n * Retrieve block children\n */\nexport const listBlockChildren = {\n method: \"get\",\n pathParams: [\"block_id\"],\n queryParams: [\"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (p: ListBlockChildrenPathParameters): string =>\n `blocks/${p.block_id}/children`,\n} as const\n\ntype AppendBlockChildrenPathParameters = {\n block_id: IdRequest\n}\n\ntype AppendBlockChildrenBodyParameters = {\n children: Array<BlockObjectRequest>\n /** @deprecated Use `position` instead. */\n after?: IdRequest\n position?: ContentPositionSchema\n}\n\nexport type AppendBlockChildrenParameters = AppendBlockChildrenPathParameters &\n AppendBlockChildrenBodyParameters\n\nexport type AppendBlockChildrenResponse = {\n type: \"block\"\n block: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<PartialBlockObjectResponse | BlockObjectResponse>\n}\n\n/**\n * Append block children\n */\nexport const appendBlockChildren = {\n method: \"patch\",\n pathParams: [\"block_id\"],\n queryParams: [],\n bodyParams: [\"after\", \"children\", \"position\"],\n\n path: (p: AppendBlockChildrenPathParameters): string =>\n `blocks/${p.block_id}/children`,\n} as const\n\ntype GetDataSourcePathParameters = {\n // ID of a Notion data source.\n data_source_id: IdRequest\n}\n\nexport type GetDataSourceParameters = GetDataSourcePathParameters\n\nexport type GetDataSourceResponse =\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n\n/**\n * Retrieve a data source\n */\nexport const getDataSource = {\n method: \"get\",\n pathParams: [\"data_source_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetDataSourcePathParameters): string =>\n `data_sources/${p.data_source_id}`,\n} as const\n\ntype UpdateDataSourcePathParameters = {\n // ID of a Notion data source.\n data_source_id: IdRequest\n}\n\ntype UpdateDataSourceBodyParameters = {\n // Title of data source as it appears in Notion.\n title?: Array<RichTextItemRequest>\n // Page icon.\n icon?: PageIconRequest | null\n // The property schema of the data source. The keys are property names or IDs, and the\n // values are property configuration objects. Properties set to null will be removed.\n properties?: Record<\n string,\n | ({\n // The name of the property.\n name?: string\n // The description of the property.\n description?: PropertyDescriptionRequest | null\n } & (\n | {\n // Always `number`\n type?: \"number\"\n number: { format?: NumberFormat }\n }\n | {\n // Always `formula`\n type?: \"formula\"\n formula: { expression?: string }\n }\n | {\n // Always `select`\n type?: \"select\"\n select: {\n options?: Array<\n { color?: SelectColor; description?: string | null } & (\n | { name: string; id?: string }\n | { id: string; name?: string }\n )\n >\n }\n }\n | {\n // Always `multi_select`\n type?: \"multi_select\"\n multi_select: {\n options?: Array<\n { color?: SelectColor; description?: string | null } & (\n | { name: string; id?: string }\n | { id: string; name?: string }\n )\n >\n }\n }\n | {\n // Always `status`\n type?: \"status\"\n status: EmptyObject\n }\n | {\n // Always `relation`\n type?: \"relation\"\n relation: { data_source_id: IdRequest } & (\n | {\n // Always `single_property`\n type?: \"single_property\"\n single_property: EmptyObject\n }\n | {\n // Always `dual_property`\n type?: \"dual_property\"\n dual_property: {\n synced_property_id?: string\n synced_property_name?: string\n }\n }\n )\n }\n | {\n // Always `rollup`\n type?: \"rollup\"\n rollup: {\n // The function to use for the rollup, e.g. count, count_values, percent_not_empty, max.\n function: RollupFunction\n } & (\n | { relation_property_name: string; rollup_property_name: string }\n | { relation_property_id: string; rollup_property_name: string }\n | { relation_property_name: string; rollup_property_id: string }\n | { relation_property_id: string; rollup_property_id: string }\n )\n }\n | {\n // Always `unique_id`\n type?: \"unique_id\"\n unique_id: { prefix?: string | null }\n }\n | {\n // Always `title`\n type?: \"title\"\n title: EmptyObject\n }\n | {\n // Always `rich_text`\n type?: \"rich_text\"\n rich_text: EmptyObject\n }\n | {\n // Always `url`\n type?: \"url\"\n url: EmptyObject\n }\n | {\n // Always `people`\n type?: \"people\"\n people: EmptyObject\n }\n | {\n // Always `files`\n type?: \"files\"\n files: EmptyObject\n }\n | {\n // Always `email`\n type?: \"email\"\n email: EmptyObject\n }\n | {\n // Always `phone_number`\n type?: \"phone_number\"\n phone_number: EmptyObject\n }\n | {\n // Always `date`\n type?: \"date\"\n date: EmptyObject\n }\n | {\n // Always `checkbox`\n type?: \"checkbox\"\n checkbox: EmptyObject\n }\n | {\n // Always `created_by`\n type?: \"created_by\"\n created_by: EmptyObject\n }\n | {\n // Always `created_time`\n type?: \"created_time\"\n created_time: EmptyObject\n }\n | {\n // Always `last_edited_by`\n type?: \"last_edited_by\"\n last_edited_by: EmptyObject\n }\n | {\n // Always `last_edited_time`\n type?: \"last_edited_time\"\n last_edited_time: EmptyObject\n }\n | {\n // Always `place`\n type?: \"place\"\n place: EmptyObject\n }\n ))\n | {\n // The new name of the property.\n name: string\n }\n | null\n >\n // Whether the database should be moved to or from the trash. If not provided, the trash\n // status will not be updated.\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n // The parent of the data source, when moving it to a different database. If not\n // provided, the parent will not be updated.\n parent?: ParentOfDataSourceRequest\n}\n\nexport type UpdateDataSourceParameters = UpdateDataSourcePathParameters &\n UpdateDataSourceBodyParameters\n\nexport type UpdateDataSourceResponse =\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n\n/**\n * Update a data source\n */\nexport const updateDataSource = {\n method: \"patch\",\n pathParams: [\"data_source_id\"],\n queryParams: [],\n bodyParams: [\"archived\", \"title\", \"icon\", \"properties\", \"in_trash\", \"parent\"],\n\n path: (p: UpdateDataSourcePathParameters): string =>\n `data_sources/${p.data_source_id}`,\n} as const\n\ntype QueryDataSourcePathParameters = {\n data_source_id: IdRequest\n}\n\ntype QueryDataSourceQueryParameters = {\n filter_properties?: Array<string>\n}\n\ntype QueryDataSourceBodyParameters = {\n sorts?: Array<\n | { property: string; direction: \"ascending\" | \"descending\" }\n | {\n timestamp: \"created_time\" | \"last_edited_time\"\n direction: \"ascending\" | \"descending\"\n }\n >\n filter?:\n | { or: GroupFilterOperatorArray }\n | { and: GroupFilterOperatorArray }\n | PropertyFilter\n | TimestampFilter\n start_cursor?: string\n page_size?: number\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n // Optionally filter the results to only include pages or data sources. Regular, non-wiki\n // databases only support page children. The default behavior is no result type\n // filtering, in other words, returning both pages and data sources for wikis.\n result_type?: \"page\" | \"data_source\"\n}\n\nexport type QueryDataSourceParameters = QueryDataSourcePathParameters &\n QueryDataSourceQueryParameters &\n QueryDataSourceBodyParameters\n\nexport type QueryDataSourceResponse = {\n type: \"page_or_data_source\"\n page_or_data_source: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<\n | PageObjectResponse\n | PartialPageObjectResponse\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n >\n}\n\n/**\n * Query a data source\n */\nexport const queryDataSource = {\n method: \"post\",\n pathParams: [\"data_source_id\"],\n queryParams: [\"filter_properties\"],\n bodyParams: [\n \"archived\",\n \"sorts\",\n \"filter\",\n \"start_cursor\",\n \"page_size\",\n \"in_trash\",\n \"result_type\",\n ],\n\n path: (p: QueryDataSourcePathParameters): string =>\n `data_sources/${p.data_source_id}/query`,\n} as const\n\ntype CreateDataSourceBodyParameters = {\n // An object specifying the parent of the new data source to be created.\n parent: ParentOfDataSourceRequest\n // Property schema of data source.\n properties: Record<string, PropertyConfigurationRequest>\n // Title of data source as it appears in Notion.\n title?: Array<RichTextItemRequest>\n // Page icon.\n icon?: PageIconRequest | null\n}\n\nexport type CreateDataSourceParameters = CreateDataSourceBodyParameters\n\nexport type CreateDataSourceResponse =\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n\n/**\n * Create a data source\n */\nexport const createDataSource = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\"parent\", \"properties\", \"title\", \"icon\"],\n\n path: (): string => `data_sources`,\n} as const\n\ntype ListDataSourceTemplatesPathParameters = {\n // ID of a Notion data source.\n data_source_id: IdRequest\n}\n\ntype ListDataSourceTemplatesQueryParameters = {\n // Filter templates by name (case-insensitive substring match).\n name?: string\n // If supplied, this endpoint will return a page of results starting after the cursor\n // provided. If not supplied, this endpoint will return the first page of results.\n start_cursor?: string\n // The number of items from the full list desired in the response. Maximum: 100\n page_size?: number\n}\n\nexport type ListDataSourceTemplatesParameters =\n ListDataSourceTemplatesPathParameters & ListDataSourceTemplatesQueryParameters\n\nexport type ListDataSourceTemplatesResponse = {\n // Array of templates available in this data source.\n templates: Array<{\n // ID of the template page.\n id: IdResponse\n // Name of the template.\n name: string\n // Whether this template is the default template for the data source.\n is_default: boolean\n }>\n // Whether there are more templates available beyond this page.\n has_more: boolean\n // Cursor to use for the next page of results. Null if there are no more results.\n next_cursor: IdResponse | null\n}\n\n/**\n * List templates in a data source\n */\nexport const listDataSourceTemplates = {\n method: \"get\",\n pathParams: [\"data_source_id\"],\n queryParams: [\"name\", \"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (p: ListDataSourceTemplatesPathParameters): string =>\n `data_sources/${p.data_source_id}/templates`,\n} as const\n\ntype GetDatabasePathParameters = {\n // ID of a Notion database, a container for one or more data sources.\n database_id: IdRequest\n}\n\nexport type GetDatabaseParameters = GetDatabasePathParameters\n\nexport type GetDatabaseResponse =\n | PartialDatabaseObjectResponse\n | DatabaseObjectResponse\n\n/**\n * Retrieve a database\n */\nexport const getDatabase = {\n method: \"get\",\n pathParams: [\"database_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetDatabasePathParameters): string => `databases/${p.database_id}`,\n} as const\n\ntype UpdateDatabasePathParameters = {\n // ID of a Notion database, a container for one or more data sources.\n database_id: IdRequest\n}\n\ntype UpdateDatabaseBodyParameters = {\n // The parent page or workspace to move the database to. If not provided, the database\n // will not be moved.\n parent?: {\n // The type of parent.\n type: \"page_id\" | \"workspace\"\n } & (\n | {\n // Always `page_id`\n type: \"page_id\"\n page_id: IdRequest\n }\n | {\n // Always `workspace`\n type: \"workspace\"\n // Always `true`\n workspace: true\n }\n )\n // The updated title of the database, if any. If not provided, the title will not be\n // updated.\n title?: Array<RichTextItemRequest>\n // The updated description of the database, if any. If not provided, the description will\n // not be updated.\n description?: Array<RichTextItemRequest>\n // Whether the database should be displayed inline in the parent page. If not provided,\n // the inline status will not be updated.\n is_inline?: boolean\n // The updated icon for the database, if any. If not provided, the icon will not be\n // updated.\n icon?: PageIconRequest\n // The updated cover image for the database, if any. If not provided, the cover will not\n // be updated.\n cover?: PageCoverRequest\n // Whether the database should be moved to or from the trash. If not provided, the trash\n // status will not be updated.\n in_trash?: boolean\n /** @deprecated Use `in_trash` instead. */\n archived?: boolean\n // Whether the database should be locked from editing in the Notion app UI. If not\n // provided, the locked state will not be updated.\n is_locked?: boolean\n}\n\nexport type UpdateDatabaseParameters = UpdateDatabasePathParameters &\n UpdateDatabaseBodyParameters\n\nexport type UpdateDatabaseResponse =\n | PartialDatabaseObjectResponse\n | DatabaseObjectResponse\n\n/**\n * Update a database\n */\nexport const updateDatabase = {\n method: \"patch\",\n pathParams: [\"database_id\"],\n queryParams: [],\n bodyParams: [\n \"parent\",\n \"title\",\n \"description\",\n \"is_inline\",\n \"icon\",\n \"cover\",\n \"in_trash\",\n \"is_locked\",\n ],\n\n path: (p: UpdateDatabasePathParameters): string =>\n `databases/${p.database_id}`,\n} as const\n\ntype CreateDatabaseBodyParameters = {\n // The parent page or workspace where the database will be created.\n parent: {\n // The type of parent.\n type: \"page_id\" | \"workspace\"\n } & (\n | {\n // Always `page_id`\n type: \"page_id\"\n page_id: IdRequest\n }\n | {\n // Always `workspace`\n type: \"workspace\"\n // Always `true`\n workspace: true\n }\n )\n // The title of the database.\n title?: Array<RichTextItemRequest>\n // The description of the database.\n description?: Array<RichTextItemRequest>\n // Whether the database should be displayed inline in the parent page. Defaults to false.\n is_inline?: boolean\n // Initial data source configuration for the database.\n initial_data_source?: InitialDataSourceRequest\n // The icon for the database.\n icon?: PageIconRequest\n // The cover image for the database.\n cover?: PageCoverRequest\n}\n\nexport type CreateDatabaseParameters = CreateDatabaseBodyParameters\n\nexport type CreateDatabaseResponse =\n | PartialDatabaseObjectResponse\n | DatabaseObjectResponse\n\n/**\n * Create a database\n */\nexport const createDatabase = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\n \"parent\",\n \"title\",\n \"description\",\n \"is_inline\",\n \"initial_data_source\",\n \"icon\",\n \"cover\",\n ],\n\n path: (): string => `databases`,\n} as const\n\ntype SearchBodyParameters = {\n sort?: {\n timestamp: \"last_edited_time\"\n direction: \"ascending\" | \"descending\"\n }\n query?: string\n start_cursor?: string\n page_size?: number\n filter?: { property: \"object\"; value: \"page\" | \"data_source\" }\n}\n\nexport type SearchParameters = SearchBodyParameters\n\nexport type SearchResponse = {\n type: \"page_or_data_source\"\n page_or_data_source: EmptyObject\n object: \"list\"\n next_cursor: string | null\n has_more: boolean\n results: Array<\n | PageObjectResponse\n | PartialPageObjectResponse\n | PartialDataSourceObjectResponse\n | DataSourceObjectResponse\n >\n}\n\n/**\n * Search by title\n */\nexport const search = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\"sort\", \"query\", \"start_cursor\", \"page_size\", \"filter\"],\n\n path: (): string => `search`,\n} as const\n\ntype CreateCommentBodyParameters = {\n // An array of rich text objects that represent the content of the comment.\n rich_text: Array<RichTextItemRequest>\n // An array of files to attach to the comment. Maximum of 3 allowed.\n attachments?: Array<{\n // ID of a FileUpload object that has the status `uploaded`.\n file_upload_id: string\n // Always `file_upload`\n type?: \"file_upload\"\n }>\n // Display name for the comment.\n display_name?:\n | {\n // Always `integration`\n type: \"integration\"\n }\n | {\n // Always `user`\n type: \"user\"\n }\n | {\n // Always `custom`\n type: \"custom\"\n custom: {\n // The custom display name to use\n name: string\n }\n }\n} & (\n | {\n // The parent of the comment. This can be a page or a block.\n parent:\n | {\n // The ID of the parent page (with or without dashes), for example,\n // 195de9221179449fab8075a27c979105\n page_id: IdRequest\n // Always `page_id`\n type?: \"page_id\"\n }\n | {\n // The ID of the parent block (with or without dashes), for example,\n // 195de9221179449fab8075a27c979105\n block_id: IdRequest\n // Always `block_id`\n type?: \"block_id\"\n }\n }\n | {\n // The ID of the discussion to comment on.\n discussion_id: IdRequest\n }\n)\n\nexport type CreateCommentParameters = CreateCommentBodyParameters\n\nexport type CreateCommentResponse =\n | PartialCommentObjectResponse\n | CommentObjectResponse\n\n/**\n * Create a comment\n */\nexport const createComment = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\n \"rich_text\",\n \"attachments\",\n \"display_name\",\n \"parent\",\n \"discussion_id\",\n ],\n\n path: (): string => `comments`,\n} as const\n\ntype ListCommentsQueryParameters = {\n // Identifier for a Notion block or page.\n block_id: IdRequest\n // If supplied, this endpoint will return a page of results starting after the cursor\n // provided. If not supplied, this endpoint will return the first page of results.\n start_cursor?: string\n // The number of items from the full list desired in the response. Maximum: 100\n page_size?: number\n}\n\nexport type ListCommentsParameters = ListCommentsQueryParameters\n\nexport type ListCommentsResponse = {\n // Always `list`\n object: \"list\"\n next_cursor: IdResponse | null\n has_more: boolean\n results: Array<CommentObjectResponse>\n // Always `comment`\n type: \"comment\"\n comment: EmptyObject\n}\n\n/**\n * List comments\n */\nexport const listComments = {\n method: \"get\",\n pathParams: [],\n queryParams: [\"block_id\", \"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (): string => `comments`,\n} as const\n\ntype GetCommentPathParameters = {\n // The ID of the comment to retrieve.\n comment_id: IdRequest\n}\n\nexport type GetCommentParameters = GetCommentPathParameters\n\nexport type GetCommentResponse =\n | PartialCommentObjectResponse\n | CommentObjectResponse\n\n/**\n * Retrieve a comment\n */\nexport const getComment = {\n method: \"get\",\n pathParams: [\"comment_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetCommentPathParameters): string => `comments/${p.comment_id}`,\n} as const\n\ntype CreateFileUploadBodyParameters = {\n // How the file is being sent. Use `multi_part` for files larger than 20MB. Use\n // `external_url` for files that are temporarily hosted publicly elsewhere. Default is\n // `single_part`.\n mode?: \"single_part\" | \"multi_part\" | \"external_url\"\n // Name of the file to be created. Required when `mode` is `multi_part`. Otherwise\n // optional, and used to override the filename. Must include an extension, or have one\n // inferred from the `content_type` parameter.\n filename?: string\n // MIME type of the file to be created. Recommended when sending the file in multiple\n // parts. Must match the content type of the file that's sent, and the extension of the\n // `filename` parameter if any.\n content_type?: string\n // When `mode` is `multi_part`, the number of parts you are uploading. This must match\n // the number of parts as well as the final `part_number` you send.\n number_of_parts?: number\n // When `mode` is `external_url`, provide the HTTPS URL of a publicly accessible file to\n // import into your workspace.\n external_url?: string\n}\n\nexport type CreateFileUploadParameters = CreateFileUploadBodyParameters\n\nexport type CreateFileUploadResponse = FileUploadObjectResponse\n\n/**\n * Create a file upload\n */\nexport const createFileUpload = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\n \"mode\",\n \"filename\",\n \"content_type\",\n \"number_of_parts\",\n \"external_url\",\n ],\n\n path: (): string => `file_uploads`,\n} as const\n\ntype ListFileUploadsQueryParameters = {\n // If supplied, the endpoint will return file uploads with the specified status.\n status?: \"pending\" | \"uploaded\" | \"expired\" | \"failed\"\n // If supplied, this endpoint will return a page of results starting after the cursor\n // provided. If not supplied, this endpoint will return the first page of results.\n start_cursor?: string\n // The number of items from the full list desired in the response. Maximum: 100\n page_size?: number\n}\n\nexport type ListFileUploadsParameters = ListFileUploadsQueryParameters\n\nexport type ListFileUploadsResponse = {\n // Always `list`\n object: \"list\"\n next_cursor: IdResponse | null\n has_more: boolean\n results: Array<FileUploadObjectResponse>\n // Always `file_upload`\n type: \"file_upload\"\n file_upload: EmptyObject\n}\n\n/**\n * List file uploads\n */\nexport const listFileUploads = {\n method: \"get\",\n pathParams: [],\n queryParams: [\"status\", \"start_cursor\", \"page_size\"],\n bodyParams: [],\n\n path: (): string => `file_uploads`,\n} as const\n\ntype SendFileUploadPathParameters = {\n // Identifier for a Notion file upload object.\n file_upload_id: IdRequest\n}\n\ntype SendFileUploadFormDataParameters = {\n file: { filename?: string; data: string | Blob }\n part_number?: string\n}\n\nexport type SendFileUploadParameters = SendFileUploadPathParameters &\n SendFileUploadFormDataParameters\n\nexport type SendFileUploadResponse = FileUploadObjectResponse\n\n/**\n * Upload a file\n */\nexport const sendFileUpload = {\n method: \"post\",\n pathParams: [\"file_upload_id\"],\n queryParams: [],\n bodyParams: [],\n formDataParams: [\"file\", \"part_number\"],\n path: (p: SendFileUploadPathParameters): string =>\n `file_uploads/${p.file_upload_id}/send`,\n} as const\n\ntype CompleteFileUploadPathParameters = {\n // Identifier for a Notion file upload object.\n file_upload_id: IdRequest\n}\n\nexport type CompleteFileUploadParameters = CompleteFileUploadPathParameters\n\nexport type CompleteFileUploadResponse = FileUploadObjectResponse\n\n/**\n * Complete a multi-part file upload\n */\nexport const completeFileUpload = {\n method: \"post\",\n pathParams: [\"file_upload_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: CompleteFileUploadPathParameters): string =>\n `file_uploads/${p.file_upload_id}/complete`,\n} as const\n\ntype GetFileUploadPathParameters = {\n // Identifier for a Notion file upload object.\n file_upload_id: IdRequest\n}\n\nexport type GetFileUploadParameters = GetFileUploadPathParameters\n\nexport type GetFileUploadResponse = FileUploadObjectResponse\n\n/**\n * Retrieve a file upload\n */\nexport const getFileUpload = {\n method: \"get\",\n pathParams: [\"file_upload_id\"],\n queryParams: [],\n bodyParams: [],\n\n path: (p: GetFileUploadPathParameters): string =>\n `file_uploads/${p.file_upload_id}`,\n} as const\n\ntype OauthTokenBodyParameters =\n | {\n grant_type: \"authorization_code\"\n code: string\n redirect_uri?: string\n external_account?: { key: string; name: string }\n }\n | { grant_type: \"refresh_token\"; refresh_token: string }\n\nexport type OauthTokenParameters = OauthTokenBodyParameters\n\nexport type OauthTokenResponse = {\n access_token: string\n token_type: \"bearer\"\n refresh_token: string | null\n bot_id: string\n workspace_icon: string | null\n workspace_name: string | null\n workspace_id: string\n owner:\n | {\n type: \"user\"\n user:\n | {\n type: \"person\"\n person: { email: string }\n name: string | null\n avatar_url: string | null\n id: IdRequest\n object: \"user\"\n }\n | PartialUserObjectResponse\n }\n | { type: \"workspace\"; workspace: true }\n duplicated_template_id: string | null\n request_id?: string\n}\n\n/**\n * Exchange an authorization code for an access and refresh token\n */\nexport const oauthToken = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\n \"grant_type\",\n \"code\",\n \"redirect_uri\",\n \"external_account\",\n \"refresh_token\",\n ],\n\n path: (): string => `oauth/token`,\n} as const\n\ntype OauthRevokeBodyParameters = { token: string }\n\nexport type OauthRevokeParameters = OauthRevokeBodyParameters\n\nexport type OauthRevokeResponse = { request_id?: string }\n\n/**\n * Revoke a token\n */\nexport const oauthRevoke = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\"token\"],\n\n path: (): string => `oauth/revoke`,\n} as const\n\ntype OauthIntrospectBodyParameters = { token: string }\n\nexport type OauthIntrospectParameters = OauthIntrospectBodyParameters\n\nexport type OauthIntrospectResponse = {\n active: boolean\n scope?: string\n iat?: number\n request_id?: string\n}\n\n/**\n * Introspect a token\n */\nexport const oauthIntrospect = {\n method: \"post\",\n pathParams: [],\n queryParams: [],\n bodyParams: [\"token\"],\n\n path: (): string => `oauth/introspect`,\n} as const\n"]}
|