diff --git a/package.json b/package.json index 773f06de..bc5ff453 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@notionhq/client", - "version": "0.4.2", + "version": "0.4.3", "description": "A simple and easy to use client for the Notion API", "engines": { "node": ">=12" diff --git a/src/Client.ts b/src/Client.ts index d99034a4..ee051254 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -64,6 +64,9 @@ import { GetSelfParameters, GetSelfResponse, getSelf, + GetPagePropertyParameters, + GetPagePropertyResponse, + getPageProperty, } from "./api-endpoints" import nodeFetch from "node-fetch" import { @@ -404,6 +407,22 @@ export default class Client { auth: args?.auth, }) }, + properties: { + /** + * Retrieve page property + */ + retrieve: ( + args: WithAuth + ): Promise => { + return this.request({ + path: getPageProperty.path(args), + method: getPageProperty.method, + query: pick(args, getPageProperty.queryParams), + body: pick(args, getPageProperty.bodyParams), + auth: args?.auth, + }) + }, + }, } public readonly users = { diff --git a/src/api-endpoints.ts b/src/api-endpoints.ts index 47e196f4..ae604338 100644 --- a/src/api-endpoints.ts +++ b/src/api-endpoints.ts @@ -239673,6 +239673,1849 @@ export const updatePage = { path: (p: UpdatePagePathParameters): string => `pages/${p.page_id}`, } as const +type GetPagePropertyPathParameters = { + page_id: IdRequest + property_id: string +} + +type GetPagePropertyQueryParameters = { + start_cursor?: string + page_size?: number +} + +export type GetPagePropertyParameters = GetPagePropertyPathParameters & + GetPagePropertyQueryParameters + +export type GetPagePropertyResponse = + | { type: "number"; number: number | null; object: "property_item" } + | { type: "url"; url: string | null; object: "property_item" } + | { + type: "select" + select: { + id: StringRequest + name: StringRequest + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + } | null + object: "property_item" + } + | { + type: "multi_select" + multi_select: Array<{ + id: StringRequest + name: StringRequest + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + }> | null + object: "property_item" + } + | { + type: "date" + date: { start: string; end: string | null } | null + object: "property_item" + } + | { type: "email"; email: string | null; object: "property_item" } + | { + type: "phone_number" + phone_number: string | null + object: "property_item" + } + | { type: "checkbox"; checkbox: boolean | null; object: "property_item" } + | { + type: "files" + files: Array< + | { + file: { url: string; expiry_time: string } + name: string + type?: "file" + } + | { external: { url: string }; name: string; type?: "external" } + > | null + object: "property_item" + } + | { + type: "created_by" + created_by: + | { id: IdRequest; object: "user" } + | null + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + object: "property_item" + } + | { + type: "created_time" + created_time: string | null + object: "property_item" + } + | { + type: "last_edited_by" + last_edited_by: + | { id: IdRequest; object: "user" } + | null + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + object: "property_item" + } + | { + type: "last_edited_time" + last_edited_time: string | null + object: "property_item" + } + | { + type: "formula" + formula: + | { type: "string"; string: string | null } + | null + | { type: "date"; date: { start: string; end: string | null } | null } + | null + | { type: "number"; number: number | null } + | null + | { type: "boolean"; boolean: boolean | null } + | null + object: "property_item" + } + | { + type: "title" + title: + | { + type: "text" + text: { content: string; link: { url: TextRequest } | null } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "mention" + mention: + | { + type: "user" + user: + | { id: IdRequest; object: "user" } + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + } + | { type: "date"; date: { start: string; end: string | null } } + | { type: "page"; page: { id: IdRequest } } + | { type: "database"; database: { id: IdRequest } } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "equation" + equation: { expression: TextRequest } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + object: "property_item" + } + | { + type: "rich_text" + rich_text: + | { + type: "text" + text: { content: string; link: { url: TextRequest } | null } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "mention" + mention: + | { + type: "user" + user: + | { id: IdRequest; object: "user" } + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + } + | { type: "date"; date: { start: string; end: string | null } } + | { type: "page"; page: { id: IdRequest } } + | { type: "database"; database: { id: IdRequest } } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "equation" + equation: { expression: TextRequest } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + object: "property_item" + } + | { + type: "people" + people: + | { id: IdRequest; object: "user" } + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + object: "property_item" + } + | { type: "relation"; relation: { id: string }; object: "property_item" } + | { + type: "rollup" + rollup: + | { + type: "number" + number: number | null + function: + | "count" + | "count_values" + | "empty" + | "not_empty" + | "unique" + | "show_unique" + | "percent_empty" + | "percent_not_empty" + | "sum" + | "average" + | "median" + | "min" + | "max" + | "range" + | "earliest_date" + | "latest_date" + | "date_range" + | "checked" + | "unchecked" + | "percent_checked" + | "percent_unchecked" + | "show_original" + } + | { + type: "date" + date: { start: string; end: string | null } | null + function: + | "count" + | "count_values" + | "empty" + | "not_empty" + | "unique" + | "show_unique" + | "percent_empty" + | "percent_not_empty" + | "sum" + | "average" + | "median" + | "min" + | "max" + | "range" + | "earliest_date" + | "latest_date" + | "date_range" + | "checked" + | "unchecked" + | "percent_checked" + | "percent_unchecked" + | "show_original" + } + | { + type: "array" + array: Array< + | { + type: "number" + number: { + format: + | "number" + | "number_with_commas" + | "percent" + | "dollar" + | "canadian_dollar" + | "euro" + | "pound" + | "yen" + | "ruble" + | "rupee" + | "won" + | "yuan" + | "real" + | "lira" + | "rupiah" + | "franc" + | "hong_kong_dollar" + | "new_zealand_dollar" + | "krona" + | "norwegian_krone" + | "mexican_peso" + | "rand" + | "new_taiwan_dollar" + | "danish_krone" + | "zloty" + | "baht" + | "forint" + | "koruna" + | "shekel" + | "chilean_peso" + | "philippine_peso" + | "dirham" + | "colombian_peso" + | "riyal" + | "ringgit" + | "leu" + } + } + | { type: "formula"; formula: { expression: string } } + | { + type: "select" + select: { + options: Array<{ + name: StringRequest + id?: StringRequest + color?: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + }> + } + } + | { + type: "multi_select" + multi_select: { + options: Array<{ + name: StringRequest + id?: StringRequest + color?: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + }> + } + } + | { + type: "relation" + relation: { + database_id: IdRequest + synced_property_id: string + synced_property_name: string + } + } + | { + type: "rollup" + rollup: { + rollup_property_name: string + relation_property_name: string + rollup_property_id: string + relation_property_id: string + function: + | "count" + | "count_values" + | "empty" + | "not_empty" + | "unique" + | "show_unique" + | "percent_empty" + | "percent_not_empty" + | "sum" + | "average" + | "median" + | "min" + | "max" + | "range" + | "earliest_date" + | "latest_date" + | "date_range" + | "checked" + | "unchecked" + | "percent_checked" + | "percent_unchecked" + | "show_original" + } + } + | { type: "title"; title: Record } + | { type: "rich_text"; rich_text: Record } + | { type: "url"; url: Record } + | { type: "people"; people: Record } + | { type: "files"; files: Record } + | { type: "email"; email: Record } + | { type: "phone_number"; phone_number: Record } + | { type: "date"; date: Record } + | { type: "checkbox"; checkbox: Record } + | { type: "created_by"; created_by: Record } + | { type: "created_time"; created_time: Record } + | { + type: "last_edited_by" + last_edited_by: Record + } + | { + type: "last_edited_time" + last_edited_time: Record + } + > + function: + | "count" + | "count_values" + | "empty" + | "not_empty" + | "unique" + | "show_unique" + | "percent_empty" + | "percent_not_empty" + | "sum" + | "average" + | "median" + | "min" + | "max" + | "range" + | "earliest_date" + | "latest_date" + | "date_range" + | "checked" + | "unchecked" + | "percent_checked" + | "percent_unchecked" + | "show_original" + } + | { + type: "unsupported" + unsupported: Record + function: + | "count" + | "count_values" + | "empty" + | "not_empty" + | "unique" + | "show_unique" + | "percent_empty" + | "percent_not_empty" + | "sum" + | "average" + | "median" + | "min" + | "max" + | "range" + | "earliest_date" + | "latest_date" + | "date_range" + | "checked" + | "unchecked" + | "percent_checked" + | "percent_unchecked" + | "show_original" + } + object: "list" + results: Array< + | { type: "number"; number: number | null; object: "property_item" } + | { type: "url"; url: string | null; object: "property_item" } + | { + type: "select" + select: { + id: StringRequest + name: StringRequest + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + } | null + object: "property_item" + } + | { + type: "multi_select" + multi_select: Array<{ + id: StringRequest + name: StringRequest + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + }> | null + object: "property_item" + } + | { + type: "date" + date: { start: string; end: string | null } | null + object: "property_item" + } + | { type: "email"; email: string | null; object: "property_item" } + | { + type: "phone_number" + phone_number: string | null + object: "property_item" + } + | { + type: "checkbox" + checkbox: boolean | null + object: "property_item" + } + | { + type: "files" + files: Array< + | { + file: { url: string; expiry_time: string } + name: string + type?: "file" + } + | { external: { url: string }; name: string; type?: "external" } + > | null + object: "property_item" + } + | { + type: "created_by" + created_by: + | { id: IdRequest; object: "user" } + | null + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + object: "property_item" + } + | { + type: "created_time" + created_time: string | null + object: "property_item" + } + | { + type: "last_edited_by" + last_edited_by: + | { id: IdRequest; object: "user" } + | null + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + object: "property_item" + } + | { + type: "last_edited_time" + last_edited_time: string | null + object: "property_item" + } + | { + type: "formula" + formula: + | { type: "string"; string: string | null } + | null + | { + type: "date" + date: { start: string; end: string | null } | null + } + | null + | { type: "number"; number: number | null } + | null + | { type: "boolean"; boolean: boolean | null } + | null + object: "property_item" + } + | { + type: "title" + title: + | { + type: "text" + text: { content: string; link: { url: TextRequest } | null } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "mention" + mention: + | { + type: "user" + user: + | { id: IdRequest; object: "user" } + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + } + | { + type: "date" + date: { start: string; end: string | null } + } + | { type: "page"; page: { id: IdRequest } } + | { type: "database"; database: { id: IdRequest } } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "equation" + equation: { expression: TextRequest } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + object: "property_item" + } + | { + type: "rich_text" + rich_text: + | { + type: "text" + text: { content: string; link: { url: TextRequest } | null } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "mention" + mention: + | { + type: "user" + user: + | { id: IdRequest; object: "user" } + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + } + | { + type: "date" + date: { start: string; end: string | null } + } + | { type: "page"; page: { id: IdRequest } } + | { type: "database"; database: { id: IdRequest } } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "equation" + equation: { expression: TextRequest } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + object: "property_item" + } + | { + type: "people" + people: + | { id: IdRequest; object: "user" } + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + object: "property_item" + } + | { + type: "relation" + relation: { id: string } + object: "property_item" + } + > + next_cursor: string | null + has_more: boolean + } + | { + object: "list" + results: Array< + | { type: "number"; number: number | null; object: "property_item" } + | { type: "url"; url: string | null; object: "property_item" } + | { + type: "select" + select: { + id: StringRequest + name: StringRequest + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + } | null + object: "property_item" + } + | { + type: "multi_select" + multi_select: Array<{ + id: StringRequest + name: StringRequest + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + }> | null + object: "property_item" + } + | { + type: "date" + date: { start: string; end: string | null } | null + object: "property_item" + } + | { type: "email"; email: string | null; object: "property_item" } + | { + type: "phone_number" + phone_number: string | null + object: "property_item" + } + | { + type: "checkbox" + checkbox: boolean | null + object: "property_item" + } + | { + type: "files" + files: Array< + | { + file: { url: string; expiry_time: string } + name: string + type?: "file" + } + | { external: { url: string }; name: string; type?: "external" } + > | null + object: "property_item" + } + | { + type: "created_by" + created_by: + | { id: IdRequest; object: "user" } + | null + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + object: "property_item" + } + | { + type: "created_time" + created_time: string | null + object: "property_item" + } + | { + type: "last_edited_by" + last_edited_by: + | { id: IdRequest; object: "user" } + | null + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | null + object: "property_item" + } + | { + type: "last_edited_time" + last_edited_time: string | null + object: "property_item" + } + | { + type: "formula" + formula: + | { type: "string"; string: string | null } + | null + | { + type: "date" + date: { start: string; end: string | null } | null + } + | null + | { type: "number"; number: number | null } + | null + | { type: "boolean"; boolean: boolean | null } + | null + object: "property_item" + } + | { + type: "title" + title: + | { + type: "text" + text: { content: string; link: { url: TextRequest } | null } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "mention" + mention: + | { + type: "user" + user: + | { id: IdRequest; object: "user" } + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + } + | { + type: "date" + date: { start: string; end: string | null } + } + | { type: "page"; page: { id: IdRequest } } + | { type: "database"; database: { id: IdRequest } } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "equation" + equation: { expression: TextRequest } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + object: "property_item" + } + | { + type: "rich_text" + rich_text: + | { + type: "text" + text: { content: string; link: { url: TextRequest } | null } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "mention" + mention: + | { + type: "user" + user: + | { id: IdRequest; object: "user" } + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + } + | { + type: "date" + date: { start: string; end: string | null } + } + | { type: "page"; page: { id: IdRequest } } + | { type: "database"; database: { id: IdRequest } } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + | { + type: "equation" + equation: { expression: TextRequest } + annotations: { + bold: boolean + italic: boolean + strikethrough: boolean + underline: boolean + code: boolean + color: + | "default" + | "gray" + | "brown" + | "orange" + | "yellow" + | "green" + | "blue" + | "purple" + | "pink" + | "red" + | "gray_background" + | "brown_background" + | "orange_background" + | "yellow_background" + | "green_background" + | "blue_background" + | "purple_background" + | "pink_background" + | "red_background" + } + plain_text: string + href: string | null + } + object: "property_item" + } + | { + type: "people" + people: + | { id: IdRequest; object: "user" } + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { + type: "bot" + bot: + | Record + | { + owner: + | { + type: "user" + user: + | { + type: "person" + person: { email: string } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + | { id: IdRequest; object: "user" } + } + | { type: "workspace"; workspace: true } + } + name: string | null + avatar_url: string | null + id: IdRequest + object: "user" + } + object: "property_item" + } + | { + type: "relation" + relation: { id: string } + object: "property_item" + } + > + next_cursor: string | null + has_more: boolean + } + +export const getPageProperty = { + method: "get", + pathParams: ["page_id", "property_id"], + queryParams: ["start_cursor", "page_size"], + bodyParams: [], + path: (p: GetPagePropertyPathParameters): string => + `pages/${p.page_id}/properties/${p.property_id}`, +} as const + type GetBlockPathParameters = { block_id: IdRequest } @@ -246931,11 +248774,6 @@ type UpdateBlockPathParameters = { } type UpdateBlockBodyParameters = - | { - paragraph: { text: Array } - type?: "paragraph" - archived?: boolean - } | { heading_1: { text: Array } type?: "heading_1" @@ -246952,29 +248790,47 @@ type UpdateBlockBodyParameters = archived?: boolean } | { - bulleted_list_item: { text: Array } - type?: "bulleted_list_item" + embed: { url?: string; caption?: Array } + type?: "embed" archived?: boolean } | { - numbered_list_item: { text: Array } - type?: "numbered_list_item" + bookmark: { url?: string; caption?: Array } + type?: "bookmark" archived?: boolean } | { - quote: { text: Array } - type?: "quote" + image: { + caption?: Array + external?: { url: string } + } + type?: "image" archived?: boolean } | { - toggle: { text: Array } - type?: "toggle" + video: { + caption?: Array + external?: { url: string } + } + type?: "video" archived?: boolean } - | { equation: { expression: string }; type?: "equation"; archived?: boolean } | { - to_do: { text?: Array; checked?: boolean } - type?: "to_do" + pdf: { caption?: Array; external?: { url: string } } + type?: "pdf" + archived?: boolean + } + | { + file: { caption?: Array; external?: { url: string } } + type?: "file" + archived?: boolean + } + | { + audio: { + caption?: Array + external?: { url: string } + } + type?: "audio" archived?: boolean } | { @@ -247057,6 +248913,37 @@ type UpdateBlockBodyParameters = type?: "code" archived?: boolean } + | { equation: { expression: string }; type?: "equation"; archived?: boolean } + | { + paragraph: { text: Array } + type?: "paragraph" + archived?: boolean + } + | { + bulleted_list_item: { text: Array } + type?: "bulleted_list_item" + archived?: boolean + } + | { + numbered_list_item: { text: Array } + type?: "numbered_list_item" + archived?: boolean + } + | { + quote: { text: Array } + type?: "quote" + archived?: boolean + } + | { + to_do: { text?: Array; checked?: boolean } + type?: "to_do" + archived?: boolean + } + | { + toggle: { text: Array } + type?: "toggle" + archived?: boolean + } | { callout: { text?: Array @@ -257878,19 +259765,26 @@ export const updateBlock = { pathParams: ["block_id"], queryParams: [], bodyParams: [ - "paragraph", + "heading_1", "type", "archived", - "heading_1", "heading_2", "heading_3", + "embed", + "bookmark", + "image", + "video", + "pdf", + "file", + "audio", + "code", + "equation", + "paragraph", "bulleted_list_item", "numbered_list_item", "quote", - "toggle", - "equation", "to_do", - "code", + "toggle", "callout", ], path: (p: UpdateBlockPathParameters): string => `blocks/${p.block_id}`,