schemas
agentIdParentForBlockBasedObjectResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "agent_id",
"description": "The parent type."
},
"agent_id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the parent agent."
}
},
"additionalProperties": false,
"required": [
"type",
"agent_id"
]
}
annotationRequest
{
"type": "object",
"properties": {
"bold": {
"type": "boolean",
"description": "Whether the text is formatted as bold."
},
"italic": {
"type": "boolean",
"description": "Whether the text is formatted as italic."
},
"strikethrough": {
"type": "boolean",
"description": "Whether the text is formatted with a strikethrough."
},
"underline": {
"type": "boolean",
"description": "Whether the text is formatted with an underline."
},
"code": {
"type": "boolean",
"description": "Whether the text is formatted as code."
},
"color": {
"$ref": "#/components/schemas/apiColor",
"description": "The color of the text."
}
}
}
annotationResponse
{
"type": "object",
"properties": {
"bold": {
"type": "boolean"
},
"italic": {
"type": "boolean"
},
"strikethrough": {
"type": "boolean"
},
"underline": {
"type": "boolean"
},
"code": {
"type": "boolean"
},
"color": {
"$ref": "#/components/schemas/apiColor"
}
},
"additionalProperties": false,
"required": [
"bold",
"italic",
"strikethrough",
"underline",
"code",
"color"
]
}
apiColor
{
"type": "string",
"enum": [
"default",
"gray",
"brown",
"orange",
"yellow",
"green",
"blue",
"purple",
"pink",
"red",
"default_background",
"gray_background",
"brown_background",
"orange_background",
"yellow_background",
"green_background",
"blue_background",
"purple_background",
"pink_background",
"red_background"
],
"description": "One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`, `default_background`, `gray_background`, `brown_background`, `orange_background`, `yellow_background`, `green_background`, `blue_background`, `purple_background`, `pink_background`, `red_background`"
}
apiTranscriptionStatus
{
"type": "string",
"enum": [
"transcription_not_started",
"transcription_paused",
"transcription_in_progress",
"transcription_failed",
"summary_in_progress",
"notes_ready"
]
}
arrayBasedPropertyValueResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/titleArrayBasedPropertyValueResponse"
},
{
"$ref": "#/components/schemas/richTextArrayBasedPropertyValueResponse"
},
{
"$ref": "#/components/schemas/peopleArrayBasedPropertyValueResponse"
},
{
"$ref": "#/components/schemas/relationArrayBasedPropertyValueResponse"
}
]
}
arrayPartialRollupValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "array",
"description": "Always `array`"
},
"array": {
"type": "array",
"items": {
"$ref": "#/components/schemas/simpleOrArrayPropertyValueResponse"
},
"maxItems": 100
}
},
"required": [
"type",
"array"
],
"title": "Array"
}
asyncTaskMcpOperationName
{
"type": "string",
"enum": [
"create_pages",
"update_page"
]
}
asyncTaskRestOperationName
{
"type": "string",
"enum": [
"POST /v1/pages",
"PATCH /v1/pages/:page_id/markdown"
]
}
audioBlockObjectResponse
{
"title": "Audio",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "audio"
},
"audio": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"audio",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
baseWebhookPayload
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for this webhook event."
},
"timestamp": {
"type": "string",
"description": "ISO 8601 timestamp of when the event occurred. Can be used to order events."
},
"workspace_id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the workspace where the event originated."
},
"workspace_name": {
"type": "string",
"description": "The name of the workspace where the event originated."
},
"subscription_id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the webhook subscription."
},
"integration_id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the integration the subscription is set up with."
},
"authors": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the user."
},
"type": {
"type": "string",
"const": "person",
"description": "Always `person`"
}
},
"additionalProperties": false,
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the bot."
},
"type": {
"type": "string",
"const": "bot",
"description": "Always `bot`"
}
},
"additionalProperties": false,
"required": [
"id",
"type"
]
}
]
},
"maxItems": 100,
"description": "The users or bots that performed the action. Typically an array of length 1; can be more for aggregated events."
},
"attempt_number": {
"type": "integer",
"description": "The delivery attempt number (1-8) of the current event delivery."
},
"api_version": {
"type": "string",
"enum": [
"2022-06-28",
"2025-09-03",
"2026-03-11"
],
"description": "The Notion API version that was used to render this webhook event's shape."
},
"accessible_by": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the user."
},
"type": {
"type": "string",
"const": "person",
"description": "Always `person`"
}
},
"additionalProperties": false,
"required": [
"id",
"type"
]
},
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the bot."
},
"type": {
"type": "string",
"const": "bot",
"description": "Always `bot`"
}
},
"additionalProperties": false,
"required": [
"id",
"type"
]
}
]
},
"maxItems": 100,
"description": "The users or bots who own the bot connection to the `integration_id` and have access to the webhook's `entity`. Only present for public integrations."
}
},
"required": [
"id",
"timestamp",
"workspace_id",
"workspace_name",
"subscription_id",
"integration_id",
"authors",
"attempt_number",
"api_version"
]
}
blockIdParentForBlockBasedObjectResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "block_id",
"description": "The parent type."
},
"block_id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the parent block."
}
},
"additionalProperties": false,
"required": [
"type",
"block_id"
]
}
blockObjectRequest
{
"anyOf": [
{
"title": "Embed",
"type": "object",
"properties": {
"embed": {
"anyOf": [
{
"$ref": "#/components/schemas/mediaContentWithUrlAndCaptionRequest"
},
{
"$ref": "#/components/schemas/embedFileUploadRequest"
}
]
},
"type": {
"type": "string",
"const": "embed"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"embed"
]
},
{
"title": "Bookmark",
"type": "object",
"properties": {
"bookmark": {
"$ref": "#/components/schemas/mediaContentWithUrlAndCaptionRequest"
},
"type": {
"type": "string",
"const": "bookmark"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"bookmark"
]
},
{
"title": "Image",
"type": "object",
"properties": {
"image": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "image"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"image"
]
},
{
"title": "Video",
"type": "object",
"properties": {
"video": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "video"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"video"
]
},
{
"title": "Pdf",
"type": "object",
"properties": {
"pdf": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "pdf"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"pdf"
]
},
{
"title": "File",
"type": "object",
"properties": {
"file": {
"$ref": "#/components/schemas/mediaContentWithFileNameAndCaptionRequest"
},
"type": {
"type": "string",
"const": "file"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"file"
]
},
{
"title": "Audio",
"type": "object",
"properties": {
"audio": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "audio"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"audio"
]
},
{
"title": "Code",
"type": "object",
"properties": {
"code": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"language": {
"$ref": "#/components/schemas/languageRequest"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text",
"language"
]
},
"type": {
"type": "string",
"const": "code"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"code"
]
},
{
"title": "Equation",
"type": "object",
"properties": {
"equation": {
"$ref": "#/components/schemas/contentWithExpressionRequest"
},
"type": {
"type": "string",
"const": "equation"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"equation"
]
},
{
"title": "Divider",
"type": "object",
"properties": {
"divider": {
"$ref": "#/components/schemas/emptyObject"
},
"type": {
"type": "string",
"const": "divider"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"divider"
]
},
{
"title": "Breadcrumb",
"type": "object",
"properties": {
"breadcrumb": {
"$ref": "#/components/schemas/emptyObject"
},
"type": {
"type": "string",
"const": "breadcrumb"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"breadcrumb"
]
},
{
"title": "Tab",
"type": "object",
"properties": {
"tab": {
"$ref": "#/components/schemas/tabRequestWithNestedTabItemChildren"
},
"type": {
"type": "string",
"const": "tab"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"tab"
]
},
{
"title": "Table Of Contents",
"type": "object",
"properties": {
"table_of_contents": {
"type": "object",
"properties": {
"color": {
"$ref": "#/components/schemas/apiColor"
}
},
"additionalProperties": false
},
"type": {
"type": "string",
"const": "table_of_contents"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"table_of_contents"
]
},
{
"title": "Link To Page",
"type": "object",
"properties": {
"link_to_page": {
"anyOf": [
{
"title": "Page Id",
"type": "object",
"properties": {
"page_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "page_id"
}
},
"additionalProperties": false,
"required": [
"page_id"
]
},
{
"title": "Database Id",
"type": "object",
"properties": {
"database_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "database_id"
}
},
"additionalProperties": false,
"required": [
"database_id"
]
},
{
"title": "Comment Id",
"type": "object",
"properties": {
"comment_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "comment_id"
}
},
"additionalProperties": false,
"required": [
"comment_id"
]
}
]
},
"type": {
"type": "string",
"const": "link_to_page"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"link_to_page"
]
},
{
"title": "Table Row",
"type": "object",
"properties": {
"table_row": {
"$ref": "#/components/schemas/contentWithTableRowRequest"
},
"type": {
"type": "string",
"const": "table_row"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"table_row"
]
},
{
"title": "Table",
"type": "object",
"properties": {
"table": {
"$ref": "#/components/schemas/tableRequestWithTableRowChildren"
},
"type": {
"type": "string",
"const": "table"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"table"
]
},
{
"title": "Column List",
"type": "object",
"properties": {
"column_list": {
"$ref": "#/components/schemas/columnListRequest"
},
"type": {
"type": "string",
"const": "column_list"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"column_list"
]
},
{
"title": "Column",
"type": "object",
"properties": {
"column": {
"$ref": "#/components/schemas/columnWithChildrenRequest"
},
"type": {
"type": "string",
"const": "column"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"column"
]
},
{
"title": "Heading 1",
"type": "object",
"properties": {
"heading_1": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"is_toggleable": {
"type": "boolean"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "heading_1"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_1"
]
},
{
"title": "Heading 2",
"type": "object",
"properties": {
"heading_2": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"is_toggleable": {
"type": "boolean"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "heading_2"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_2"
]
},
{
"title": "Heading 3",
"type": "object",
"properties": {
"heading_3": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"is_toggleable": {
"type": "boolean"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "heading_3"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_3"
]
},
{
"title": "Heading 4",
"type": "object",
"properties": {
"heading_4": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"is_toggleable": {
"type": "boolean"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "heading_4"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_4"
]
},
{
"title": "Paragraph",
"type": "object",
"properties": {
"paragraph": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"icon": {
"$ref": "#/components/schemas/pageIconRequest"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "paragraph"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"paragraph"
]
},
{
"title": "Bulleted List Item",
"type": "object",
"properties": {
"bulleted_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "bulleted_list_item"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"bulleted_list_item"
]
},
{
"title": "Numbered List Item",
"type": "object",
"properties": {
"numbered_list_item": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "numbered_list_item"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"numbered_list_item"
]
},
{
"title": "Quote",
"type": "object",
"properties": {
"quote": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "quote"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"quote"
]
},
{
"title": "To Do",
"type": "object",
"properties": {
"to_do": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
},
"checked": {
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "to_do"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"to_do"
]
},
{
"title": "Toggle",
"type": "object",
"properties": {
"toggle": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "toggle"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"toggle"
]
},
{
"title": "Template",
"type": "object",
"properties": {
"template": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "template"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"template"
]
},
{
"title": "Callout",
"type": "object",
"properties": {
"callout": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
},
"icon": {
"$ref": "#/components/schemas/pageIconRequest"
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "callout"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"callout"
]
},
{
"title": "Synced Block",
"type": "object",
"properties": {
"synced_block": {
"type": "object",
"properties": {
"synced_from": {
"title": "Block Id",
"type": [
"object",
"null"
],
"properties": {
"block_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "block_id"
}
},
"additionalProperties": false,
"required": [
"block_id"
]
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"synced_from"
]
},
"type": {
"type": "string",
"const": "synced_block"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"synced_block"
]
}
]
}
blockObjectRequestWithoutChildren
{
"anyOf": [
{
"title": "Embed",
"type": "object",
"properties": {
"embed": {
"anyOf": [
{
"$ref": "#/components/schemas/mediaContentWithUrlAndCaptionRequest"
},
{
"$ref": "#/components/schemas/embedFileUploadRequest"
}
]
},
"type": {
"type": "string",
"const": "embed"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"embed"
]
},
{
"title": "Bookmark",
"type": "object",
"properties": {
"bookmark": {
"$ref": "#/components/schemas/mediaContentWithUrlAndCaptionRequest"
},
"type": {
"type": "string",
"const": "bookmark"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"bookmark"
]
},
{
"title": "Image",
"type": "object",
"properties": {
"image": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "image"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"image"
]
},
{
"title": "Video",
"type": "object",
"properties": {
"video": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "video"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"video"
]
},
{
"title": "Pdf",
"type": "object",
"properties": {
"pdf": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "pdf"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"pdf"
]
},
{
"title": "File",
"type": "object",
"properties": {
"file": {
"$ref": "#/components/schemas/mediaContentWithFileNameAndCaptionRequest"
},
"type": {
"type": "string",
"const": "file"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"file"
]
},
{
"title": "Audio",
"type": "object",
"properties": {
"audio": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "audio"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"audio"
]
},
{
"title": "Code",
"type": "object",
"properties": {
"code": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"language": {
"$ref": "#/components/schemas/languageRequest"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text",
"language"
]
},
"type": {
"type": "string",
"const": "code"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"code"
]
},
{
"title": "Equation",
"type": "object",
"properties": {
"equation": {
"$ref": "#/components/schemas/contentWithExpressionRequest"
},
"type": {
"type": "string",
"const": "equation"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"equation"
]
},
{
"title": "Divider",
"type": "object",
"properties": {
"divider": {
"$ref": "#/components/schemas/emptyObject"
},
"type": {
"type": "string",
"const": "divider"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"divider"
]
},
{
"title": "Breadcrumb",
"type": "object",
"properties": {
"breadcrumb": {
"$ref": "#/components/schemas/emptyObject"
},
"type": {
"type": "string",
"const": "breadcrumb"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"breadcrumb"
]
},
{
"title": "Tab",
"type": "object",
"properties": {
"tab": {
"$ref": "#/components/schemas/emptyObject"
},
"type": {
"type": "string",
"const": "tab"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"tab"
]
},
{
"title": "Table Of Contents",
"type": "object",
"properties": {
"table_of_contents": {
"type": "object",
"properties": {
"color": {
"$ref": "#/components/schemas/apiColor"
}
},
"additionalProperties": false
},
"type": {
"type": "string",
"const": "table_of_contents"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"table_of_contents"
]
},
{
"title": "Link To Page",
"type": "object",
"properties": {
"link_to_page": {
"anyOf": [
{
"title": "Page Id",
"type": "object",
"properties": {
"page_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "page_id"
}
},
"additionalProperties": false,
"required": [
"page_id"
]
},
{
"title": "Database Id",
"type": "object",
"properties": {
"database_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "database_id"
}
},
"additionalProperties": false,
"required": [
"database_id"
]
},
{
"title": "Comment Id",
"type": "object",
"properties": {
"comment_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "comment_id"
}
},
"additionalProperties": false,
"required": [
"comment_id"
]
}
]
},
"type": {
"type": "string",
"const": "link_to_page"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"link_to_page"
]
},
{
"title": "Table Row",
"type": "object",
"properties": {
"table_row": {
"$ref": "#/components/schemas/contentWithTableRowRequest"
},
"type": {
"type": "string",
"const": "table_row"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"table_row"
]
},
{
"title": "Heading 1",
"type": "object",
"properties": {
"heading_1": {
"$ref": "#/components/schemas/headerContentWithRichTextAndColorRequest"
},
"type": {
"type": "string",
"const": "heading_1"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_1"
]
},
{
"title": "Heading 2",
"type": "object",
"properties": {
"heading_2": {
"$ref": "#/components/schemas/headerContentWithRichTextAndColorRequest"
},
"type": {
"type": "string",
"const": "heading_2"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_2"
]
},
{
"title": "Heading 3",
"type": "object",
"properties": {
"heading_3": {
"$ref": "#/components/schemas/headerContentWithRichTextAndColorRequest"
},
"type": {
"type": "string",
"const": "heading_3"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_3"
]
},
{
"title": "Heading 4",
"type": "object",
"properties": {
"heading_4": {
"$ref": "#/components/schemas/headerContentWithRichTextAndColorRequest"
},
"type": {
"type": "string",
"const": "heading_4"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_4"
]
},
{
"title": "Paragraph",
"type": "object",
"properties": {
"paragraph": {
"$ref": "#/components/schemas/contentWithRichTextColorAndIconRequest"
},
"type": {
"type": "string",
"const": "paragraph"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"paragraph"
]
},
{
"title": "Bulleted List Item",
"type": "object",
"properties": {
"bulleted_list_item": {
"$ref": "#/components/schemas/contentWithRichTextAndColorRequest"
},
"type": {
"type": "string",
"const": "bulleted_list_item"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"bulleted_list_item"
]
},
{
"title": "Numbered List Item",
"type": "object",
"properties": {
"numbered_list_item": {
"$ref": "#/components/schemas/contentWithRichTextAndColorRequest"
},
"type": {
"type": "string",
"const": "numbered_list_item"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"numbered_list_item"
]
},
{
"title": "Quote",
"type": "object",
"properties": {
"quote": {
"$ref": "#/components/schemas/contentWithRichTextAndColorRequest"
},
"type": {
"type": "string",
"const": "quote"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"quote"
]
},
{
"title": "To Do",
"type": "object",
"properties": {
"to_do": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"checked": {
"type": "boolean"
},
"color": {
"$ref": "#/components/schemas/apiColor"
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "to_do"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"to_do"
]
},
{
"title": "Toggle",
"type": "object",
"properties": {
"toggle": {
"$ref": "#/components/schemas/contentWithRichTextAndColorRequest"
},
"type": {
"type": "string",
"const": "toggle"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"toggle"
]
},
{
"title": "Template",
"type": "object",
"properties": {
"template": {
"$ref": "#/components/schemas/contentWithRichTextRequest"
},
"type": {
"type": "string",
"const": "template"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"template"
]
},
{
"title": "Callout",
"type": "object",
"properties": {
"callout": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"icon": {
"$ref": "#/components/schemas/pageIconRequest"
},
"color": {
"$ref": "#/components/schemas/apiColor"
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "callout"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"callout"
]
},
{
"title": "Synced Block",
"type": "object",
"properties": {
"synced_block": {
"type": "object",
"properties": {
"synced_from": {
"title": "Block Id",
"type": [
"object",
"null"
],
"properties": {
"block_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "block_id"
}
},
"additionalProperties": false,
"required": [
"block_id"
]
}
},
"additionalProperties": false,
"required": [
"synced_from"
]
},
"type": {
"type": "string",
"const": "synced_block"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"synced_block"
]
}
]
}
blockObjectResponse
{
"anyOf": [
{
"$ref": "#/components/schemas/paragraphBlockObjectResponse"
},
{
"$ref": "#/components/schemas/heading1BlockObjectResponse"
},
{
"$ref": "#/components/schemas/heading2BlockObjectResponse"
},
{
"$ref": "#/components/schemas/heading3BlockObjectResponse"
},
{
"$ref": "#/components/schemas/heading4BlockObjectResponse"
},
{
"$ref": "#/components/schemas/bulletedListItemBlockObjectResponse"
},
{
"$ref": "#/components/schemas/numberedListItemBlockObjectResponse"
},
{
"$ref": "#/components/schemas/quoteBlockObjectResponse"
},
{
"$ref": "#/components/schemas/toDoBlockObjectResponse"
},
{
"$ref": "#/components/schemas/toggleBlockObjectResponse"
},
{
"$ref": "#/components/schemas/templateBlockObjectResponse"
},
{
"$ref": "#/components/schemas/syncedBlockBlockObjectResponse"
},
{
"$ref": "#/components/schemas/childPageBlockObjectResponse"
},
{
"$ref": "#/components/schemas/childDatabaseBlockObjectResponse"
},
{
"$ref": "#/components/schemas/equationBlockObjectResponse"
},
{
"$ref": "#/components/schemas/codeBlockObjectResponse"
},
{
"$ref": "#/components/schemas/calloutBlockObjectResponse"
},
{
"$ref": "#/components/schemas/dividerBlockObjectResponse"
},
{
"$ref": "#/components/schemas/breadcrumbBlockObjectResponse"
},
{
"$ref": "#/components/schemas/tableOfContentsBlockObjectResponse"
},
{
"$ref": "#/components/schemas/tabBlockObjectResponse"
},
{
"$ref": "#/components/schemas/columnListBlockObjectResponse"
},
{
"$ref": "#/components/schemas/columnBlockObjectResponse"
},
{
"$ref": "#/components/schemas/linkToPageBlockObjectResponse"
},
{
"$ref": "#/components/schemas/tableBlockObjectResponse"
},
{
"$ref": "#/components/schemas/tableRowBlockObjectResponse"
},
{
"$ref": "#/components/schemas/meetingNotesBlockObjectResponse"
},
{
"$ref": "#/components/schemas/embedBlockObjectResponse"
},
{
"$ref": "#/components/schemas/bookmarkBlockObjectResponse"
},
{
"$ref": "#/components/schemas/imageBlockObjectResponse"
},
{
"$ref": "#/components/schemas/videoBlockObjectResponse"
},
{
"$ref": "#/components/schemas/pdfBlockObjectResponse"
},
{
"$ref": "#/components/schemas/fileBlockObjectResponse"
},
{
"$ref": "#/components/schemas/audioBlockObjectResponse"
},
{
"$ref": "#/components/schemas/linkPreviewBlockObjectResponse"
},
{
"$ref": "#/components/schemas/unsupportedBlockObjectResponse"
}
]
}
blockObjectWithSingleLevelOfChildrenRequest
{
"anyOf": [
{
"title": "Embed",
"type": "object",
"properties": {
"embed": {
"anyOf": [
{
"$ref": "#/components/schemas/mediaContentWithUrlAndCaptionRequest"
},
{
"$ref": "#/components/schemas/embedFileUploadRequest"
}
]
},
"type": {
"type": "string",
"const": "embed"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"embed"
]
},
{
"title": "Bookmark",
"type": "object",
"properties": {
"bookmark": {
"$ref": "#/components/schemas/mediaContentWithUrlAndCaptionRequest"
},
"type": {
"type": "string",
"const": "bookmark"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"bookmark"
]
},
{
"title": "Image",
"type": "object",
"properties": {
"image": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "image"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"image"
]
},
{
"title": "Video",
"type": "object",
"properties": {
"video": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "video"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"video"
]
},
{
"title": "Pdf",
"type": "object",
"properties": {
"pdf": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "pdf"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"pdf"
]
},
{
"title": "File",
"type": "object",
"properties": {
"file": {
"$ref": "#/components/schemas/mediaContentWithFileNameAndCaptionRequest"
},
"type": {
"type": "string",
"const": "file"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"file"
]
},
{
"title": "Audio",
"type": "object",
"properties": {
"audio": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionRequest"
},
"type": {
"type": "string",
"const": "audio"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"audio"
]
},
{
"title": "Code",
"type": "object",
"properties": {
"code": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"language": {
"$ref": "#/components/schemas/languageRequest"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text",
"language"
]
},
"type": {
"type": "string",
"const": "code"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"code"
]
},
{
"title": "Equation",
"type": "object",
"properties": {
"equation": {
"$ref": "#/components/schemas/contentWithExpressionRequest"
},
"type": {
"type": "string",
"const": "equation"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"equation"
]
},
{
"title": "Divider",
"type": "object",
"properties": {
"divider": {
"$ref": "#/components/schemas/emptyObject"
},
"type": {
"type": "string",
"const": "divider"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"divider"
]
},
{
"title": "Breadcrumb",
"type": "object",
"properties": {
"breadcrumb": {
"$ref": "#/components/schemas/emptyObject"
},
"type": {
"type": "string",
"const": "breadcrumb"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"breadcrumb"
]
},
{
"title": "Tab",
"type": "object",
"properties": {
"tab": {
"$ref": "#/components/schemas/tabRequestWithTabItemChildren"
},
"type": {
"type": "string",
"const": "tab"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"tab"
]
},
{
"title": "Table Of Contents",
"type": "object",
"properties": {
"table_of_contents": {
"type": "object",
"properties": {
"color": {
"$ref": "#/components/schemas/apiColor"
}
},
"additionalProperties": false
},
"type": {
"type": "string",
"const": "table_of_contents"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"table_of_contents"
]
},
{
"title": "Link To Page",
"type": "object",
"properties": {
"link_to_page": {
"anyOf": [
{
"title": "Page Id",
"type": "object",
"properties": {
"page_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "page_id"
}
},
"additionalProperties": false,
"required": [
"page_id"
]
},
{
"title": "Database Id",
"type": "object",
"properties": {
"database_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "database_id"
}
},
"additionalProperties": false,
"required": [
"database_id"
]
},
{
"title": "Comment Id",
"type": "object",
"properties": {
"comment_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "comment_id"
}
},
"additionalProperties": false,
"required": [
"comment_id"
]
}
]
},
"type": {
"type": "string",
"const": "link_to_page"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"link_to_page"
]
},
{
"title": "Table Row",
"type": "object",
"properties": {
"table_row": {
"$ref": "#/components/schemas/contentWithTableRowRequest"
},
"type": {
"type": "string",
"const": "table_row"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"table_row"
]
},
{
"title": "Heading 1",
"type": "object",
"properties": {
"heading_1": {
"$ref": "#/components/schemas/headerContentWithSingleLevelOfChildrenRequest"
},
"type": {
"type": "string",
"const": "heading_1"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_1"
]
},
{
"title": "Heading 2",
"type": "object",
"properties": {
"heading_2": {
"$ref": "#/components/schemas/headerContentWithSingleLevelOfChildrenRequest"
},
"type": {
"type": "string",
"const": "heading_2"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_2"
]
},
{
"title": "Heading 3",
"type": "object",
"properties": {
"heading_3": {
"$ref": "#/components/schemas/headerContentWithSingleLevelOfChildrenRequest"
},
"type": {
"type": "string",
"const": "heading_3"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_3"
]
},
{
"title": "Heading 4",
"type": "object",
"properties": {
"heading_4": {
"$ref": "#/components/schemas/headerContentWithSingleLevelOfChildrenRequest"
},
"type": {
"type": "string",
"const": "heading_4"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"heading_4"
]
},
{
"title": "Paragraph",
"type": "object",
"properties": {
"paragraph": {
"$ref": "#/components/schemas/paragraphWithSingleLevelOfChildrenRequest"
},
"type": {
"type": "string",
"const": "paragraph"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"paragraph"
]
},
{
"title": "Bulleted List Item",
"type": "object",
"properties": {
"bulleted_list_item": {
"$ref": "#/components/schemas/contentWithSingleLevelOfChildrenRequest"
},
"type": {
"type": "string",
"const": "bulleted_list_item"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"bulleted_list_item"
]
},
{
"title": "Numbered List Item",
"type": "object",
"properties": {
"numbered_list_item": {
"$ref": "#/components/schemas/contentWithSingleLevelOfChildrenRequest"
},
"type": {
"type": "string",
"const": "numbered_list_item"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"numbered_list_item"
]
},
{
"title": "Quote",
"type": "object",
"properties": {
"quote": {
"$ref": "#/components/schemas/contentWithSingleLevelOfChildrenRequest"
},
"type": {
"type": "string",
"const": "quote"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"quote"
]
},
{
"title": "Table",
"type": "object",
"properties": {
"table": {
"$ref": "#/components/schemas/tableRequestWithTableRowChildren"
},
"type": {
"type": "string",
"const": "table"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"table"
]
},
{
"title": "To Do",
"type": "object",
"properties": {
"to_do": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectRequestWithoutChildren"
},
"maxItems": 100
},
"checked": {
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "to_do"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"to_do"
]
},
{
"title": "Toggle",
"type": "object",
"properties": {
"toggle": {
"$ref": "#/components/schemas/contentWithSingleLevelOfChildrenRequest"
},
"type": {
"type": "string",
"const": "toggle"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"toggle"
]
},
{
"title": "Template",
"type": "object",
"properties": {
"template": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectRequestWithoutChildren"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "template"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"template"
]
},
{
"title": "Callout",
"type": "object",
"properties": {
"callout": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectRequestWithoutChildren"
},
"maxItems": 100
},
"icon": {
"$ref": "#/components/schemas/pageIconRequest"
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
},
"type": {
"type": "string",
"const": "callout"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"callout"
]
},
{
"title": "Synced Block",
"type": "object",
"properties": {
"synced_block": {
"type": "object",
"properties": {
"synced_from": {
"title": "Block Id",
"type": [
"object",
"null"
],
"properties": {
"block_id": {
"$ref": "#/components/schemas/idRequest"
},
"type": {
"type": "string",
"const": "block_id"
}
},
"additionalProperties": false,
"required": [
"block_id"
]
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectRequestWithoutChildren"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"synced_from"
]
},
"type": {
"type": "string",
"const": "synced_block"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"synced_block"
]
}
]
}
boardViewConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "board",
"description": "The view type. Must be \"board\"."
},
"group_by": {
"$ref": "#/components/schemas/groupByConfigRequest",
"description": "Group-by configuration for board columns."
},
"sub_group_by": {
"oneOf": [
{
"$ref": "#/components/schemas/groupByConfigRequest"
},
{
"type": "null"
}
],
"description": "Secondary group-by configuration for sub-grouping within columns. Pass null to remove sub-grouping."
},
"properties": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigRequest"
},
"maxItems": 100
},
{
"type": "null"
}
],
"description": "Property visibility and display configuration on cards. Pass null to clear."
},
"cover": {
"oneOf": [
{
"$ref": "#/components/schemas/coverConfigRequest"
},
{
"type": "null"
}
],
"description": "Cover image configuration for cards. Pass null to clear."
},
"cover_size": {
"oneOf": [
{
"type": "string",
"enum": [
"small",
"medium",
"large"
],
"description": "One of: `small`, `medium`, `large`"
},
{
"type": "null"
}
],
"description": "Size of the cover image on cards. Pass null to clear."
},
"cover_aspect": {
"oneOf": [
{
"type": "string",
"enum": [
"contain",
"cover"
],
"description": "One of: `contain`, `cover`"
},
{
"type": "null"
}
],
"description": "Aspect ratio mode for cover images. \"contain\" fits the image, \"cover\" fills the area. Pass null to clear."
},
"card_layout": {
"oneOf": [
{
"type": "string",
"enum": [
"list",
"compact"
],
"description": "One of: `list`, `compact`"
},
{
"type": "null"
}
],
"description": "Card layout mode. \"list\" shows full cards, \"compact\" shows condensed cards. Pass null to clear."
}
},
"required": [
"type",
"group_by"
]
}
boardViewConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "board",
"description": "The view configuration type."
},
"group_by": {
"$ref": "#/components/schemas/groupByConfigResponse",
"description": "Column (horizontal) grouping - required for board view."
},
"sub_group_by": {
"$ref": "#/components/schemas/groupByConfigResponse",
"description": "Sub-grouping (vertical swimlanes within columns)."
},
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigResponse"
},
"maxItems": 100,
"description": "Properties to display on each card."
},
"cover": {
"$ref": "#/components/schemas/coverConfigResponse",
"description": "Card cover/preview image configuration."
},
"cover_size": {
"type": "string",
"enum": [
"small",
"medium",
"large"
],
"description": "Cover image size."
},
"cover_aspect": {
"type": "string",
"enum": [
"contain",
"cover"
],
"description": "Cover image aspect ratio."
},
"card_layout": {
"type": "string",
"enum": [
"list",
"compact"
],
"description": "Card layout mode (list shows all properties, compact shows inline)."
}
},
"additionalProperties": false,
"required": [
"type",
"group_by"
]
}
bookmarkBlockObjectResponse
{
"title": "Bookmark",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "bookmark"
},
"bookmark": {
"$ref": "#/components/schemas/mediaContentWithUrlAndCaptionResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"bookmark",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
booleanFormulaPropertyResponse
{
"title": "Boolean",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "boolean"
},
"boolean": {
"type": [
"boolean",
"null"
]
}
},
"required": [
"type",
"boolean"
]
}
booleanFormulaPropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "boolean",
"description": "Always `boolean`"
},
"boolean": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"boolean"
],
"title": "Boolean"
}
botInfoResponse
{
"type": "object",
"properties": {
"owner": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "user",
"description": "Always `user`"
},
"user": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the user."
},
"object": {
"type": "string",
"const": "user",
"description": "The user object type name."
},
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The name of the user."
},
"avatar_url": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The avatar URL of the user."
},
"type": {
"type": "string",
"const": "person",
"description": "The type of the user."
},
"person": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The email of the person."
},
"email_verified": {
"type": "boolean",
"description": "Whether the person's email is verified."
}
},
"additionalProperties": false,
"description": "The person info of the user."
}
},
"additionalProperties": false,
"required": [
"id",
"object",
"name",
"avatar_url",
"type",
"person"
]
},
{
"$ref": "#/components/schemas/partialUserObjectResponse"
}
],
"description": "Details about the owner of the bot, when the `type` of the owner is `user`. This means the bot is for a integration."
}
},
"additionalProperties": false,
"required": [
"type",
"user"
],
"title": "User"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "workspace",
"description": "Always `workspace`"
},
"workspace": {
"type": "boolean",
"const": true,
"description": "Details about the owner of the bot, when the `type` of the owner is `workspace`. This means the bot is for an internal integration."
}
},
"additionalProperties": false,
"required": [
"type",
"workspace"
],
"title": "Workspace"
}
],
"description": "Details about the owner of the bot."
},
"workspace_id": {
"type": "string",
"description": "The ID of the bot's workspace."
},
"workspace_limits": {
"type": "object",
"properties": {
"max_file_upload_size_in_bytes": {
"type": "integer",
"minimum": 0,
"description": "The maximum allowable size of a file upload, in bytes"
}
},
"additionalProperties": false,
"required": [
"max_file_upload_size_in_bytes"
],
"description": "Limits and restrictions that apply to the bot's workspace"
},
"workspace_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The name of the bot's workspace."
}
},
"additionalProperties": false,
"required": [
"owner",
"workspace_id",
"workspace_limits",
"workspace_name"
]
}
botUserObjectResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "bot",
"description": "Indicates this user is a bot."
},
"bot": {
"oneOf": [
{
"$ref": "#/components/schemas/emptyObject"
},
{
"$ref": "#/components/schemas/botInfoResponse"
}
],
"description": "Details about the bot, when the `type` of the user is `bot`."
}
},
"required": [
"type",
"bot"
],
"title": "Bot"
}
breadcrumbBlockObjectResponse
{
"title": "Breadcrumb",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "breadcrumb"
},
"breadcrumb": {
"$ref": "#/components/schemas/emptyObject"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"breadcrumb",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
bulletedListItemBlockObjectResponse
{
"title": "Bulleted List Item",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "bulleted_list_item"
},
"bulleted_list_item": {
"$ref": "#/components/schemas/contentWithRichTextAndColorResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"bulleted_list_item",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
buttonPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "button",
"description": "Always `button`"
},
"button": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"button"
],
"title": "Button"
}
buttonPropertyItemObjectResponse
{
"title": "Button",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "button"
},
"button": {
"$ref": "#/components/schemas/emptyObject"
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"button",
"object",
"id"
]
}
buttonSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "button",
"description": "Always `button`"
},
"button": {
"$ref": "#/components/schemas/emptyObject"
}
},
"additionalProperties": false,
"required": [
"type",
"button"
],
"title": "Button"
}
calendarViewConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "calendar",
"description": "The view type. Must be \"calendar\"."
},
"date_property_id": {
"type": "string",
"description": "Property ID of the date property used to position items on the calendar."
},
"properties": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigRequest"
},
"maxItems": 100
},
{
"type": "null"
}
],
"description": "Property visibility and display configuration on calendar cards. Pass null to clear."
},
"view_range": {
"oneOf": [
{
"type": "string",
"enum": [
"week",
"month"
],
"description": "One of: `week`, `month`"
},
{
"type": "null"
}
],
"description": "Default calendar range. \"week\" shows a week view, \"month\" shows a month view. Pass null to clear."
},
"show_weekends": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether to show weekend days. Pass null to clear."
}
},
"required": [
"type",
"date_property_id"
]
}
calendarViewConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "calendar",
"description": "The view configuration type."
},
"date_property_id": {
"type": "string",
"description": "Date property used to position items on the calendar - required."
},
"date_property_name": {
"type": "string",
"description": "Date property name (convenience field)."
},
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigResponse"
},
"maxItems": 100,
"description": "Properties to display on calendar event cards."
},
"view_range": {
"type": "string",
"enum": [
"week",
"month"
],
"description": "Calendar view range."
},
"show_weekends": {
"type": "boolean",
"description": "Whether to show weekend days."
}
},
"additionalProperties": false,
"required": [
"type",
"date_property_id"
]
}
calloutBlockObjectResponse
{
"title": "Callout",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "callout"
},
"callout": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"icon": {
"anyOf": [
{
"$ref": "#/components/schemas/pageIconResponse"
},
{
"type": "null"
}
]
}
},
"required": [
"rich_text",
"color",
"icon"
]
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"callout",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
chartAggregationRequest
{
"type": "object",
"properties": {
"aggregator": {
"type": "string",
"enum": [
"count",
"count_values",
"sum",
"average",
"median",
"min",
"max",
"range",
"unique",
"empty",
"not_empty",
"percent_empty",
"percent_not_empty",
"checked",
"unchecked",
"percent_checked",
"percent_unchecked",
"earliest_date",
"latest_date",
"date_range"
],
"description": "The aggregation operator. \"count\" counts all rows and does not require a property_id. All other operators require a property_id."
},
"property_id": {
"type": "string",
"description": "The property to aggregate on. Required for all operators except \"count\"."
}
},
"required": [
"aggregator"
]
}
chartAggregationResponse
{
"type": "object",
"properties": {
"aggregator": {
"type": "string",
"enum": [
"count",
"count_values",
"sum",
"average",
"median",
"min",
"max",
"range",
"unique",
"empty",
"not_empty",
"percent_empty",
"percent_not_empty",
"checked",
"unchecked",
"percent_checked",
"percent_unchecked",
"earliest_date",
"latest_date",
"date_range"
],
"description": "The aggregation operator. \"count\" counts all rows and does not require a property_id. All other operators require a property_id."
},
"property_id": {
"type": "string",
"description": "The property to aggregate on. Required for all operators except \"count\"."
}
},
"additionalProperties": false,
"required": [
"aggregator"
]
}
chartReferenceLineRequest
{
"type": "object",
"properties": {
"value": {
"type": "number",
"description": "The y-axis value where the reference line is drawn."
},
"label": {
"type": "string",
"description": "Label displayed alongside the reference line."
},
"color": {
"type": "string",
"enum": [
"gray",
"lightgray",
"brown",
"yellow",
"orange",
"green",
"blue",
"purple",
"pink",
"red"
],
"description": "Color of the reference line."
},
"dash_style": {
"type": "string",
"enum": [
"solid",
"dash"
],
"description": "Line style: \"solid\" for a continuous line, \"dash\" for a dashed line."
},
"id": {
"type": "string",
"description": "Unique identifier for the reference line. Auto-generated if omitted."
}
},
"required": [
"value",
"label",
"color",
"dash_style"
]
}
chartReferenceLineResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the reference line."
},
"value": {
"type": "number",
"description": "The y-axis value where the reference line is drawn."
},
"label": {
"type": "string",
"description": "Label displayed alongside the reference line."
},
"color": {
"type": "string",
"enum": [
"gray",
"lightgray",
"brown",
"yellow",
"orange",
"green",
"blue",
"purple",
"pink",
"red"
],
"description": "Color of the reference line."
},
"dash_style": {
"type": "string",
"enum": [
"solid",
"dash"
],
"description": "Line style: \"solid\" for a continuous line, \"dash\" for a dashed line."
}
},
"additionalProperties": false,
"required": [
"id",
"value",
"label",
"color",
"dash_style"
]
}
chartViewConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "chart",
"description": "The view type. Must be \"chart\"."
},
"chart_type": {
"type": "string",
"enum": [
"column",
"bar",
"line",
"donut",
"number"
],
"description": "The chart type."
},
"x_axis": {
"oneOf": [
{
"$ref": "#/components/schemas/groupByConfigRequest"
},
{
"type": "null"
}
],
"description": "X-axis grouping configuration for grouped data mode. Pass null to clear."
},
"y_axis": {
"oneOf": [
{
"$ref": "#/components/schemas/chartAggregationRequest"
},
{
"type": "null"
}
],
"description": "Y-axis aggregation for grouped data mode. Pass null to clear."
},
"x_axis_property_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Property ID for x-axis values in results mode. Pass null to clear."
},
"y_axis_property_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Property ID for y-axis values in results mode. Pass null to clear."
},
"value": {
"oneOf": [
{
"$ref": "#/components/schemas/chartAggregationRequest"
},
{
"type": "null"
}
],
"description": "Aggregation for number charts. Pass null to clear."
},
"sort": {
"oneOf": [
{
"type": "string",
"enum": [
"manual",
"x_ascending",
"x_descending",
"y_ascending",
"y_descending"
],
"description": "One of: `manual`, `x_ascending`, `x_descending`, `y_ascending`, `y_descending`"
},
{
"type": "null"
}
],
"description": "Sort order for chart data. Pass null to clear."
},
"color_theme": {
"oneOf": [
{
"type": "string",
"enum": [
"gray",
"blue",
"yellow",
"green",
"purple",
"teal",
"orange",
"pink",
"red",
"auto",
"colorful"
],
"description": "One of: `gray`, `blue`, `yellow`, `green`, `purple`, `teal`, `orange`, `pink`, `red`, `auto`, `colorful`"
},
{
"type": "null"
}
],
"description": "Color theme. Pass null to clear."
},
"height": {
"oneOf": [
{
"type": "string",
"enum": [
"small",
"medium",
"large",
"extra_large"
],
"description": "One of: `small`, `medium`, `large`, `extra_large`"
},
{
"type": "null"
}
],
"description": "Chart height. Pass null to clear."
},
"hide_empty_groups": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether to hide groups with no data. Pass null to clear."
},
"legend_position": {
"oneOf": [
{
"type": "string",
"enum": [
"off",
"bottom",
"side"
],
"description": "One of: `off`, `bottom`, `side`"
},
{
"type": "null"
}
],
"description": "Legend position. Pass null to clear."
},
"show_data_labels": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether to show data labels. Pass null to clear."
},
"axis_labels": {
"oneOf": [
{
"type": "string",
"enum": [
"none",
"x_axis",
"y_axis",
"both"
],
"description": "One of: `none`, `x_axis`, `y_axis`, `both`"
},
{
"type": "null"
}
],
"description": "Which axis labels to show. Pass null to clear."
},
"grid_lines": {
"oneOf": [
{
"type": "string",
"enum": [
"none",
"horizontal",
"vertical",
"both"
],
"description": "One of: `none`, `horizontal`, `vertical`, `both`"
},
{
"type": "null"
}
],
"description": "Which grid lines to show. Pass null to clear."
},
"cumulative": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Cumulative values (line only). Pass null to clear."
},
"smooth_line": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Smooth line curves (line only). Pass null to clear."
},
"hide_line_fill_area": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Hide area fill (line only). Pass null to clear."
},
"group_style": {
"oneOf": [
{
"type": "string",
"enum": [
"normal",
"percent",
"side_by_side"
],
"description": "One of: `normal`, `percent`, `side_by_side`"
},
{
"type": "null"
}
],
"description": "Grouped/stacked bar display style. Pass null to clear."
},
"y_axis_min": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Custom y-axis minimum. Pass null to clear."
},
"y_axis_max": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Custom y-axis maximum. Pass null to clear."
},
"donut_labels": {
"oneOf": [
{
"type": "string",
"enum": [
"none",
"value",
"name",
"name_and_value"
],
"description": "One of: `none`, `value`, `name`, `name_and_value`"
},
{
"type": "null"
}
],
"description": "Donut slice labels. Pass null to clear."
},
"hide_title": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Hide title (number only). Pass null to clear."
},
"stack_by": {
"oneOf": [
{
"$ref": "#/components/schemas/groupByConfigRequest"
},
{
"type": "null"
}
],
"description": "Stack-by grouping for stacked/grouped bar charts. Pass null to clear."
},
"reference_lines": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/chartReferenceLineRequest"
},
"maxItems": 100
},
{
"type": "null"
}
],
"description": "Reference lines on the chart. Pass null to clear."
},
"caption": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Chart caption text. Pass null to clear."
},
"color_by_value": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether to color chart elements by their numeric value (gradient coloring). Pass null to clear."
}
},
"required": [
"type",
"chart_type"
]
}
chartViewConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "chart",
"description": "The view configuration type."
},
"chart_type": {
"type": "string",
"enum": [
"column",
"bar",
"line",
"donut",
"number"
],
"description": "The chart type: column (vertical bars), bar (horizontal bars), line, donut, or number (single value display)."
},
"x_axis": {
"oneOf": [
{
"$ref": "#/components/schemas/groupByConfigResponse"
},
{
"type": "null"
}
],
"description": "X-axis grouping configuration for column/bar/line/donut charts using grouped data. Null when using results (raw property values) mode."
},
"y_axis": {
"oneOf": [
{
"$ref": "#/components/schemas/chartAggregationResponse"
},
{
"type": "null"
}
],
"description": "Y-axis aggregation for column/bar/line/donut charts using grouped data. Null when using results mode."
},
"x_axis_property_id": {
"type": "string",
"description": "Property ID for the x-axis name values when using results (raw property values) mode."
},
"y_axis_property_id": {
"type": "string",
"description": "Property ID for the y-axis numeric values when using results (raw property values) mode."
},
"value": {
"$ref": "#/components/schemas/chartAggregationResponse",
"description": "Aggregation configuration for number charts (single value display)."
},
"sort": {
"type": "string",
"enum": [
"manual",
"x_ascending",
"x_descending",
"y_ascending",
"y_descending"
],
"description": "Sort order for chart data."
},
"color_theme": {
"type": "string",
"enum": [
"gray",
"blue",
"yellow",
"green",
"purple",
"teal",
"orange",
"pink",
"red",
"auto",
"colorful"
],
"description": "Color theme for the chart."
},
"height": {
"type": "string",
"enum": [
"small",
"medium",
"large",
"extra_large"
],
"description": "Chart height."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups with no data on the x-axis."
},
"legend_position": {
"type": "string",
"enum": [
"off",
"bottom",
"side"
],
"description": "Legend display position. \"off\" hides the legend."
},
"show_data_labels": {
"type": "boolean",
"description": "Whether to show data value labels on chart elements."
},
"axis_labels": {
"type": "string",
"enum": [
"none",
"x_axis",
"y_axis",
"both"
],
"description": "Which axis labels to display."
},
"grid_lines": {
"type": "string",
"enum": [
"none",
"horizontal",
"vertical",
"both"
],
"description": "Which grid lines to display."
},
"cumulative": {
"type": "boolean",
"description": "Whether to show cumulative values (line charts only)."
},
"smooth_line": {
"type": "boolean",
"description": "Whether to use smooth curves (line charts only)."
},
"hide_line_fill_area": {
"type": "boolean",
"description": "Whether to hide the shaded area under the line (line charts only)."
},
"group_style": {
"type": "string",
"enum": [
"normal",
"percent",
"side_by_side"
],
"description": "How grouped/stacked bars are displayed. \"normal\" stacks values, \"percent\" normalizes to 100%, \"side_by_side\" places bars next to each other."
},
"y_axis_min": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Custom minimum value for the y-axis. Null clears the override."
},
"y_axis_max": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Custom maximum value for the y-axis. Null clears the override."
},
"donut_labels": {
"type": "string",
"enum": [
"none",
"value",
"name",
"name_and_value"
],
"description": "What to display on donut chart slices."
},
"hide_title": {
"type": "boolean",
"description": "Whether to hide the title label (number charts only)."
},
"stack_by": {
"oneOf": [
{
"$ref": "#/components/schemas/groupByConfigResponse"
},
{
"type": "null"
}
],
"description": "Stack-by grouping configuration for stacked/grouped bar charts (column/bar/line only). Null when not stacked."
},
"reference_lines": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/chartReferenceLineResponse"
},
"maxItems": 100
},
{
"type": "null"
}
],
"description": "Reference lines drawn on the chart. Null when no reference lines are configured."
},
"caption": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Text caption displayed below the chart. Null when no caption is shown."
},
"color_by_value": {
"type": "boolean",
"description": "Whether chart elements are colored by their numeric value (gradient coloring)."
}
},
"additionalProperties": false,
"required": [
"type",
"chart_type"
]
}
checkboxDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "checkbox",
"description": "Always `checkbox`"
},
"checkbox": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"checkbox"
],
"title": "Checkbox"
}
checkboxGroupByConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "checkbox",
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"required": [
"type",
"property_id",
"sort"
]
}
checkboxGroupByConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "checkbox",
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups (only manual for checkbox)."
},
"property_name": {
"type": "string",
"description": "Property name (convenience field)."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"additionalProperties": false,
"required": [
"type",
"property_id",
"sort"
]
}
checkboxPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "checkbox",
"description": "Always `checkbox`"
},
"checkbox": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"checkbox"
],
"title": "Checkbox"
}
checkboxPropertyFilter
{
"anyOf": [
{
"type": "object",
"properties": {
"equals": {
"type": "boolean"
}
},
"required": [
"equals"
]
},
{
"type": "object",
"properties": {
"does_not_equal": {
"type": "boolean"
}
},
"required": [
"does_not_equal"
]
}
]
}
checkboxPropertyItemObjectResponse
{
"title": "Checkbox",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "checkbox"
},
"checkbox": {
"type": "boolean"
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"checkbox",
"object",
"id"
]
}
checkboxSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "checkbox",
"description": "Always `checkbox`"
},
"checkbox": {
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"type",
"checkbox"
],
"title": "Checkbox"
}
childDatabaseBlockObjectResponse
{
"title": "Child Database",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "child_database"
},
"child_database": {
"$ref": "#/components/schemas/titleObjectResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"child_database",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
childPageBlockObjectResponse
{
"title": "Child Page",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "child_page"
},
"child_page": {
"$ref": "#/components/schemas/titleObjectResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"child_page",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
codeBlockObjectResponse
{
"title": "Code",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "code"
},
"code": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"language": {
"$ref": "#/components/schemas/languageRequest"
}
},
"required": [
"rich_text",
"caption",
"language"
]
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"code",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
columnBlockObjectResponse
{
"title": "Column",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "column"
},
"column": {
"$ref": "#/components/schemas/columnResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"column",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
columnBlockWithChildrenRequest
{
"title": "Column",
"type": "object",
"properties": {
"column": {
"$ref": "#/components/schemas/columnWithChildrenRequest"
},
"type": {
"type": "string",
"const": "column"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"column"
]
}
columnListBlockObjectResponse
{
"title": "Column List",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "column_list"
},
"column_list": {
"$ref": "#/components/schemas/emptyObject"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"column_list",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
columnListRequest
{
"type": "object",
"properties": {
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/columnBlockWithChildrenRequest"
},
"maxItems": 100,
"minItems": 2
}
},
"additionalProperties": false,
"required": [
"children"
]
}
columnResponse
{
"type": "object",
"properties": {
"width_ratio": {
"description": "Ratio between 0 and 1 of the width of this column relative to all columns in the list. If not provided, uses an equal width.",
"examples": [
0.5
],
"type": "number"
}
}
}
columnWithChildrenRequest
{
"type": "object",
"properties": {
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectWithSingleLevelOfChildrenRequest"
},
"maxItems": 100
},
"width_ratio": {
"description": "Ratio between 0 and 1 of the width of this column relative to all columns in the list. If not provided, uses an equal width.",
"examples": [
0.5
],
"type": "number",
"exclusiveMinimum": 0,
"exclusiveMaximum": 1
}
},
"additionalProperties": false,
"required": [
"children"
]
}
contentPositionSchema
{
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "after_block"
},
"after_block": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idRequest"
}
},
"required": [
"id"
]
}
},
"required": [
"type",
"after_block"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "start"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "end"
}
},
"required": [
"type"
]
}
]
}
contentWithExpressionRequest
{
"type": "object",
"properties": {
"expression": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"expression"
]
}
contentWithRichTextAndColorAndListResponse
{
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"list_start_index": {
"type": "integer",
"minimum": 1
},
"list_format": {
"$ref": "#/components/schemas/numberedListFormat"
}
},
"required": [
"rich_text",
"color"
]
}
contentWithRichTextAndColorRequest
{
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
}
contentWithRichTextAndColorResponse
{
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
}
},
"required": [
"rich_text",
"color"
]
}
contentWithRichTextColorAndIconRequest
{
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"icon": {
"$ref": "#/components/schemas/pageIconRequest"
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
}
contentWithRichTextColorAndIconResponse
{
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"icon": {
"anyOf": [
{
"$ref": "#/components/schemas/pageIconResponse"
},
{
"type": "null"
}
]
}
},
"required": [
"rich_text",
"color",
"icon"
]
}
contentWithRichTextColorAndIconUpdateRequest
{
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"icon": {
"$ref": "#/components/schemas/pageIconRequest"
},
"color": {
"$ref": "#/components/schemas/apiColor"
}
}
}
contentWithRichTextRequest
{
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
}
contentWithSingleLevelOfChildrenRequest
{
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectRequestWithoutChildren"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
}
contentWithTableResponse
{
"type": "object",
"properties": {
"has_column_header": {
"type": "boolean"
},
"has_row_header": {
"type": "boolean"
},
"table_width": {
"type": "integer",
"minimum": 1
}
},
"required": [
"has_column_header",
"has_row_header",
"table_width"
]
}
contentWithTableRowRequest
{
"type": "object",
"properties": {
"cells": {
"type": "array",
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"cells"
]
}
contentWithTableRowResponse
{
"type": "object",
"properties": {
"cells": {
"type": "array",
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"maxItems": 100
}
},
"required": [
"cells"
]
}
coverConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"page_cover",
"page_content",
"property"
],
"description": "Source of the cover image."
},
"property_id": {
"type": "string",
"description": "Property ID when type is \"property\"."
}
},
"required": [
"type"
]
}
coverConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"page_cover",
"page_content",
"page_content_first",
"property"
],
"description": "Source of the cover image."
},
"property_id": {
"type": "string",
"description": "Property ID when type is \"property\"."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
createDatabaseForViewRequest
{
"type": "object",
"properties": {
"parent": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page_id",
"description": "The parent type. Must be \"page_id\"."
},
"page_id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of the page to create the database on."
}
},
"required": [
"type",
"page_id"
],
"description": "The parent page for the new linked database block."
},
"position": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "after_block",
"description": "Position type. \"after_block\" places the new database after the specified block in the page."
},
"block_id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of an existing block in the page. The new database will be placed after this block."
}
},
"required": [
"type",
"block_id"
],
"description": "Where to place the new database block within the parent page. Defaults to appending at the end."
}
},
"required": [
"parent"
]
}
createViewQueryRequest
{
"type": "object",
"properties": {
"page_size": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "The number of results to return per page. Maximum: 100"
}
}
}
createViewRequest
{
"type": "object",
"properties": {
"data_source_id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of the data source this view should be scoped to."
},
"name": {
"type": "string",
"description": "The name of the view."
},
"type": {
"$ref": "#/components/schemas/viewTypeRequest",
"description": "The type of view to create."
},
"database_id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of the database to create a view in. Mutually exclusive with view_id and create_database."
},
"view_id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of a dashboard view to add this view to as a widget. Mutually exclusive with database_id and create_database."
},
"filter": {
"$ref": "#/components/schemas/viewFilterRequest",
"description": "Filter to apply to the view. Uses the same format as the data source query filter."
},
"sorts": {
"$ref": "#/components/schemas/viewSortsRequest",
"description": "Sorts to apply to the view. Uses the same format as the data source query sorts."
},
"quick_filters": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/quickFilterConditionRequest"
},
"description": "Quick filters to pin in the view's filter bar. Keys are property names or IDs. Values are filter conditions (same shape as a property filter but without the property field). Each quick filter appears as a clickable pill above the view, independent of the advanced filter."
},
"create_database": {
"$ref": "#/components/schemas/createDatabaseForViewRequest",
"description": "Create a new linked database block on a page and add the view to it. Mutually exclusive with database_id and view_id."
},
"configuration": {
"$ref": "#/components/schemas/viewConfigRequest",
"description": "View presentation configuration. The type field must match the view type."
},
"position": {
"$ref": "#/components/schemas/viewPositionRequest",
"description": "Where to place the new view in the database's view tab bar. Only applicable when database_id is provided. Defaults to \"end\" (append)."
},
"placement": {
"$ref": "#/components/schemas/widgetPlacementRequest",
"description": "Where to place the new widget in a dashboard view. Only applicable when view_id is provided. Defaults to creating a new row at the end."
}
},
"required": [
"data_source_id",
"name",
"type"
]
}
createdByDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "created_by",
"description": "Always `created_by`"
},
"created_by": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"created_by"
],
"title": "Created By"
}
createdByPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "created_by",
"description": "Always `created_by`"
},
"created_by": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"created_by"
],
"title": "Created By"
}
createdByPropertyItemObjectResponse
{
"title": "Created By",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "created_by"
},
"created_by": {
"anyOf": [
{
"$ref": "#/components/schemas/partialUserObjectResponse"
},
{
"$ref": "#/components/schemas/userObjectResponse"
}
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"created_by",
"object",
"id"
]
}
createdBySimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "created_by",
"description": "Always `created_by`"
},
"created_by": {
"$ref": "#/components/schemas/userValueResponse"
}
},
"additionalProperties": false,
"required": [
"type",
"created_by"
],
"title": "Created By"
}
createdTimeDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "created_time",
"description": "Always `created_time`"
},
"created_time": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"created_time"
],
"title": "Created Time"
}
createdTimePropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "created_time",
"description": "Always `created_time`"
},
"created_time": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"created_time"
],
"title": "Created Time"
}
createdTimePropertyItemObjectResponse
{
"title": "Created Time",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "created_time"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"created_time",
"object",
"id"
]
}
createdTimeSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "created_time",
"description": "Always `created_time`"
},
"created_time": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false,
"required": [
"type",
"created_time"
],
"title": "Created Time"
}
customEmojiPageIconRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "custom_emoji",
"description": "Always `custom_emoji`"
},
"custom_emoji": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of the custom emoji."
},
"name": {
"type": "string",
"description": "The name of the custom emoji."
},
"url": {
"type": "string",
"description": "The URL of the custom emoji."
}
},
"required": [
"id"
]
}
},
"required": [
"custom_emoji"
],
"title": "Custom Emoji"
}
customEmojiPageIconResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "custom_emoji",
"description": "Type of icon. In this case, a custom emoji."
},
"custom_emoji": {
"$ref": "#/components/schemas/customEmojiResponse",
"description": "The custom emoji details for the icon."
}
},
"additionalProperties": false,
"required": [
"type",
"custom_emoji"
],
"title": "Custom Emoji"
}
customEmojiResponse
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the custom emoji."
},
"name": {
"type": "string",
"description": "The name of the custom emoji."
},
"url": {
"type": "string",
"description": "The URL of the custom emoji."
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"url"
]
}
dashboardRowResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of this row module."
},
"widgets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dashboardWidgetResponse"
},
"maxItems": 100,
"description": "The widget modules within this row."
},
"height": {
"type": "integer",
"description": "Fixed height of the row in pixels."
}
},
"additionalProperties": false,
"required": [
"id",
"widgets"
]
}
dashboardViewConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "dashboard",
"description": "The view configuration type."
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dashboardRowResponse"
},
"maxItems": 100,
"description": "The rows that make up the dashboard layout. Each row contains one or more widget modules."
}
},
"additionalProperties": false,
"required": [
"type",
"rows"
]
}
dashboardWidgetResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of this widget module."
},
"view_id": {
"type": "string",
"description": "The ID of the collection view rendered by this widget."
},
"width": {
"type": "integer",
"description": "Width of the widget in a 12-column grid (1-12). 12 means full width."
},
"row_index": {
"type": "integer",
"description": "The 0-based index of the row this widget belongs to. Widgets in the same row share the same row_index."
}
},
"additionalProperties": false,
"required": [
"id",
"view_id"
]
}
dataSourceContentUpdatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "data_source.content_updated",
"description": "Always `data_source.content_updated`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity whose content was updated."
},
"updated_blocks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/webhookUpdatedBlock"
},
"maxItems": 100,
"description": "The blocks that were updated in this event."
}
},
"additionalProperties": false,
"required": [
"parent",
"updated_blocks"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
dataSourceCreatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "data_source.created",
"description": "Always `data_source.created`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
dataSourceDeletedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "data_source.deleted",
"description": "Always `data_source.deleted`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
dataSourceMovedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "data_source.moved",
"description": "Always `data_source.moved`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
dataSourceObjectResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "data_source",
"description": "The data source object type name."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the data source."
},
"title": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100,
"description": "The title of the data source."
},
"description": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100,
"description": "The description of the data source."
},
"parent": {
"$ref": "#/components/schemas/parentOfDataSourceResponse",
"description": "The parent of the data source."
},
"database_parent": {
"$ref": "#/components/schemas/parentOfDatabaseResponse",
"description": "The parent of the data source's containing database. This is typically a page, block, or workspace, but can be another database in the case of wikis."
},
"is_inline": {
"type": "boolean",
"description": "Whether the data source is inline."
},
"database_type": {
"oneOf": [
{
"type": "string",
"enum": [
"tasks",
"projects",
"sprints",
"docs",
"wiki",
"meetings",
"meeting_notes",
"skills",
"github_prs"
],
"description": "One of: `tasks`, `projects`, `sprints`, `docs`, `wiki`, `meetings`, `meeting_notes`, `skills`, `github_prs`"
},
{
"type": "null"
}
],
"description": "The type of typed database this data source belongs to, or `null` for a regular data source."
},
"in_trash": {
"type": "boolean",
"description": "Whether the data source is in the trash."
},
"created_time": {
"type": "string",
"format": "date-time",
"description": "The time when the data source was created."
},
"last_edited_time": {
"type": "string",
"format": "date-time",
"description": "The time when the data source was last edited."
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse",
"description": "The user who created the data source."
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse",
"description": "The user who last edited the data source."
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/databasePropertyConfigResponse"
},
"description": "The properties schema of the data source."
},
"icon": {
"oneOf": [
{
"$ref": "#/components/schemas/pageIconResponse"
},
{
"type": "null"
}
],
"description": "The icon of the data source."
},
"cover": {
"oneOf": [
{
"$ref": "#/components/schemas/pageCoverResponse"
},
{
"type": "null"
}
],
"description": "The cover of the data source."
},
"url": {
"type": "string",
"description": "The URL of the data source."
},
"public_url": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The public URL of the data source if it is publicly accessible."
}
},
"additionalProperties": false,
"required": [
"object",
"id",
"title",
"description",
"parent",
"database_parent",
"is_inline",
"database_type",
"in_trash",
"created_time",
"last_edited_time",
"created_by",
"last_edited_by",
"properties",
"icon",
"cover",
"url",
"public_url"
]
}
dataSourceParentResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "data_source_id",
"description": "The parent type."
},
"data_source_id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the parent data source."
},
"database_id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the data source's parent database."
}
},
"additionalProperties": false,
"required": [
"type",
"data_source_id",
"database_id"
]
}
dataSourceReferenceResponse
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the data source."
},
"name": {
"type": "string",
"description": "The name of the data source."
}
},
"additionalProperties": false,
"required": [
"id",
"name"
]
}
dataSourceSchemaUpdatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "data_source.schema_updated",
"description": "Always `data_source.schema_updated`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the database whose schema was updated."
},
"updated_properties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the database property that changed."
},
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The name of the database property, or `null` if deleted."
},
"action": {
"type": "string",
"enum": [
"created",
"updated",
"deleted"
],
"description": "The action taken on the property."
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"action"
]
},
"maxItems": 100,
"description": "The database properties that were created, updated, or deleted."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
dataSourceUndeletedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "data_source.undeleted",
"description": "Always `data_source.undeleted`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
dataSourceViewObjectResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "view",
"description": "The object type name."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the view."
},
"parent": {
"$ref": "#/components/schemas/databaseParentResponse",
"description": "The parent database of the view."
},
"name": {
"type": "string",
"description": "The name of the view."
},
"type": {
"type": "string",
"enum": [
"table",
"board",
"list",
"calendar",
"timeline",
"gallery",
"form",
"chart",
"map",
"dashboard"
],
"description": "The view type."
},
"created_time": {
"type": "string",
"format": "date-time",
"description": "The time when the view was created."
},
"last_edited_time": {
"type": "string",
"format": "date-time",
"description": "The time when the view was last edited."
},
"url": {
"type": "string",
"description": "Canonical deep link to the view in Notion."
},
"data_source_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The ID of the data source this view is scoped to, or null for dashboard views."
},
"created_by": {
"oneOf": [
{
"$ref": "#/components/schemas/partialUserObjectResponse"
},
{
"type": "null"
}
],
"description": "The user who created the view, or null if not available."
},
"last_edited_by": {
"oneOf": [
{
"$ref": "#/components/schemas/partialUserObjectResponse"
},
{
"type": "null"
}
],
"description": "The user who last edited the view, or null if not available."
},
"filter": {
"oneOf": [
{
"$ref": "#/components/schemas/viewFilterResponse"
},
{
"type": "null"
}
],
"description": "The filter applied to this view (same shape as data source query filter)."
},
"sorts": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/viewSortResponse"
},
"maxItems": 100
},
{
"type": "null"
}
],
"description": "The sorts applied to this view (same shape as data source query sorts)."
},
"quick_filters": {
"oneOf": [
{
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/quickFilterConditionResponse"
}
},
{
"type": "null"
}
],
"description": "Quick filters pinned to the view's filter bar. Keys are property IDs. Values are filter conditions (same shape as a property filter without the property field). Null when no quick filters are set."
},
"configuration": {
"oneOf": [
{
"$ref": "#/components/schemas/viewConfigResponse"
},
{
"type": "null"
}
],
"description": "View presentation configuration."
},
"dashboard_view_id": {
"type": "string",
"description": "For dashboard widget views, the ID of the parent dashboard view. Only present when this view is a widget inside a dashboard."
}
},
"additionalProperties": false,
"required": [
"object",
"id",
"parent",
"name",
"type",
"created_time",
"last_edited_time",
"url"
]
}
dataSourceViewReferenceResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "view",
"description": "The object type name."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the view."
}
},
"additionalProperties": false,
"required": [
"object",
"id"
]
}
databaseContentUpdatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database.content_updated",
"description": "Always `database.content_updated`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity whose content was updated."
},
"updated_blocks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/webhookUpdatedBlock"
},
"maxItems": 100,
"description": "The blocks that were updated in this event."
}
},
"additionalProperties": false,
"required": [
"parent",
"updated_blocks"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
databaseCreatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database.created",
"description": "Always `database.created`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
databaseDeletedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database.deleted",
"description": "Always `database.deleted`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
databaseMovedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database.moved",
"description": "Always `database.moved`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
databaseObjectResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "database",
"description": "The database object type name."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the database."
},
"title": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100,
"description": "The title of the database."
},
"description": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100,
"description": "The description of the database."
},
"parent": {
"$ref": "#/components/schemas/parentOfDatabaseResponse",
"description": "The parent of the database. This is typically a page, block, or workspace, but can be another database in the case of wikis."
},
"is_inline": {
"type": "boolean",
"description": "Whether the database is inline."
},
"database_type": {
"oneOf": [
{
"type": "string",
"enum": [
"tasks",
"projects",
"sprints",
"docs",
"wiki",
"meetings",
"meeting_notes",
"skills",
"github_prs"
],
"description": "One of: `tasks`, `projects`, `sprints`, `docs`, `wiki`, `meetings`, `meeting_notes`, `skills`, `github_prs`"
},
{
"type": "null"
}
],
"description": "The type of typed database, such as `tasks`, `projects`, or `skills`, or `null` for a regular database. Create a database accepts `tasks`, `projects`, and `skills`."
},
"in_trash": {
"type": "boolean",
"description": "Whether the database is in the trash."
},
"is_locked": {
"type": "boolean",
"description": "Whether the database is locked from editing in the Notion app UI."
},
"created_time": {
"type": "string",
"format": "date-time",
"description": "The time when the database was created."
},
"last_edited_time": {
"type": "string",
"format": "date-time",
"description": "The time when the database was last edited."
},
"data_sources": {
"type": "array",
"items": {
"$ref": "#/components/schemas/dataSourceReferenceResponse"
},
"maxItems": 100,
"description": "The data sources of the database."
},
"icon": {
"oneOf": [
{
"$ref": "#/components/schemas/pageIconResponse"
},
{
"type": "null"
}
],
"description": "The icon of the database."
},
"cover": {
"oneOf": [
{
"$ref": "#/components/schemas/pageCoverResponse"
},
{
"type": "null"
}
],
"description": "The cover of the database."
},
"url": {
"type": "string",
"description": "The URL of the database."
},
"public_url": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The public URL of the database if it is publicly accessible."
}
},
"additionalProperties": false,
"required": [
"object",
"id",
"title",
"description",
"parent",
"is_inline",
"database_type",
"in_trash",
"is_locked",
"created_time",
"last_edited_time",
"data_sources",
"icon",
"cover",
"url",
"public_url"
]
}
databaseParentResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id",
"description": "The parent type."
},
"database_id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the parent database."
}
},
"additionalProperties": false,
"required": [
"type",
"database_id"
]
}
databasePropertyConfigResponse
{
"allOf": [
{
"$ref": "#/components/schemas/databasePropertyConfigResponseCommon"
},
{
"oneOf": [
{
"$ref": "#/components/schemas/numberDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/formulaDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/selectDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/multiSelectDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/statusDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/relationDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/rollupDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/uniqueIdDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/titleDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/richTextDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/urlDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/peopleDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/filesDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/emailDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/phoneNumberDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/dateDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/checkboxDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/createdByDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/createdTimeDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/lastEditedByDatabasePropertyConfigResponse"
},
{
"$ref": "#/components/schemas/lastEditedTimeDatabasePropertyConfigResponse"
}
]
}
]
}
databasePropertyConfigResponseCommon
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the property."
},
"name": {
"type": "string",
"description": "The name of the property."
},
"description": {
"oneOf": [
{
"$ref": "#/components/schemas/propertyDescriptionRequest"
},
{
"type": "null"
}
],
"description": "The description of the property."
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"description"
]
}
databasePropertyRelationConfigResponse
{
"allOf": [
{
"$ref": "#/components/schemas/databasePropertyRelationConfigResponseCommon"
},
{
"oneOf": [
{
"$ref": "#/components/schemas/singlePropertyDatabasePropertyRelationConfigResponse"
},
{
"$ref": "#/components/schemas/dualPropertyDatabasePropertyRelationConfigResponse"
}
]
}
]
}
databasePropertyRelationConfigResponseCommon
{
"type": "object",
"properties": {
"database_id": {
"$ref": "#/components/schemas/idResponse"
},
"data_source_id": {
"$ref": "#/components/schemas/idResponse"
}
},
"additionalProperties": false,
"required": [
"database_id",
"data_source_id"
]
}
databaseSchemaUpdatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database.schema_updated",
"description": "Always `database.schema_updated`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the database whose schema was updated."
},
"updated_properties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the database property that changed."
},
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The name of the database property, or `null` if deleted."
},
"action": {
"type": "string",
"enum": [
"created",
"updated",
"deleted"
],
"description": "The action taken on the property."
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"action"
]
},
"maxItems": 100,
"description": "The database properties that were created, updated, or deleted."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
databaseUndeletedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database.undeleted",
"description": "Always `database.undeleted`"
},
"entity": {
"$ref": "#/components/schemas/webhookDatabaseEventEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
dateDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date",
"description": "Always `date`"
},
"date": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"date"
],
"title": "Date"
}
dateFormulaPropertyResponse
{
"title": "Date",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date"
},
"date": {
"anyOf": [
{
"$ref": "#/components/schemas/dateResponse"
},
{
"type": "null"
}
]
}
},
"required": [
"type",
"date"
]
}
dateFormulaPropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date",
"description": "Always `date`"
},
"date": {
"oneOf": [
{
"$ref": "#/components/schemas/dateResponse"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"date"
],
"title": "Date"
}
dateGroupByConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"date",
"created_time",
"last_edited_time"
],
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"group_by": {
"type": "string",
"enum": [
"relative",
"day",
"week",
"month",
"year"
],
"description": "Granularity for date grouping."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
},
"start_day_of_week": {
"type": "number",
"enum": [
0,
1
],
"description": "Start day of week for week grouping (0 = Sunday, 1 = Monday)."
}
},
"required": [
"type",
"property_id",
"group_by",
"sort"
]
}
dateGroupByConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"date",
"created_time",
"last_edited_time"
],
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"group_by": {
"type": "string",
"enum": [
"relative",
"day",
"week",
"month",
"year"
],
"description": "Granularity for date grouping."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups (no manual sort for dates)."
},
"property_name": {
"type": "string",
"description": "Property name (convenience field)."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
},
"start_day_of_week": {
"type": "number",
"enum": [
0,
1
],
"description": "Start day of week for week grouping (0 = Sunday, 1 = Monday)."
}
},
"additionalProperties": false,
"required": [
"type",
"property_id",
"group_by",
"sort"
]
}
dateOrRelativeDate
{
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"$ref": "#/components/schemas/relativeDateValue"
}
]
}
datePartialRollupValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date",
"description": "Always `date`"
},
"date": {
"oneOf": [
{
"$ref": "#/components/schemas/dateResponse"
},
{
"type": "null"
}
]
}
},
"required": [
"type",
"date"
],
"title": "Date"
}
datePropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date",
"description": "Always `date`"
},
"date": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"date"
],
"title": "Date"
}
datePropertyFilter
{
"anyOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"equals": {
"$ref": "#/components/schemas/dateOrRelativeDate"
}
},
"required": [
"equals"
]
},
{
"type": "object",
"properties": {
"before": {
"$ref": "#/components/schemas/dateOrRelativeDate"
}
},
"required": [
"before"
]
},
{
"type": "object",
"properties": {
"after": {
"$ref": "#/components/schemas/dateOrRelativeDate"
}
},
"required": [
"after"
]
},
{
"type": "object",
"properties": {
"on_or_before": {
"$ref": "#/components/schemas/dateOrRelativeDate"
}
},
"required": [
"on_or_before"
]
},
{
"type": "object",
"properties": {
"on_or_after": {
"$ref": "#/components/schemas/dateOrRelativeDate"
}
},
"required": [
"on_or_after"
]
},
{
"type": "object",
"properties": {
"this_week": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"this_week"
]
},
{
"type": "object",
"properties": {
"past_week": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"past_week"
]
},
{
"type": "object",
"properties": {
"past_month": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"past_month"
]
},
{
"type": "object",
"properties": {
"past_year": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"past_year"
]
},
{
"type": "object",
"properties": {
"next_week": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"next_week"
]
},
{
"type": "object",
"properties": {
"next_month": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"next_month"
]
},
{
"type": "object",
"properties": {
"next_year": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"next_year"
]
}
]
},
{
"$ref": "#/components/schemas/existencePropertyFilter"
}
]
}
datePropertyItemObjectResponse
{
"title": "Date",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date"
},
"date": {
"anyOf": [
{
"$ref": "#/components/schemas/dateResponse"
},
{
"type": "null"
}
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"date",
"object",
"id"
]
}
dateRequest
{
"type": "object",
"properties": {
"start": {
"type": "string",
"format": "date",
"description": "The start date of the date object."
},
"end": {
"oneOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"description": "The end date of the date object, if any."
},
"time_zone": {
"oneOf": [
{
"$ref": "#/components/schemas/timeZoneRequest"
},
{
"type": "null"
}
],
"description": "The time zone of the date object, if any. E.g. America/Los_Angeles, Europe/London, etc."
}
},
"additionalProperties": false,
"required": [
"start"
]
}
dateResponse
{
"type": "object",
"properties": {
"start": {
"type": "string",
"format": "date",
"description": "The start date of the date object."
},
"end": {
"oneOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"description": "The end date of the date object, if any."
},
"time_zone": {
"oneOf": [
{
"$ref": "#/components/schemas/timeZoneRequest"
},
{
"type": "null"
}
],
"description": "The time zone of the date object."
}
},
"additionalProperties": false,
"required": [
"start",
"end",
"time_zone"
]
}
dateSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date",
"description": "Always `date`"
},
"date": {
"oneOf": [
{
"$ref": "#/components/schemas/dateResponse"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"date"
],
"title": "Date"
}
deletedViewQueryResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "view_query",
"description": "The object type."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the deleted view query."
},
"deleted": {
"type": "boolean",
"description": "Whether the view query was deleted."
}
},
"additionalProperties": false,
"required": [
"object",
"id",
"deleted"
]
}
dividerBlockObjectResponse
{
"title": "Divider",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "divider"
},
"divider": {
"$ref": "#/components/schemas/emptyObject"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"divider",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
dualPropertyDatabasePropertyRelationConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "dual_property",
"description": "Always `dual_property`"
},
"dual_property": {
"type": "object",
"properties": {
"synced_property_id": {
"type": "string"
},
"synced_property_name": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"synced_property_id",
"synced_property_name"
]
}
},
"required": [
"dual_property"
],
"title": "Dual Property"
}
emailDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "email",
"description": "Always `email`"
},
"email": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"email"
],
"title": "Email"
}
emailPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "email",
"description": "Always `email`"
},
"email": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"email"
],
"title": "Email"
}
emailPropertyItemObjectResponse
{
"title": "Email",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "email"
},
"email": {
"type": [
"string",
"null"
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"email",
"object",
"id"
]
}
emailSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "email",
"description": "Always `email`"
},
"email": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"email"
],
"title": "Email"
}
embedBlockObjectResponse
{
"title": "Embed",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "embed"
},
"embed": {
"$ref": "#/components/schemas/mediaContentWithUrlAndCaptionResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"embed",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
embedFileUploadRequest
{
"type": "object",
"properties": {
"file_upload": {
"$ref": "#/components/schemas/fileUploadIdRequest"
},
"type": {
"type": "string",
"const": "file_upload"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"file_upload"
]
}
emojiPageIconRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "emoji",
"description": "Always `emoji`"
},
"emoji": {
"$ref": "#/components/schemas/emojiRequest",
"description": "An emoji character."
}
},
"required": [
"emoji"
],
"title": "Emoji"
}
emojiPageIconResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "emoji",
"description": "Type of icon. In this case, an emoji."
},
"emoji": {
"$ref": "#/components/schemas/emojiRequest",
"description": "The emoji character used as the icon."
}
},
"additionalProperties": false,
"required": [
"type",
"emoji"
],
"title": "Emoji"
}
emojiRequest
{
"type": "string",
"example": "😀"
}
emptyObject
{
"type": "object",
"properties": {},
"additionalProperties": false
}
equationBlockObjectResponse
{
"title": "Equation",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "equation"
},
"equation": {
"$ref": "#/components/schemas/expressionObjectResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"equation",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
equationRichTextItemRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "equation",
"description": "Always `equation`"
},
"equation": {
"type": "object",
"properties": {
"expression": {
"type": "string",
"examples": [
"e=mc^2"
],
"description": "A KaTeX compatible string."
}
},
"required": [
"expression"
],
"description": "Notion supports inline LaTeX equations as rich text objects with a type value of `equation`."
}
},
"required": [
"equation"
],
"title": "Equation"
}
equationRichTextItemResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "equation",
"description": "Always `equation`"
},
"equation": {
"type": "object",
"properties": {
"expression": {
"type": "string",
"examples": [
"e=mc^2"
],
"description": "A KaTeX compatible string."
}
},
"additionalProperties": false,
"required": [
"expression"
],
"description": "Notion supports inline LaTeX equations as rich text objects with a type value of `equation`."
}
},
"required": [
"type",
"equation"
],
"title": "Equation"
}
error_api_400
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"invalid_json",
"invalid_request_url",
"invalid_request",
"missing_version",
"invalid_beta",
"validation_error",
"invalid_credit_limit"
]
},
"status": {
"const": 400
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_api_401
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"unauthorized"
]
},
"status": {
"const": 401
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_api_403
{
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"restricted_resource",
"status_change_not_allowed"
]
},
"status": {
"const": 403
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"const": "workspace_credits_exhausted"
},
"status": {
"const": 403
},
"additional_data": {
"type": "object",
"properties": {
"tool_error_code": {
"const": "workspace_credits_exhausted"
},
"tool_error_class": {
"const": "entitlement_required"
},
"tool_error_retryable": {
"const": "false"
},
"recovery_kind": {
"enum": [
"contact_workspace_owner",
"open_workspace_credit_settings"
],
"description": "The recovery action selected by Notion for the caller."
},
"recovery_url": {
"type": "string",
"format": "uri",
"description": "Present when recovery_kind directs the caller to a settings page."
}
},
"required": [
"tool_error_code",
"tool_error_class",
"tool_error_retryable",
"recovery_kind"
],
"additionalProperties": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
}
},
"required": [
"code",
"status",
"additional_data"
]
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"const": "agent_credit_limit_reached"
},
"status": {
"const": 403
},
"additional_data": {
"type": "object",
"properties": {
"tool_error_code": {
"const": "agent_credit_limit_reached"
},
"tool_error_class": {
"const": "entitlement_required"
},
"tool_error_retryable": {
"const": "false"
},
"recovery_kind": {
"enum": [
"contact_workspace_owner",
"none",
"open_agent_settings",
"request_agent_limit_increase",
"request_pending"
],
"description": "The recovery action selected by Notion for the caller."
},
"recovery_url": {
"type": "string",
"format": "uri",
"description": "Present when recovery_kind directs the caller to a settings page."
}
},
"required": [
"tool_error_code",
"tool_error_class",
"tool_error_retryable",
"recovery_kind"
],
"additionalProperties": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
}
},
"required": [
"code",
"status",
"additional_data"
]
}
]
}
]
}
error_api_404
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"object_not_found",
"directory_not_found"
]
},
"status": {
"const": 404
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_api_406
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"row_limit_exceeded"
]
},
"status": {
"const": 406
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_api_409
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"conflict_error",
"idempotency_key_reused",
"agent_deleted"
]
},
"status": {
"const": 409
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_api_429
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"rate_limited"
]
},
"status": {
"const": 429
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_api_500
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"internal_server_error"
]
},
"status": {
"const": 500
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_api_503
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"service_unavailable"
]
},
"status": {
"const": 503
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_api_504
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"gateway_timeout"
]
},
"status": {
"const": 504
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_api_529
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"service_overload"
]
},
"status": {
"const": 529
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_oauth_400
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"invalid_request",
"invalid_grant",
"unauthorized_client",
"unsupported_grant_type",
"invalid_scope"
]
},
"status": {
"const": 400
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_oauth_401
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"invalid_client"
]
},
"status": {
"const": 401
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_oauth_403
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"test_env_error"
]
},
"status": {
"const": 403
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
error_oauth_500
{
"allOf": [
{
"$ref": "#/components/schemas/publicApiCommonErrorResponse"
},
{
"type": "object",
"properties": {
"code": {
"enum": [
"internal_server_error"
]
},
"status": {
"const": 500
}
},
"required": [
"code",
"status"
],
"additionalProperties": false
}
]
}
existencePropertyFilter
{
"anyOf": [
{
"type": "object",
"properties": {
"is_empty": {
"type": "boolean",
"const": true
}
},
"required": [
"is_empty"
]
},
{
"type": "object",
"properties": {
"is_not_empty": {
"type": "boolean",
"const": true
}
},
"required": [
"is_not_empty"
]
}
]
}
expressionObjectResponse
{
"type": "object",
"properties": {
"expression": {
"type": "string"
}
},
"required": [
"expression"
]
}
externalFileRequest
{
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/textRequest"
}
},
"additionalProperties": false,
"required": [
"url"
]
}
externalInternalOrExternalFileWithNameResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "external",
"description": "Type of attachment. In this case, an external URL."
},
"external": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL of the external file or resource."
}
},
"additionalProperties": false,
"required": [
"url"
],
"description": "The external URL."
}
},
"required": [
"type",
"external"
],
"title": "External"
}
externalMediaContentWithFileAndCaptionResponse
{
"title": "External",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "external"
},
"external": {
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/textRequest"
}
},
"required": [
"url"
]
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
}
},
"required": [
"type",
"external",
"caption"
]
}
externalMediaContentWithFileNameAndCaptionResponse
{
"title": "External",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "external"
},
"external": {
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/textRequest"
}
},
"required": [
"url"
]
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"name": {
"type": "string"
}
},
"required": [
"type",
"external",
"caption",
"name"
]
}
externalPageCoverRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "external",
"description": "Always `external`"
},
"external": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL of the external file."
}
},
"required": [
"url"
],
"description": "External URL for the cover."
}
},
"required": [
"external"
],
"title": "External"
}
externalPageCoverResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "external",
"description": "Type of cover. In this case, an external URL."
},
"external": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL of the external file or resource."
}
},
"additionalProperties": false,
"required": [
"url"
],
"description": "The external URL for the cover."
}
},
"additionalProperties": false,
"required": [
"type",
"external"
],
"title": "External"
}
externalPageIconRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "external",
"description": "Always `external`"
},
"external": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL of the external file."
}
},
"required": [
"url"
]
}
},
"required": [
"external"
],
"title": "External"
}
externalPageIconResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "external",
"description": "Type of icon. In this case, an external URL."
},
"external": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL of the external file or resource."
}
},
"additionalProperties": false,
"required": [
"url"
],
"description": "The external URL for the icon."
}
},
"additionalProperties": false,
"required": [
"type",
"external"
],
"title": "External"
}
fileBlockObjectResponse
{
"title": "File",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file"
},
"file": {
"$ref": "#/components/schemas/mediaContentWithFileNameAndCaptionResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"file",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
fileInternalOrExternalFileWithNameResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file",
"description": "Type of attachment. In this case, a file uploaded to a Notion workspace."
},
"file": {
"$ref": "#/components/schemas/internalFileResponse",
"description": "The file URL."
}
},
"required": [
"type",
"file"
],
"title": "File"
}
fileMediaContentWithFileAndCaptionResponse
{
"title": "File",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file"
},
"file": {
"$ref": "#/components/schemas/internalFileResponse"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
}
},
"required": [
"type",
"file",
"caption"
]
}
fileMediaContentWithFileNameAndCaptionResponse
{
"title": "File",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file"
},
"file": {
"$ref": "#/components/schemas/internalFileResponse"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"name": {
"type": "string"
}
},
"required": [
"type",
"file",
"caption",
"name"
]
}
filePageCoverResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file",
"description": "Type of cover. In this case, a file."
},
"file": {
"$ref": "#/components/schemas/internalFileResponse",
"description": "The file URL for the cover."
}
},
"additionalProperties": false,
"required": [
"type",
"file"
],
"title": "File"
}
filePageIconResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file",
"description": "Type of icon. In this case, a file."
},
"file": {
"$ref": "#/components/schemas/internalFileResponse",
"description": "The file URL for the icon."
}
},
"additionalProperties": false,
"required": [
"type",
"file"
],
"title": "File"
}
fileUploadCompletedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file_upload.completed",
"description": "Always `file_upload.completed`"
},
"entity": {
"$ref": "#/components/schemas/webhookFileUploadEntity",
"description": "The object that triggered the event."
}
},
"required": [
"type",
"entity"
]
}
]
}
fileUploadCreatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file_upload.created",
"description": "Always `file_upload.created`"
},
"entity": {
"$ref": "#/components/schemas/webhookFileUploadEntity",
"description": "The object that triggered the event."
}
},
"required": [
"type",
"entity"
]
}
]
}
fileUploadExpiredWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file_upload.expired",
"description": "Always `file_upload.expired`"
},
"entity": {
"$ref": "#/components/schemas/webhookFileUploadEntity",
"description": "The object that triggered the event."
}
},
"required": [
"type",
"entity"
]
}
]
}
fileUploadIdRequest
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idRequest"
}
},
"additionalProperties": false,
"required": [
"id"
]
}
fileUploadObjectResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "file_upload",
"description": "Always `file_upload`"
},
"id": {
"$ref": "#/components/schemas/idResponse"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse"
},
"type": {
"type": "string",
"enum": [
"person",
"bot",
"agent"
],
"description": "One of: `person`, `bot`, `agent`"
}
},
"additionalProperties": false,
"required": [
"id",
"type"
]
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"in_trash": {
"type": "boolean"
},
"expiry_time": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"pending",
"uploaded",
"expired",
"failed"
],
"description": "One of: `pending`, `uploaded`, `expired`, `failed`"
},
"filename": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"content_type": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"content_length": {
"oneOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
]
},
"upload_url": {
"type": "string"
},
"complete_url": {
"type": "string"
},
"file_import_result": {
"allOf": [
{
"type": "object",
"properties": {
"imported_time": {
"type": "string",
"format": "date-time",
"description": "The time the file was imported into Notion. ISO 8601 format."
}
},
"additionalProperties": false,
"required": [
"imported_time"
]
},
{
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "success",
"description": "Indicates a successful import."
},
"success": {
"$ref": "#/components/schemas/emptyObject",
"description": "Empty object for success type."
}
},
"required": [
"type",
"success"
],
"title": "Success"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "error",
"description": "Indicates an error occurred during import."
},
"error": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"validation_error",
"internal_system_error",
"download_error",
"upload_error"
],
"description": "The type of error that occurred during file import."
},
"code": {
"type": "string",
"description": "A short string code representing the error."
},
"message": {
"type": "string",
"description": "A human-readable message describing the error."
},
"parameter": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The parameter related to the error, if applicable. Null if not applicable."
},
"status_code": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "The HTTP status code associated with the error, if available. Null if not applicable."
}
},
"additionalProperties": false,
"required": [
"type",
"code",
"message",
"parameter",
"status_code"
],
"description": "Details about the error that occurred during file import."
}
},
"required": [
"type",
"error"
],
"title": "Error"
}
]
}
]
},
"number_of_parts": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 0
},
"sent": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false,
"required": [
"total",
"sent"
]
}
},
"additionalProperties": false,
"required": [
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"in_trash",
"expiry_time",
"status",
"filename",
"content_type",
"content_length"
]
}
fileUploadPageCoverRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file_upload",
"description": "Always `file_upload`"
},
"file_upload": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of a FileUpload object that has the status `uploaded`."
}
},
"required": [
"id"
],
"description": "The file upload for the cover."
}
},
"required": [
"file_upload"
],
"title": "File Upload"
}
fileUploadPageIconRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file_upload",
"description": "Always `file_upload`"
},
"file_upload": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of a FileUpload object that has the status `uploaded`."
}
},
"required": [
"id"
]
}
},
"required": [
"file_upload"
],
"title": "File Upload"
}
fileUploadUploadFailedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file_upload.upload_failed",
"description": "Always `file_upload.upload_failed`"
},
"entity": {
"$ref": "#/components/schemas/webhookFileUploadEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"file_import_result": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "success",
"description": "Always `success`"
},
"imported_time": {
"type": "string",
"description": "ISO 8601 timestamp of when the file was imported."
},
"success": {
"$ref": "#/components/schemas/emptyObject",
"description": "Empty object indicating success."
}
},
"additionalProperties": false,
"required": [
"type",
"imported_time",
"success"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "error",
"description": "Always `error`"
},
"imported_time": {
"type": "string",
"description": "ISO 8601 timestamp of when the import was attempted."
},
"error": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"validation_error",
"internal_system_error",
"download_error",
"upload_error"
],
"description": "The category of the error."
},
"code": {
"type": "string",
"description": "A machine-readable error code."
},
"message": {
"type": "string",
"description": "A human-readable description of the error."
},
"parameter": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The parameter that caused the error, or `null`."
},
"status_code": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "The HTTP status code associated with the error, or `null`."
}
},
"additionalProperties": false,
"required": [
"type",
"code",
"message",
"parameter",
"status_code"
],
"description": "Details about the error."
}
},
"additionalProperties": false,
"required": [
"type",
"imported_time",
"error"
]
}
],
"description": "The result of the file import attempt."
}
},
"additionalProperties": false,
"required": [
"file_import_result"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
fileUploadWithOptionalNameRequest
{
"type": "object",
"properties": {
"file_upload": {
"$ref": "#/components/schemas/fileUploadIdRequest"
},
"type": {
"type": "string",
"const": "file_upload"
},
"name": {
"$ref": "#/components/schemas/stringRequest"
}
},
"additionalProperties": false,
"required": [
"file_upload"
]
}
filesDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "files",
"description": "Always `files`"
},
"files": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"files"
],
"title": "Files"
}
filesPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "files",
"description": "Always `files`"
},
"files": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"files"
],
"title": "Files"
}
filesPropertyItemObjectResponse
{
"title": "Files",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "files"
},
"files": {
"type": "array",
"items": {
"$ref": "#/components/schemas/internalOrExternalFileWithNameResponse"
},
"maxItems": 100
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"files",
"object",
"id"
]
}
filesSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "files",
"description": "Always `files`"
},
"files": {
"type": "array",
"items": {
"$ref": "#/components/schemas/internalOrExternalFileWithNameResponse"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type",
"files"
],
"title": "Files"
}
formViewConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "form",
"description": "The view type. Must be \"form\"."
},
"is_form_closed": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether the form is closed for submissions. Pass null to clear."
},
"anonymous_submissions": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether anonymous (non-logged-in) submissions are allowed. Pass null to clear."
},
"submission_permissions": {
"oneOf": [
{
"type": "string",
"enum": [
"none",
"comment_only",
"reader",
"read_and_write",
"editor"
],
"description": "One of: `none`, `comment_only`, `reader`, `read_and_write`, `editor`"
},
{
"type": "null"
}
],
"description": "Permission level granted to the submitter on the created page after form submission. Pass null to clear."
}
},
"required": [
"type"
]
}
formViewConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "form",
"description": "The view configuration type."
},
"is_form_closed": {
"type": "boolean",
"description": "Whether the form is closed for submissions."
},
"anonymous_submissions": {
"type": "boolean",
"description": "Whether anonymous (non-logged-in) submissions are allowed."
},
"submission_permissions": {
"type": "string",
"enum": [
"none",
"comment_only",
"reader",
"read_and_write",
"editor"
],
"description": "Permission level granted to the submitter on the created page after form submission."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
formulaCheckboxSubGroupByRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "checkbox",
"description": "The formula result type for grouping."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
}
},
"required": [
"type",
"sort"
]
}
formulaCheckboxSubGroupByResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "checkbox",
"description": "The formula result type for grouping."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups (only manual for checkbox)."
}
},
"additionalProperties": false,
"required": [
"type",
"sort"
]
}
formulaDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "formula",
"description": "Always `formula`"
},
"formula": {
"type": "object",
"properties": {
"expression": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"expression"
]
}
},
"required": [
"type",
"formula"
],
"title": "Formula"
}
formulaDateSubGroupByRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date",
"description": "The formula result type for grouping."
},
"group_by": {
"type": "string",
"enum": [
"relative",
"day",
"week",
"month",
"year"
],
"description": "Granularity for date grouping."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
},
"start_day_of_week": {
"type": "number",
"enum": [
0,
1
],
"description": "Start day of week for week grouping (0 = Sunday, 1 = Monday)."
}
},
"required": [
"type",
"group_by",
"sort"
]
}
formulaDateSubGroupByResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date",
"description": "The formula result type for grouping."
},
"group_by": {
"type": "string",
"enum": [
"relative",
"day",
"week",
"month",
"year"
],
"description": "Granularity for date grouping."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups."
},
"start_day_of_week": {
"type": "number",
"enum": [
0,
1
],
"description": "Start day of week for week grouping (0 = Sunday, 1 = Monday)."
}
},
"additionalProperties": false,
"required": [
"type",
"group_by",
"sort"
]
}
formulaGroupByConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "formula",
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID of the formula to group by."
},
"group_by": {
"oneOf": [
{
"$ref": "#/components/schemas/formulaDateSubGroupByRequest"
},
{
"$ref": "#/components/schemas/formulaTextSubGroupByRequest"
},
{
"$ref": "#/components/schemas/formulaNumberSubGroupByRequest"
},
{
"$ref": "#/components/schemas/formulaCheckboxSubGroupByRequest"
}
],
"description": "Sub-group-by configuration based on the formula result type."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"required": [
"type",
"property_id",
"group_by"
]
}
formulaGroupByConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "formula",
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID of the formula to group by."
},
"group_by": {
"$ref": "#/components/schemas/formulaSubGroupByResponse",
"description": "Sub-group-by configuration based on the formula result type."
},
"property_name": {
"type": "string",
"description": "Property name (convenience field)."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"additionalProperties": false,
"required": [
"type",
"property_id",
"group_by"
]
}
formulaNumberSubGroupByRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number",
"description": "The formula result type for grouping."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
},
"range_start": {
"type": "integer",
"description": "Start of the range for number grouping buckets."
},
"range_end": {
"type": "integer",
"description": "End of the range for number grouping buckets."
},
"range_size": {
"type": "integer",
"minimum": 1,
"description": "Size of each bucket in number grouping."
}
},
"required": [
"type",
"sort"
]
}
formulaNumberSubGroupByResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number",
"description": "The formula result type for grouping."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups (ascending or descending only)."
},
"range_start": {
"type": "integer",
"description": "Start of the range for number grouping buckets."
},
"range_end": {
"type": "integer",
"description": "End of the range for number grouping buckets."
},
"range_size": {
"type": "integer",
"minimum": 1,
"description": "Size of each bucket in number grouping."
}
},
"additionalProperties": false,
"required": [
"type",
"sort"
]
}
formulaPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "formula",
"description": "Always `formula`"
},
"formula": {
"type": "object",
"properties": {
"expression": {
"type": "string"
}
}
}
},
"required": [
"formula"
],
"title": "Formula"
}
formulaPropertyFilter
{
"anyOf": [
{
"type": "object",
"properties": {
"string": {
"$ref": "#/components/schemas/textPropertyFilter"
}
},
"required": [
"string"
]
},
{
"type": "object",
"properties": {
"checkbox": {
"$ref": "#/components/schemas/checkboxPropertyFilter"
}
},
"required": [
"checkbox"
]
},
{
"type": "object",
"properties": {
"number": {
"$ref": "#/components/schemas/numberPropertyFilter"
}
},
"required": [
"number"
]
},
{
"type": "object",
"properties": {
"date": {
"$ref": "#/components/schemas/datePropertyFilter"
}
},
"required": [
"date"
]
}
]
}
formulaPropertyItemObjectResponse
{
"title": "Formula",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "formula"
},
"formula": {
"$ref": "#/components/schemas/formulaPropertyResponse"
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"formula",
"object",
"id"
]
}
formulaPropertyResponse
{
"anyOf": [
{
"$ref": "#/components/schemas/stringFormulaPropertyResponse"
},
{
"$ref": "#/components/schemas/dateFormulaPropertyResponse"
},
{
"$ref": "#/components/schemas/numberFormulaPropertyResponse"
},
{
"$ref": "#/components/schemas/booleanFormulaPropertyResponse"
},
{
"$ref": "#/components/schemas/unsupportedFormulaPropertyResponse"
}
]
}
formulaPropertyValueResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/booleanFormulaPropertyValueResponse"
},
{
"$ref": "#/components/schemas/dateFormulaPropertyValueResponse"
},
{
"$ref": "#/components/schemas/numberFormulaPropertyValueResponse"
},
{
"$ref": "#/components/schemas/stringFormulaPropertyValueResponse"
},
{
"$ref": "#/components/schemas/unsupportedFormulaPropertyValueResponse"
}
]
}
formulaSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "formula",
"description": "Always `formula`"
},
"formula": {
"$ref": "#/components/schemas/formulaPropertyValueResponse"
}
},
"additionalProperties": false,
"required": [
"type",
"formula"
],
"title": "Formula"
}
formulaSubGroupByResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/formulaDateSubGroupByResponse"
},
{
"$ref": "#/components/schemas/formulaTextSubGroupByResponse"
},
{
"$ref": "#/components/schemas/formulaNumberSubGroupByResponse"
},
{
"$ref": "#/components/schemas/formulaCheckboxSubGroupByResponse"
}
],
"description": "Sub-group-by configuration for formula properties based on result type."
}
formulaTextSubGroupByRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "text",
"description": "The formula result type for grouping."
},
"group_by": {
"type": "string",
"enum": [
"exact",
"alphabet_prefix"
],
"description": "How to group text values. \"exact\" = exact match, \"alphabet_prefix\" = first letter."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
}
},
"required": [
"type",
"group_by",
"sort"
]
}
formulaTextSubGroupByResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "text",
"description": "The formula result type for grouping."
},
"group_by": {
"type": "string",
"enum": [
"exact",
"alphabet_prefix"
],
"description": "How to group text values. \"exact\" = exact match, \"alphabet_prefix\" = first letter."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups."
}
},
"additionalProperties": false,
"required": [
"type",
"group_by",
"sort"
]
}
galleryViewConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "gallery",
"description": "The view type. Must be \"gallery\"."
},
"properties": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigRequest"
},
"maxItems": 100
},
{
"type": "null"
}
],
"description": "Property visibility and display configuration on gallery cards. Pass null to clear."
},
"cover": {
"oneOf": [
{
"$ref": "#/components/schemas/coverConfigRequest"
},
{
"type": "null"
}
],
"description": "Cover image configuration for cards. Pass null to clear."
},
"cover_size": {
"oneOf": [
{
"type": "string",
"enum": [
"small",
"medium",
"large"
],
"description": "One of: `small`, `medium`, `large`"
},
{
"type": "null"
}
],
"description": "Size of the cover image on cards. Pass null to clear."
},
"cover_aspect": {
"oneOf": [
{
"type": "string",
"enum": [
"contain",
"cover"
],
"description": "One of: `contain`, `cover`"
},
{
"type": "null"
}
],
"description": "Aspect ratio mode for cover images. \"contain\" fits the image, \"cover\" fills the area. Pass null to clear."
},
"card_layout": {
"oneOf": [
{
"type": "string",
"enum": [
"list",
"compact"
],
"description": "One of: `list`, `compact`"
},
{
"type": "null"
}
],
"description": "Card layout mode. \"list\" shows full cards, \"compact\" shows condensed cards. Pass null to clear."
}
},
"required": [
"type"
]
}
galleryViewConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "gallery",
"description": "The view configuration type."
},
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigResponse"
},
"maxItems": 100,
"description": "Properties to display on gallery cards."
},
"cover": {
"$ref": "#/components/schemas/coverConfigResponse",
"description": "Card cover/preview image configuration."
},
"cover_size": {
"type": "string",
"enum": [
"small",
"medium",
"large"
],
"description": "Cover image size."
},
"cover_aspect": {
"type": "string",
"enum": [
"contain",
"cover"
],
"description": "Cover image aspect ratio."
},
"card_layout": {
"type": "string",
"enum": [
"list",
"compact"
],
"description": "Card layout mode (list shows all properties, compact shows inline)."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
groupByConfigRequest
{
"oneOf": [
{
"$ref": "#/components/schemas/selectGroupByConfigRequest"
},
{
"$ref": "#/components/schemas/statusGroupByConfigRequest"
},
{
"$ref": "#/components/schemas/personGroupByConfigRequest"
},
{
"$ref": "#/components/schemas/relationGroupByConfigRequest"
},
{
"$ref": "#/components/schemas/dateGroupByConfigRequest"
},
{
"$ref": "#/components/schemas/textGroupByConfigRequest"
},
{
"$ref": "#/components/schemas/numberGroupByConfigRequest"
},
{
"$ref": "#/components/schemas/checkboxGroupByConfigRequest"
},
{
"$ref": "#/components/schemas/formulaGroupByConfigRequest"
}
],
"description": "Group-by configuration based on property type."
}
groupByConfigResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/selectGroupByConfigResponse"
},
{
"$ref": "#/components/schemas/statusGroupByConfigResponse"
},
{
"$ref": "#/components/schemas/personGroupByConfigResponse"
},
{
"$ref": "#/components/schemas/relationGroupByConfigResponse"
},
{
"$ref": "#/components/schemas/dateGroupByConfigResponse"
},
{
"$ref": "#/components/schemas/textGroupByConfigResponse"
},
{
"$ref": "#/components/schemas/numberGroupByConfigResponse"
},
{
"$ref": "#/components/schemas/checkboxGroupByConfigResponse"
},
{
"$ref": "#/components/schemas/formulaGroupByConfigResponse"
}
],
"description": "Group-by configuration based on property type."
}
groupFilterOperatorArray
{
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/propertyOrTimestampFilter"
},
{
"anyOf": [
{
"type": "object",
"properties": {
"or": {
"$ref": "#/components/schemas/propertyOrTimestampFilterArray"
}
},
"required": [
"or"
]
},
{
"type": "object",
"properties": {
"and": {
"$ref": "#/components/schemas/propertyOrTimestampFilterArray"
}
},
"required": [
"and"
]
}
]
}
]
},
"maxItems": 100
}
groupObjectRequest
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idRequest"
},
"name": {
"type": [
"string",
"null"
]
},
"object": {
"type": "string",
"const": "group"
}
},
"additionalProperties": false,
"required": [
"id"
]
}
groupObjectResponse
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the group."
},
"object": {
"type": "string",
"const": "group",
"description": "The group object type name."
},
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The name of the group."
}
},
"additionalProperties": false,
"required": [
"id",
"object",
"name"
]
}
groupSortRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"manual",
"ascending",
"descending"
],
"description": "Sort direction for groups."
}
},
"required": [
"type"
]
}
groupSortResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"manual",
"ascending",
"descending"
],
"description": "Sort direction for groups."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
headerContentWithRichTextAndColorRequest
{
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"is_toggleable": {
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
}
headerContentWithRichTextAndColorResponse
{
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"is_toggleable": {
"type": "boolean"
}
},
"required": [
"rich_text",
"color",
"is_toggleable"
]
}
heading1BlockObjectResponse
{
"title": "Heading 1",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "heading_1"
},
"heading_1": {
"$ref": "#/components/schemas/headerContentWithRichTextAndColorResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"heading_1",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
heading2BlockObjectResponse
{
"title": "Heading 2",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "heading_2"
},
"heading_2": {
"$ref": "#/components/schemas/headerContentWithRichTextAndColorResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"heading_2",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
heading3BlockObjectResponse
{
"title": "Heading 3",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "heading_3"
},
"heading_3": {
"$ref": "#/components/schemas/headerContentWithRichTextAndColorResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"heading_3",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
heading4BlockObjectResponse
{
"title": "Heading 4",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "heading_4"
},
"heading_4": {
"$ref": "#/components/schemas/headerContentWithRichTextAndColorResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"heading_4",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
iconPageIconRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "icon",
"description": "Always `icon`"
},
"icon": {
"type": "object",
"properties": {
"name": {
"$ref": "#/components/schemas/noticonName",
"description": "The name of the Notion icon (e.g. pizza, meeting, home). See the Notion icon picker for valid names."
},
"color": {
"$ref": "#/components/schemas/noticonColor",
"description": "The color variant of the icon. Defaults to gray if not specified. Valid values: gray, lightgray, brown, yellow, orange, green, blue, purple, pink, red."
}
},
"required": [
"name"
],
"description": "A Notion native icon, specified by name and optional color."
}
},
"required": [
"icon"
],
"title": "Icon"
}
iconPageIconResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "icon",
"description": "Type of icon. In this case, a Notion native icon."
},
"icon": {
"$ref": "#/components/schemas/noticonIconResponse",
"description": "The Notion native icon, specified by name and color."
}
},
"additionalProperties": false,
"required": [
"type",
"icon"
],
"title": "Icon"
}
idObjectResponse
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
idRequest
{
"type": "string"
}
idResponse
{
"type": "string",
"format": "uuid"
}
imageBlockObjectResponse
{
"title": "Image",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "image"
},
"image": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"image",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
initialDataSourceRequest
{
"type": "object",
"properties": {
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/propertyConfigurationRequest"
},
"description": "Property schema for the initial data source, if you'd like to create one."
}
}
}
internalFileRequest
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"expiry_time": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false,
"required": [
"url"
]
}
internalFileResponse
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL of the file."
},
"expiry_time": {
"type": "string",
"format": "date-time",
"description": "The time when the URL will expire."
}
},
"additionalProperties": false,
"required": [
"url",
"expiry_time"
]
}
internalOrExternalFileWithNameRequest
{
"anyOf": [
{
"title": "File",
"type": "object",
"properties": {
"file": {
"$ref": "#/components/schemas/internalFileRequest"
},
"name": {
"$ref": "#/components/schemas/stringRequest"
},
"type": {
"type": "string",
"const": "file"
}
},
"additionalProperties": false,
"required": [
"file",
"name"
]
},
{
"title": "External",
"type": "object",
"properties": {
"external": {
"$ref": "#/components/schemas/externalFileRequest"
},
"name": {
"$ref": "#/components/schemas/stringRequest"
},
"type": {
"type": "string",
"const": "external"
}
},
"additionalProperties": false,
"required": [
"external",
"name"
]
}
]
}
internalOrExternalFileWithNameResponse
{
"allOf": [
{
"$ref": "#/components/schemas/internalOrExternalFileWithNameResponseCommon"
},
{
"oneOf": [
{
"$ref": "#/components/schemas/fileInternalOrExternalFileWithNameResponse"
},
{
"$ref": "#/components/schemas/externalInternalOrExternalFileWithNameResponse"
}
]
}
]
}
internalOrExternalFileWithNameResponseCommon
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the file."
}
},
"additionalProperties": false,
"required": [
"name"
]
}
languageRequest
{
"type": "string",
"enum": [
"abap",
"abc",
"agda",
"arduino",
"ascii art",
"assembly",
"bash",
"basic",
"bnf",
"c",
"c#",
"c++",
"clojure",
"coffeescript",
"coq",
"css",
"dart",
"dhall",
"diff",
"docker",
"ebnf",
"elixir",
"elm",
"erlang",
"f#",
"flow",
"fortran",
"gherkin",
"glsl",
"go",
"graphql",
"groovy",
"haskell",
"hcl",
"html",
"idris",
"java",
"javascript",
"json",
"julia",
"kotlin",
"latex",
"less",
"lisp",
"livescript",
"llvm ir",
"lua",
"makefile",
"markdown",
"markup",
"matlab",
"mathematica",
"mermaid",
"nix",
"notion formula",
"objective-c",
"ocaml",
"pascal",
"perl",
"php",
"plain text",
"powershell",
"prolog",
"protobuf",
"purescript",
"python",
"r",
"racket",
"reason",
"ruby",
"rust",
"sass",
"scala",
"scheme",
"scss",
"shell",
"smalltalk",
"solidity",
"sql",
"swift",
"toml",
"typescript",
"vb.net",
"verilog",
"vhdl",
"visual basic",
"webassembly",
"xml",
"yaml",
"java/c/c++/c#"
]
}
lastEditedByDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "last_edited_by",
"description": "Always `last_edited_by`"
},
"last_edited_by": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"last_edited_by"
],
"title": "Last Edited By"
}
lastEditedByPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "last_edited_by",
"description": "Always `last_edited_by`"
},
"last_edited_by": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"last_edited_by"
],
"title": "Last Edited By"
}
lastEditedByPropertyItemObjectResponse
{
"title": "Last Edited By",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "last_edited_by"
},
"last_edited_by": {
"anyOf": [
{
"$ref": "#/components/schemas/partialUserObjectResponse"
},
{
"$ref": "#/components/schemas/userObjectResponse"
}
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"last_edited_by",
"object",
"id"
]
}
lastEditedBySimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "last_edited_by",
"description": "Always `last_edited_by`"
},
"last_edited_by": {
"$ref": "#/components/schemas/userValueResponse"
}
},
"additionalProperties": false,
"required": [
"type",
"last_edited_by"
],
"title": "Last Edited By"
}
lastEditedTimeDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "last_edited_time",
"description": "Always `last_edited_time`"
},
"last_edited_time": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"last_edited_time"
],
"title": "Last Edited Time"
}
lastEditedTimePropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "last_edited_time",
"description": "Always `last_edited_time`"
},
"last_edited_time": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"last_edited_time"
],
"title": "Last Edited Time"
}
lastEditedTimePropertyItemObjectResponse
{
"title": "Last Edited Time",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "last_edited_time"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"last_edited_time",
"object",
"id"
]
}
lastEditedTimeSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "last_edited_time",
"description": "Always `last_edited_time`"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false,
"required": [
"type",
"last_edited_time"
],
"title": "Last Edited Time"
}
lastVisitedTimePropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "last_visited_time",
"description": "Always `last_visited_time`"
},
"last_visited_time": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"last_visited_time"
],
"title": "Last Visited Time"
}
linkMentionResponse
{
"type": "object",
"properties": {
"href": {
"type": "string",
"description": "The href of the link mention."
},
"title": {
"type": "string",
"description": "The title of the link."
},
"description": {
"type": "string",
"description": "The description of the link."
},
"link_author": {
"type": "string",
"description": "The author of the link."
},
"link_provider": {
"type": "string",
"description": "The provider of the link."
},
"thumbnail_url": {
"type": "string",
"description": "The thumbnail URL of the link."
},
"icon_url": {
"type": "string",
"description": "The icon URL of the link."
},
"iframe_url": {
"type": "string",
"description": "The iframe URL of the link."
},
"height": {
"type": "integer",
"description": "The height of the link preview iframe."
},
"padding": {
"type": "integer",
"description": "The padding of the link preview iframe."
},
"padding_top": {
"type": "integer",
"description": "The top padding of the link preview iframe."
}
},
"additionalProperties": false,
"required": [
"href"
]
}
linkPreviewBlockObjectResponse
{
"title": "Link Preview",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "link_preview"
},
"link_preview": {
"$ref": "#/components/schemas/mediaContentWithUrlResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"link_preview",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
linkPreviewMentionResponse
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL of the link preview mention."
}
},
"additionalProperties": false,
"required": [
"url"
]
}
linkToPageBlockObjectResponse
{
"title": "Link To Page",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "link_to_page"
},
"link_to_page": {
"anyOf": [
{
"title": "Page Id",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page_id"
},
"page_id": {
"$ref": "#/components/schemas/idRequest"
}
},
"required": [
"type",
"page_id"
]
},
{
"title": "Database Id",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id"
},
"database_id": {
"$ref": "#/components/schemas/idRequest"
}
},
"required": [
"type",
"database_id"
]
},
{
"title": "Comment Id",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "comment_id"
},
"comment_id": {
"$ref": "#/components/schemas/idRequest"
}
},
"required": [
"type",
"comment_id"
]
}
]
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"link_to_page",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
listViewConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "list",
"description": "The view type. Must be \"list\"."
},
"properties": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigRequest"
},
"maxItems": 100
},
{
"type": "null"
}
],
"description": "Property visibility and display configuration. Pass null to clear."
}
},
"required": [
"type"
]
}
listViewConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "list",
"description": "The view configuration type."
},
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigResponse"
},
"maxItems": 100,
"description": "Properties to display in list items."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
locationPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "location",
"description": "Always `location`"
},
"location": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"location"
],
"title": "Location"
}
mapViewConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "map",
"description": "The view type. Must be \"map\"."
},
"height": {
"oneOf": [
{
"type": "string",
"enum": [
"small",
"medium",
"large",
"extra_large"
],
"description": "One of: `small`, `medium`, `large`, `extra_large`"
},
{
"type": "null"
}
],
"description": "Map display height. Pass null to clear."
},
"map_by": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Property ID of the location property used to position items on the map. Pass null to clear."
},
"properties": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigRequest"
},
"maxItems": 100
},
{
"type": "null"
}
],
"description": "Property visibility and display configuration on map pin cards. Pass null to clear."
}
},
"required": [
"type"
]
}
mapViewConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "map",
"description": "The view configuration type."
},
"height": {
"type": "string",
"enum": [
"small",
"medium",
"large",
"extra_large"
],
"description": "Map display height."
},
"map_by": {
"type": "string",
"description": "Property ID of the location property used to position items on the map."
},
"map_by_property_name": {
"type": "string",
"description": "Map-by property name (convenience field)."
},
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigResponse"
},
"maxItems": 100,
"description": "Properties to display on map pin cards."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
mediaContentWithFileAndCaptionRequest
{
"anyOf": [
{
"title": "External",
"type": "object",
"properties": {
"external": {
"$ref": "#/components/schemas/externalFileRequest"
},
"type": {
"type": "string",
"const": "external"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"external"
]
},
{
"title": "File Upload",
"type": "object",
"properties": {
"file_upload": {
"$ref": "#/components/schemas/fileUploadIdRequest"
},
"type": {
"type": "string",
"const": "file_upload"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"file_upload"
]
}
]
}
mediaContentWithFileAndCaptionResponse
{
"anyOf": [
{
"$ref": "#/components/schemas/externalMediaContentWithFileAndCaptionResponse"
},
{
"$ref": "#/components/schemas/fileMediaContentWithFileAndCaptionResponse"
}
]
}
mediaContentWithFileNameAndCaptionRequest
{
"anyOf": [
{
"title": "External",
"type": "object",
"properties": {
"external": {
"$ref": "#/components/schemas/externalFileRequest"
},
"type": {
"type": "string",
"const": "external"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"name": {
"$ref": "#/components/schemas/stringRequest"
}
},
"additionalProperties": false,
"required": [
"external"
]
},
{
"title": "File Upload",
"type": "object",
"properties": {
"file_upload": {
"$ref": "#/components/schemas/fileUploadIdRequest"
},
"type": {
"type": "string",
"const": "file_upload"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"name": {
"$ref": "#/components/schemas/stringRequest"
}
},
"additionalProperties": false,
"required": [
"file_upload"
]
}
]
}
mediaContentWithFileNameAndCaptionResponse
{
"anyOf": [
{
"$ref": "#/components/schemas/externalMediaContentWithFileNameAndCaptionResponse"
},
{
"$ref": "#/components/schemas/fileMediaContentWithFileNameAndCaptionResponse"
}
]
}
mediaContentWithUrlAndCaptionRequest
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"url"
]
}
mediaContentWithUrlAndCaptionResponse
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
}
},
"required": [
"url",
"caption"
]
}
mediaContentWithUrlResponse
{
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/textRequest"
}
},
"required": [
"url"
]
}
meetingNotesBlockObjectResponse
{
"title": "Meeting Notes",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "meeting_notes"
},
"meeting_notes": {
"$ref": "#/components/schemas/transcriptionBlockResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"meeting_notes",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
mentionRichTextItemRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "mention",
"description": "Always `mention`"
},
"mention": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "user",
"description": "Always `user`"
},
"user": {
"$ref": "#/components/schemas/partialUserObjectRequest",
"description": "Details of the user mention."
}
},
"required": [
"user"
],
"title": "User"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date",
"description": "Always `date`"
},
"date": {
"$ref": "#/components/schemas/dateRequest",
"description": "Details of the date mention."
}
},
"required": [
"date"
],
"title": "Date"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page",
"description": "Always `page`"
},
"page": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of the page in the mention."
}
},
"required": [
"id"
],
"description": "Details of the page mention."
}
},
"required": [
"page"
],
"title": "Page"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database",
"description": "Always `database`"
},
"database": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of the database in the mention."
}
},
"required": [
"id"
],
"description": "Details of the database mention."
}
},
"required": [
"database"
],
"title": "Database"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "template_mention",
"description": "Always `template_mention`"
},
"template_mention": {
"$ref": "#/components/schemas/templateMentionRequest",
"description": "Details of the template mention."
}
},
"required": [
"template_mention"
],
"title": "Template Mention"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "custom_emoji",
"description": "Always `custom_emoji`"
},
"custom_emoji": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of the custom emoji."
},
"name": {
"type": "string",
"description": "The name of the custom emoji."
},
"url": {
"type": "string",
"description": "The URL of the custom emoji."
}
},
"required": [
"id"
],
"description": "Details of the custom emoji mention."
}
},
"required": [
"custom_emoji"
],
"title": "Custom Emoji"
}
],
"description": "Mention objects represent an inline mention of a database, date, link preview mention, page, template mention, or user. A mention is created in the Notion UI when a user types `@` followed by the name of the reference."
}
},
"required": [
"mention"
],
"title": "Mention"
}
mentionRichTextItemResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "mention",
"description": "Always `mention`"
},
"mention": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "user",
"description": "Always `user`"
},
"user": {
"$ref": "#/components/schemas/userValueResponse",
"description": "Details of the user mention."
}
},
"additionalProperties": false,
"required": [
"type",
"user"
],
"title": "User"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date",
"description": "Always `date`"
},
"date": {
"$ref": "#/components/schemas/dateResponse",
"description": "Details of the date mention."
}
},
"additionalProperties": false,
"required": [
"type",
"date"
],
"title": "Date"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "link_preview",
"description": "Always `link_preview`"
},
"link_preview": {
"$ref": "#/components/schemas/linkPreviewMentionResponse",
"description": "Details of the link preview mention."
}
},
"additionalProperties": false,
"required": [
"type",
"link_preview"
],
"title": "Link Preview"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "link_mention",
"description": "Always `link_mention`"
},
"link_mention": {
"$ref": "#/components/schemas/linkMentionResponse",
"description": "Details of the link mention."
}
},
"additionalProperties": false,
"required": [
"type",
"link_mention"
],
"title": "Link Mention"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page",
"description": "Always `page`"
},
"page": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the page in the mention."
}
},
"additionalProperties": false,
"required": [
"id"
],
"description": "Details of the page mention."
}
},
"additionalProperties": false,
"required": [
"type",
"page"
],
"title": "Page"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database",
"description": "Always `database`"
},
"database": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the database in the mention."
}
},
"additionalProperties": false,
"required": [
"id"
],
"description": "Details of the database mention."
}
},
"additionalProperties": false,
"required": [
"type",
"database"
],
"title": "Database"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "template_mention",
"description": "Always `template_mention`"
},
"template_mention": {
"$ref": "#/components/schemas/templateMentionResponse",
"description": "Details of the template mention."
}
},
"additionalProperties": false,
"required": [
"type",
"template_mention"
],
"title": "Template Mention"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "custom_emoji",
"description": "Always `custom_emoji`"
},
"custom_emoji": {
"$ref": "#/components/schemas/customEmojiResponse",
"description": "Details of the custom emoji mention."
}
},
"additionalProperties": false,
"required": [
"type",
"custom_emoji"
],
"title": "Custom Emoji"
}
],
"description": "Mention objects represent an inline mention of a database, date, link preview mention, page, template mention, or user. A mention is created in the Notion UI when a user types `@` followed by the name of the reference."
}
},
"required": [
"type",
"mention"
],
"title": "Mention"
}
multiSelectDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "multi_select",
"description": "Always `multi_select`"
},
"multi_select": {
"type": "object",
"properties": {
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/selectPropertyResponse"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"options"
]
}
},
"required": [
"type",
"multi_select"
],
"title": "Multi Select"
}
multiSelectPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "multi_select",
"description": "Always `multi_select`"
},
"multi_select": {
"type": "object",
"properties": {
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"color": {
"$ref": "#/components/schemas/selectColor"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name"
]
},
"maxItems": 100
}
}
}
},
"required": [
"multi_select"
],
"title": "Multi Select"
}
multiSelectPropertyFilter
{
"anyOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"contains": {
"$ref": "#/components/schemas/stringOrStringArray"
}
},
"required": [
"contains"
]
},
{
"type": "object",
"properties": {
"does_not_contain": {
"$ref": "#/components/schemas/stringOrStringArray"
}
},
"required": [
"does_not_contain"
]
}
]
},
{
"$ref": "#/components/schemas/existencePropertyFilter"
}
]
}
multiSelectPropertyItemObjectResponse
{
"title": "Multi Select",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "multi_select"
},
"multi_select": {
"type": "array",
"items": {
"$ref": "#/components/schemas/partialSelectResponse"
},
"maxItems": 100
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"multi_select",
"object",
"id"
]
}
multiSelectSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "multi_select",
"description": "Always `multi_select`"
},
"multi_select": {
"type": "array",
"items": {
"$ref": "#/components/schemas/partialSelectPropertyValueResponse"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type",
"multi_select"
],
"title": "Multi Select"
}
nonTerminalAsyncTaskStatus
{
"type": "string",
"enum": [
"queued",
"running",
"retrying"
]
}
noticonColor
{
"type": "string",
"enum": [
"gray",
"lightgray",
"brown",
"yellow",
"orange",
"green",
"blue",
"purple",
"pink",
"red"
],
"description": "One of: `gray`, `lightgray`, `brown`, `yellow`, `orange`, `green`, `blue`, `purple`, `pink`, `red`"
}
noticonIconResponse
{
"type": "object",
"properties": {
"name": {
"$ref": "#/components/schemas/noticonName",
"description": "The name of the Notion icon (e.g. pizza, meeting, home). See the Notion icon picker for valid names."
},
"color": {
"$ref": "#/components/schemas/noticonColor",
"description": "The color variant of the icon. Valid values: gray, lightgray, brown, yellow, orange, green, blue, purple, pink, red."
}
},
"additionalProperties": false,
"required": [
"name",
"color"
]
}
noticonName
{
"type": "string",
"examples": [
"pizza",
"meeting",
"home",
"star",
"robot"
]
}
numberDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number",
"description": "Always `number`"
},
"number": {
"type": "object",
"properties": {
"format": {
"$ref": "#/components/schemas/numberFormat",
"description": "The number format for the property."
}
},
"additionalProperties": false,
"required": [
"format"
]
}
},
"required": [
"type",
"number"
],
"title": "Number"
}
numberFormat
{
"type": "string",
"example": "number"
}
numberFormulaPropertyResponse
{
"title": "Number",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number"
},
"number": {
"type": [
"number",
"null"
]
}
},
"required": [
"type",
"number"
]
}
numberFormulaPropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number",
"description": "Always `number`"
},
"number": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"number"
],
"title": "Number"
}
numberGroupByConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number",
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
},
"range_start": {
"type": "integer",
"description": "Start of the range for number grouping buckets."
},
"range_end": {
"type": "integer",
"description": "End of the range for number grouping buckets."
},
"range_size": {
"type": "integer",
"minimum": 1,
"description": "Size of each bucket in number grouping."
}
},
"required": [
"type",
"property_id",
"sort"
]
}
numberGroupByConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number",
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups (ascending or descending only)."
},
"property_name": {
"type": "string",
"description": "Property name (convenience field)."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
},
"range_start": {
"type": "integer",
"description": "Start of the range for number grouping buckets."
},
"range_end": {
"type": "integer",
"description": "End of the range for number grouping buckets."
},
"range_size": {
"type": "integer",
"minimum": 1,
"description": "Size of each bucket in number grouping."
}
},
"additionalProperties": false,
"required": [
"type",
"property_id",
"sort"
]
}
numberPartialRollupValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number",
"description": "Always `number`"
},
"number": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"required": [
"type",
"number"
],
"title": "Number"
}
numberPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number",
"description": "Always `number`"
},
"number": {
"type": "object",
"properties": {
"format": {
"$ref": "#/components/schemas/numberFormat"
}
}
}
},
"required": [
"number"
],
"title": "Number"
}
numberPropertyFilter
{
"anyOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"equals": {
"type": "number"
}
},
"required": [
"equals"
]
},
{
"type": "object",
"properties": {
"does_not_equal": {
"type": "number"
}
},
"required": [
"does_not_equal"
]
},
{
"type": "object",
"properties": {
"greater_than": {
"type": "number"
}
},
"required": [
"greater_than"
]
},
{
"type": "object",
"properties": {
"less_than": {
"type": "number"
}
},
"required": [
"less_than"
]
},
{
"type": "object",
"properties": {
"greater_than_or_equal_to": {
"type": "number"
}
},
"required": [
"greater_than_or_equal_to"
]
},
{
"type": "object",
"properties": {
"less_than_or_equal_to": {
"type": "number"
}
},
"required": [
"less_than_or_equal_to"
]
}
]
},
{
"$ref": "#/components/schemas/existencePropertyFilter"
}
]
}
numberPropertyItemObjectResponse
{
"title": "Number",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number"
},
"number": {
"type": [
"number",
"null"
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"number",
"object",
"id"
]
}
numberSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number",
"description": "Always `number`"
},
"number": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"number"
],
"title": "Number"
}
numberedListFormat
{
"type": "string",
"enum": [
"numbers",
"letters",
"roman"
]
}
numberedListItemBlockObjectResponse
{
"title": "Numbered List Item",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "numbered_list_item"
},
"numbered_list_item": {
"$ref": "#/components/schemas/contentWithRichTextAndColorAndListResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"numbered_list_item",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
pageContentUpdatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page.content_updated",
"description": "Always `page.content_updated`"
},
"entity": {
"$ref": "#/components/schemas/webhookPageEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity whose content was updated."
},
"updated_blocks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/webhookUpdatedBlock"
},
"maxItems": 100,
"description": "The blocks that were updated in this event."
}
},
"additionalProperties": false,
"required": [
"parent",
"updated_blocks"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
pageCoverRequest
{
"oneOf": [
{
"$ref": "#/components/schemas/fileUploadPageCoverRequest"
},
{
"$ref": "#/components/schemas/externalPageCoverRequest"
}
]
}
pageCoverResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/filePageCoverResponse"
},
{
"$ref": "#/components/schemas/externalPageCoverResponse"
}
]
}
pageCreatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page.created",
"description": "Always `page.created`"
},
"entity": {
"$ref": "#/components/schemas/webhookPageEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
pageDeletedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page.deleted",
"description": "Always `page.deleted`"
},
"entity": {
"$ref": "#/components/schemas/webhookPageEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
pageIconRequest
{
"oneOf": [
{
"$ref": "#/components/schemas/fileUploadPageIconRequest"
},
{
"$ref": "#/components/schemas/emojiPageIconRequest"
},
{
"$ref": "#/components/schemas/externalPageIconRequest"
},
{
"$ref": "#/components/schemas/customEmojiPageIconRequest"
},
{
"$ref": "#/components/schemas/iconPageIconRequest"
}
]
}
pageIconResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/emojiPageIconResponse"
},
{
"$ref": "#/components/schemas/filePageIconResponse"
},
{
"$ref": "#/components/schemas/externalPageIconResponse"
},
{
"$ref": "#/components/schemas/customEmojiPageIconResponse"
},
{
"$ref": "#/components/schemas/iconPageIconResponse"
}
]
}
pageIdParentForBlockBasedObjectResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page_id",
"description": "The parent type."
},
"page_id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the parent page."
}
},
"additionalProperties": false,
"required": [
"type",
"page_id"
]
}
pageLockedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page.locked",
"description": "Always `page.locked`"
},
"entity": {
"$ref": "#/components/schemas/webhookPageEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
pageMarkdownResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "page_markdown",
"description": "The type of object, always 'page_markdown'."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the page or block."
},
"markdown": {
"type": "string",
"description": "The page content rendered as enhanced Markdown."
},
"truncated": {
"type": "boolean",
"description": "Whether the content was truncated due to exceeding the record count limit."
},
"unknown_block_ids": {
"type": "array",
"items": {
"$ref": "#/components/schemas/idResponse"
},
"maxItems": 100,
"description": "Block IDs that could not be loaded (appeared as <unknown> tags in the markdown). Pass these IDs back to this endpoint to fetch their content separately."
}
},
"additionalProperties": false,
"required": [
"object",
"id",
"markdown",
"truncated",
"unknown_block_ids"
]
}
pageMovedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page.moved",
"description": "Always `page.moved`"
},
"entity": {
"$ref": "#/components/schemas/webhookPageEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
pageObjectResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "page",
"description": "The page object type name."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the page."
},
"created_time": {
"type": "string",
"format": "date-time",
"description": "Date and time when this page was created."
},
"last_edited_time": {
"type": "string",
"format": "date-time",
"description": "Date and time when this page was last edited."
},
"in_trash": {
"type": "boolean",
"description": "Whether the page is in trash."
},
"is_archived": {
"type": "boolean",
"description": "Whether the page has been archived."
},
"is_locked": {
"type": "boolean",
"description": "Whether the page is locked from editing in the Notion app UI."
},
"url": {
"type": "string",
"description": "The URL of the Notion page."
},
"public_url": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The public URL of the Notion page, if it has been published to the web."
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse",
"description": "Information about the page's parent."
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/pagePropertyValueWithIdResponse"
},
"description": "Property values of this page."
},
"icon": {
"oneOf": [
{
"$ref": "#/components/schemas/pageIconResponse"
},
{
"type": "null"
}
],
"description": "Page icon."
},
"cover": {
"oneOf": [
{
"$ref": "#/components/schemas/pageCoverResponse"
},
{
"type": "null"
}
],
"description": "Page cover image."
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse",
"description": "User who created the page."
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse",
"description": "User who last edited the page."
}
},
"additionalProperties": false,
"required": [
"object",
"id",
"created_time",
"last_edited_time",
"in_trash",
"is_archived",
"is_locked",
"url",
"public_url",
"parent",
"properties",
"icon",
"cover",
"created_by",
"last_edited_by"
]
}
pagePositionSchema
{
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "after_block"
},
"after_block": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idRequest"
}
},
"required": [
"id"
]
}
},
"required": [
"type",
"after_block"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page_start"
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page_end"
}
},
"required": [
"type"
]
}
]
}
pagePropertiesUpdatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page.properties_updated",
"description": "Always `page.properties_updated`"
},
"entity": {
"$ref": "#/components/schemas/webhookPageEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the page whose properties were updated."
},
"updated_properties": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "The IDs of the properties that were updated."
}
},
"additionalProperties": false,
"required": [
"parent",
"updated_properties"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
pagePropertyValueWithIdResponse
{
"allOf": [
{
"$ref": "#/components/schemas/idObjectResponse"
},
{
"oneOf": [
{
"$ref": "#/components/schemas/simpleOrArrayPropertyValueResponse"
},
{
"$ref": "#/components/schemas/partialRollupPropertyResponse"
}
]
}
]
}
pageTranscriptionBlockTranscriptDeletedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page.transcription_block.transcript_deleted",
"description": "Always `page.transcription_block.transcript_deleted`"
},
"entity": {
"$ref": "#/components/schemas/webhookPageEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"target": {
"$ref": "#/components/schemas/webhookExternalBlock",
"description": "The block that contained the deleted transcript."
},
"transcript_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The ID of the deleted transcript, or `null` if not available."
}
},
"required": [
"target",
"transcript_id"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
pageUndeletedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page.undeleted",
"description": "Always `page.undeleted`"
},
"entity": {
"$ref": "#/components/schemas/webhookPageEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
pageUnlockedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page.unlocked",
"description": "Always `page.unlocked`"
},
"entity": {
"$ref": "#/components/schemas/webhookPageEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
paragraphBlockObjectResponse
{
"title": "Paragraph",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "paragraph"
},
"paragraph": {
"$ref": "#/components/schemas/contentWithRichTextColorAndIconResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"paragraph",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
paragraphWithSingleLevelOfChildrenRequest
{
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"icon": {
"$ref": "#/components/schemas/pageIconRequest"
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/blockObjectRequestWithoutChildren"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"rich_text"
]
}
parentForBlockBasedObjectResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/databaseParentResponse"
},
{
"$ref": "#/components/schemas/dataSourceParentResponse"
},
{
"$ref": "#/components/schemas/pageIdParentForBlockBasedObjectResponse"
},
{
"$ref": "#/components/schemas/blockIdParentForBlockBasedObjectResponse"
},
{
"$ref": "#/components/schemas/agentIdParentForBlockBasedObjectResponse"
},
{
"$ref": "#/components/schemas/workspaceParentForBlockBasedObjectResponse"
}
]
}
parentOfDataSourceRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "database_id",
"description": "Always `database_id`"
},
"database_id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of the parent database (with or without dashes), for example, 195de9221179449fab8075a27c979105"
}
},
"required": [
"database_id"
],
"title": "Database Id"
}
parentOfDataSourceResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/databaseParentResponse"
},
{
"$ref": "#/components/schemas/dataSourceParentResponse"
}
],
"description": "The parent of the data source. This is typically a database (`database_id`), but for externally synced data sources, can be another data source (`data_source_id`)."
}
parentOfDatabaseResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/pageIdParentForBlockBasedObjectResponse"
},
{
"$ref": "#/components/schemas/workspaceParentForBlockBasedObjectResponse"
},
{
"$ref": "#/components/schemas/databaseParentResponse"
},
{
"$ref": "#/components/schemas/blockIdParentForBlockBasedObjectResponse"
}
]
}
partialBlockObjectResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"object",
"id"
]
}
partialDataSourceObjectResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "data_source",
"description": "The data source object type name."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the data source."
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/databasePropertyConfigResponse"
},
"description": "The properties schema of the data source."
}
},
"additionalProperties": false,
"required": [
"object",
"id",
"properties"
]
}
partialDataSourceViewObjectResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "view",
"description": "The object type name."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the view."
},
"parent": {
"$ref": "#/components/schemas/databaseParentResponse",
"description": "The parent database of the view."
},
"type": {
"type": "string",
"enum": [
"table",
"board",
"list",
"calendar",
"timeline",
"gallery",
"form",
"chart",
"map",
"dashboard"
],
"description": "The view type."
}
},
"additionalProperties": false,
"required": [
"object",
"id",
"parent",
"type"
]
}
partialDatabaseObjectResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "database",
"description": "The database object type name."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the database."
}
},
"additionalProperties": false,
"required": [
"object",
"id"
]
}
partialPageObjectResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "page",
"description": "The page object type name."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the page."
}
},
"additionalProperties": false,
"required": [
"object",
"id"
]
}
partialRollupPropertyResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rollup",
"description": "Always `rollup`"
},
"rollup": {
"$ref": "#/components/schemas/partialRollupValueResponse"
}
},
"additionalProperties": false,
"required": [
"type",
"rollup"
]
}
partialRollupValueResponse
{
"allOf": [
{
"$ref": "#/components/schemas/partialRollupValueResponseCommon"
},
{
"oneOf": [
{
"$ref": "#/components/schemas/numberPartialRollupValueResponse"
},
{
"$ref": "#/components/schemas/datePartialRollupValueResponse"
},
{
"$ref": "#/components/schemas/arrayPartialRollupValueResponse"
},
{
"$ref": "#/components/schemas/unsupportedPartialRollupValueResponse"
}
]
}
]
}
partialRollupValueResponseCommon
{
"type": "object",
"properties": {
"function": {
"$ref": "#/components/schemas/rollupFunction",
"description": "The function used for the rollup, e.g. count, count_values, percent_not_empty, max."
}
},
"additionalProperties": false,
"required": [
"function"
]
}
partialSelectPropertyValueResponse
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"color": {
"type": "string",
"enum": [
"default",
"gray",
"brown",
"orange",
"yellow",
"green",
"blue",
"purple",
"pink",
"red"
],
"description": "One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`"
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"color"
]
}
partialSelectResponse
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"color": {
"$ref": "#/components/schemas/selectColor"
}
},
"required": [
"id",
"name",
"color"
]
}
partialUserObjectRequest
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of the user."
},
"object": {
"type": "string",
"const": "user",
"description": "The user object type name."
}
},
"required": [
"id"
]
}
partialUserObjectResponse
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse"
},
"object": {
"type": "string",
"const": "user",
"description": "Always `user`"
}
},
"additionalProperties": false,
"required": [
"id",
"object"
]
}
pdfBlockObjectResponse
{
"title": "Pdf",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "pdf"
},
"pdf": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"pdf",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
peopleArrayBasedPropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "people",
"description": "Always `people`"
},
"people": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/userValueResponse"
},
{
"$ref": "#/components/schemas/groupObjectResponse"
}
]
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type",
"people"
],
"title": "People"
}
peopleDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "people",
"description": "Always `people`"
},
"people": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"people"
],
"title": "People"
}
peoplePropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "people",
"description": "Always `people`"
},
"people": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"people"
],
"title": "People"
}
peoplePropertyFilter
{
"anyOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"contains": {
"$ref": "#/components/schemas/personIdOrMe"
}
},
"required": [
"contains"
]
},
{
"type": "object",
"properties": {
"does_not_contain": {
"$ref": "#/components/schemas/personIdOrMe"
}
},
"required": [
"does_not_contain"
]
}
]
},
{
"$ref": "#/components/schemas/existencePropertyFilter"
}
]
}
peoplePropertyItemObjectResponse
{
"title": "People",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "people"
},
"people": {
"anyOf": [
{
"$ref": "#/components/schemas/partialUserObjectResponse"
},
{
"$ref": "#/components/schemas/userObjectResponse"
}
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"people",
"object",
"id"
]
}
personGroupByConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"person",
"created_by",
"last_edited_by"
],
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"required": [
"type",
"property_id",
"sort"
]
}
personGroupByConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"person",
"created_by",
"last_edited_by"
],
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups (only manual supported)."
},
"property_name": {
"type": "string",
"description": "Property name (convenience field)."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"additionalProperties": false,
"required": [
"type",
"property_id",
"sort"
]
}
personIdOrMe
{
"anyOf": [
{
"$ref": "#/components/schemas/idRequest"
},
{
"type": "string",
"const": "me"
}
]
}
personUserObjectResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "person",
"description": "Indicates this user is a person."
},
"person": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The email of the person."
},
"email_verified": {
"type": "boolean",
"description": "Whether the person's email is verified."
}
},
"additionalProperties": false,
"description": "Details about the person, when the `type` of the user is `person`."
}
},
"required": [
"type",
"person"
],
"title": "Person"
}
phoneNumberDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "phone_number",
"description": "Always `phone_number`"
},
"phone_number": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"phone_number"
],
"title": "Phone Number"
}
phoneNumberPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "phone_number",
"description": "Always `phone_number`"
},
"phone_number": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"phone_number"
],
"title": "Phone Number"
}
phoneNumberPropertyItemObjectResponse
{
"title": "Phone Number",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "phone_number"
},
"phone_number": {
"type": [
"string",
"null"
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"phone_number",
"object",
"id"
]
}
phoneNumberSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "phone_number",
"description": "Always `phone_number`"
},
"phone_number": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"phone_number"
],
"title": "Phone Number"
}
placePropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "place",
"description": "Always `place`"
},
"place": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"place"
],
"title": "Place"
}
placePropertyItemObjectResponse
{
"title": "Place",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "place"
},
"place": {
"type": [
"object",
"null"
],
"properties": {
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"name": {
"type": [
"string",
"null"
]
},
"address": {
"type": [
"string",
"null"
]
},
"aws_place_id": {
"type": [
"string",
"null"
]
},
"google_place_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"lat",
"lon"
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"place",
"object",
"id"
]
}
placePropertyValueResponse
{
"type": "object",
"properties": {
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"address": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"aws_place_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"google_place_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"lat",
"lon"
]
}
placeSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "place",
"description": "Always `place`"
},
"place": {
"oneOf": [
{
"$ref": "#/components/schemas/placePropertyValueResponse"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"place"
],
"title": "Place"
}
propertyConfigurationRequest
{
"allOf": [
{
"$ref": "#/components/schemas/propertyConfigurationRequestCommon"
},
{
"oneOf": [
{
"$ref": "#/components/schemas/numberPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/formulaPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/selectPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/multiSelectPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/statusPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/relationPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/rollupPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/uniqueIdPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/titlePropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/richTextPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/urlPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/peoplePropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/filesPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/emailPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/phoneNumberPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/datePropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/checkboxPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/createdByPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/createdTimePropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/lastEditedByPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/lastEditedTimePropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/buttonPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/locationPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/verificationPropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/lastVisitedTimePropertyConfigurationRequest"
},
{
"$ref": "#/components/schemas/placePropertyConfigurationRequest"
}
]
}
]
}
propertyConfigurationRequestCommon
{
"type": "object",
"properties": {
"description": {
"oneOf": [
{
"$ref": "#/components/schemas/propertyDescriptionRequest"
},
{
"type": "null"
}
],
"description": "The description of the property."
}
}
}
propertyDescriptionRequest
{
"type": "string",
"minLength": 1,
"maxLength": 280
}
propertyFilter
{
"anyOf": [
{
"title": "Title",
"type": "object",
"properties": {
"title": {
"$ref": "#/components/schemas/textPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "title"
}
},
"additionalProperties": false,
"required": [
"title",
"property"
]
},
{
"title": "Rich Text",
"type": "object",
"properties": {
"rich_text": {
"$ref": "#/components/schemas/textPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "rich_text"
}
},
"additionalProperties": false,
"required": [
"rich_text",
"property"
]
},
{
"title": "Number",
"type": "object",
"properties": {
"number": {
"$ref": "#/components/schemas/numberPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "number"
}
},
"additionalProperties": false,
"required": [
"number",
"property"
]
},
{
"title": "Checkbox",
"type": "object",
"properties": {
"checkbox": {
"$ref": "#/components/schemas/checkboxPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "checkbox"
}
},
"additionalProperties": false,
"required": [
"checkbox",
"property"
]
},
{
"title": "Select",
"type": "object",
"properties": {
"select": {
"$ref": "#/components/schemas/selectPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "select"
}
},
"additionalProperties": false,
"required": [
"select",
"property"
]
},
{
"title": "Multi Select",
"type": "object",
"properties": {
"multi_select": {
"$ref": "#/components/schemas/multiSelectPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "multi_select"
}
},
"additionalProperties": false,
"required": [
"multi_select",
"property"
]
},
{
"title": "Status",
"type": "object",
"properties": {
"status": {
"$ref": "#/components/schemas/statusPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "status"
}
},
"additionalProperties": false,
"required": [
"status",
"property"
]
},
{
"title": "Date",
"type": "object",
"properties": {
"date": {
"$ref": "#/components/schemas/datePropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "date"
}
},
"additionalProperties": false,
"required": [
"date",
"property"
]
},
{
"title": "People",
"type": "object",
"properties": {
"people": {
"$ref": "#/components/schemas/peoplePropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "people"
}
},
"additionalProperties": false,
"required": [
"people",
"property"
]
},
{
"title": "Files",
"type": "object",
"properties": {
"files": {
"$ref": "#/components/schemas/existencePropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "files"
}
},
"additionalProperties": false,
"required": [
"files",
"property"
]
},
{
"title": "Url",
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/textPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "url"
}
},
"additionalProperties": false,
"required": [
"url",
"property"
]
},
{
"title": "Email",
"type": "object",
"properties": {
"email": {
"$ref": "#/components/schemas/textPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "email"
}
},
"additionalProperties": false,
"required": [
"email",
"property"
]
},
{
"title": "Phone Number",
"type": "object",
"properties": {
"phone_number": {
"$ref": "#/components/schemas/textPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "phone_number"
}
},
"additionalProperties": false,
"required": [
"phone_number",
"property"
]
},
{
"title": "Relation",
"type": "object",
"properties": {
"relation": {
"$ref": "#/components/schemas/relationPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "relation"
}
},
"additionalProperties": false,
"required": [
"relation",
"property"
]
},
{
"title": "Created By",
"type": "object",
"properties": {
"created_by": {
"$ref": "#/components/schemas/peoplePropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "created_by"
}
},
"additionalProperties": false,
"required": [
"created_by",
"property"
]
},
{
"title": "Created Time",
"type": "object",
"properties": {
"created_time": {
"$ref": "#/components/schemas/datePropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "created_time"
}
},
"additionalProperties": false,
"required": [
"created_time",
"property"
]
},
{
"title": "Last Edited By",
"type": "object",
"properties": {
"last_edited_by": {
"$ref": "#/components/schemas/peoplePropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "last_edited_by"
}
},
"additionalProperties": false,
"required": [
"last_edited_by",
"property"
]
},
{
"title": "Last Edited Time",
"type": "object",
"properties": {
"last_edited_time": {
"$ref": "#/components/schemas/datePropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "last_edited_time"
}
},
"additionalProperties": false,
"required": [
"last_edited_time",
"property"
]
},
{
"title": "Formula",
"type": "object",
"properties": {
"formula": {
"$ref": "#/components/schemas/formulaPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "formula"
}
},
"additionalProperties": false,
"required": [
"formula",
"property"
]
},
{
"title": "Unique Id",
"type": "object",
"properties": {
"unique_id": {
"$ref": "#/components/schemas/numberPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "unique_id"
}
},
"additionalProperties": false,
"required": [
"unique_id",
"property"
]
},
{
"title": "Rollup",
"type": "object",
"properties": {
"rollup": {
"$ref": "#/components/schemas/rollupPropertyFilter"
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "rollup"
}
},
"additionalProperties": false,
"required": [
"rollup",
"property"
]
},
{
"title": "Verification",
"type": "object",
"properties": {
"verification": {
"anyOf": [
{
"$ref": "#/components/schemas/verificationPropertyStatusFilter"
},
{
"$ref": "#/components/schemas/verificationPropertyDoesNotEqualFilter"
}
]
},
"property": {
"type": "string"
},
"type": {
"type": "string",
"const": "verification"
}
},
"additionalProperties": false,
"required": [
"verification",
"property"
]
}
]
}
propertyItemListResponse
{
"$ref": "#/components/schemas/propertyItemPropertyItemListResponse"
}
propertyItemObjectResponse
{
"anyOf": [
{
"$ref": "#/components/schemas/numberPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/urlPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/selectPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/multiSelectPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/statusPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/datePropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/emailPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/phoneNumberPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/checkboxPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/filesPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/createdByPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/createdTimePropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/lastEditedByPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/lastEditedTimePropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/formulaPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/buttonPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/uniqueIdPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/verificationPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/placePropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/titlePropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/richTextPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/peoplePropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/relationPropertyItemObjectResponse"
},
{
"$ref": "#/components/schemas/rollupPropertyItemObjectResponse"
}
]
}
propertyItemPropertyItemListResponse
{
"title": "Property Item",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "property_item"
},
"property_item": {
"anyOf": [
{
"title": "Title",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "title"
},
"title": {
"$ref": "#/components/schemas/emptyObject"
},
"next_url": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
}
},
"required": [
"type",
"title",
"next_url",
"id"
]
},
{
"title": "Rich Text",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rich_text"
},
"rich_text": {
"$ref": "#/components/schemas/emptyObject"
},
"next_url": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
}
},
"required": [
"type",
"rich_text",
"next_url",
"id"
]
},
{
"title": "People",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "people"
},
"people": {
"$ref": "#/components/schemas/emptyObject"
},
"next_url": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
}
},
"required": [
"type",
"people",
"next_url",
"id"
]
},
{
"title": "Relation",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "relation"
},
"relation": {
"$ref": "#/components/schemas/emptyObject"
},
"next_url": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
}
},
"required": [
"type",
"relation",
"next_url",
"id"
]
},
{
"title": "Rollup",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rollup"
},
"rollup": {
"anyOf": [
{
"title": "Number",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number"
},
"number": {
"type": [
"number",
"null"
]
},
"function": {
"$ref": "#/components/schemas/rollupFunction"
}
},
"required": [
"type",
"number",
"function"
]
},
{
"title": "Date",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date"
},
"date": {
"anyOf": [
{
"$ref": "#/components/schemas/dateResponse"
},
{
"type": "null"
}
]
},
"function": {
"$ref": "#/components/schemas/rollupFunction"
}
},
"required": [
"type",
"date",
"function"
]
},
{
"title": "Array",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "array"
},
"array": {
"type": "array",
"items": {
"$ref": "#/components/schemas/emptyObject"
},
"maxItems": 100
},
"function": {
"$ref": "#/components/schemas/rollupFunction"
}
},
"required": [
"type",
"array",
"function"
]
},
{
"title": "Unsupported",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "unsupported"
},
"unsupported": {
"$ref": "#/components/schemas/emptyObject"
},
"function": {
"$ref": "#/components/schemas/rollupFunction"
}
},
"required": [
"type",
"unsupported",
"function"
]
},
{
"title": "Incomplete",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "incomplete"
},
"incomplete": {
"$ref": "#/components/schemas/emptyObject"
},
"function": {
"$ref": "#/components/schemas/rollupFunction"
}
},
"required": [
"type",
"incomplete",
"function"
]
}
]
},
"next_url": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
}
},
"required": [
"type",
"rollup",
"next_url",
"id"
]
}
]
},
"object": {
"type": "string",
"const": "list"
},
"next_cursor": {
"type": [
"string",
"null"
]
},
"has_more": {
"type": "boolean"
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/propertyItemObjectResponse"
}
}
},
"required": [
"type",
"property_item",
"object",
"next_cursor",
"has_more",
"results"
]
}
propertyOrTimestampFilter
{
"anyOf": [
{
"$ref": "#/components/schemas/propertyFilter"
},
{
"$ref": "#/components/schemas/timestampFilter"
}
]
}
propertyOrTimestampFilterArray
{
"type": "array",
"items": {
"$ref": "#/components/schemas/propertyOrTimestampFilter"
},
"maxItems": 100
}
propertySortResponse
{
"type": "object",
"properties": {
"property": {
"type": "string",
"description": "The name or ID of the property to sort by."
},
"direction": {
"type": "string",
"enum": [
"ascending",
"descending"
],
"description": "Sort direction."
}
},
"additionalProperties": false,
"required": [
"property",
"direction"
]
}
publicApiAsyncTaskStatusResultJsonValue
{
"oneOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/publicApiAsyncTaskStatusResultJsonValue"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/publicApiAsyncTaskStatusResultJsonValue"
}
}
]
}
publicApiCommonErrorResponse
{
"type": "object",
"properties": {
"object": {
"const": "error"
},
"message": {
"type": "string"
},
"additional_data": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
}
},
"required": [
"object",
"message"
]
}
quickFilterConditionRequest
{
"type": "object",
"description": "A property filter condition. Same shape as a property filter but without the \"property\" field (the hashmap key identifies the property). For example: { \"select\": { \"equals\": \"High\" } }."
}
quickFilterConditionResponse
{
"type": "object",
"description": "A property filter condition. Same shape as a property filter but without the \"property\" field. For example: { \"select\": { \"equals\": \"High\" } }."
}
quoteBlockObjectResponse
{
"title": "Quote",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "quote"
},
"quote": {
"$ref": "#/components/schemas/contentWithRichTextAndColorResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"quote",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
relationArrayBasedPropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "relation",
"description": "Always `relation`"
},
"relation": {
"type": "array",
"items": {
"$ref": "#/components/schemas/relationItemPropertyValueResponse"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type",
"relation"
],
"title": "Relation"
}
relationDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "relation",
"description": "Always `relation`"
},
"relation": {
"$ref": "#/components/schemas/databasePropertyRelationConfigResponse"
}
},
"required": [
"type",
"relation"
],
"title": "Relation"
}
relationGroupByConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "relation",
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"required": [
"type",
"property_id",
"sort"
]
}
relationGroupByConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "relation",
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups."
},
"property_name": {
"type": "string",
"description": "Property name (convenience field)."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"additionalProperties": false,
"required": [
"type",
"property_id",
"sort"
]
}
relationItemPropertyValueResponse
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idRequest"
}
},
"required": [
"id"
]
}
relationPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "relation",
"description": "Always `relation`"
},
"relation": {
"allOf": [
{
"type": "object",
"properties": {
"data_source_id": {
"$ref": "#/components/schemas/idRequest"
}
},
"required": [
"data_source_id"
]
},
{
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "single_property",
"description": "Always `single_property`"
},
"single_property": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"single_property"
],
"title": "Single Property"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "dual_property",
"description": "Always `dual_property`"
},
"dual_property": {
"type": "object",
"properties": {
"synced_property_id": {
"type": "string"
},
"synced_property_name": {
"type": "string"
}
}
}
},
"required": [
"dual_property"
],
"title": "Dual Property"
}
]
}
]
}
},
"required": [
"relation"
],
"title": "Relation"
}
relationPropertyFilter
{
"anyOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"contains": {
"$ref": "#/components/schemas/idRequest"
}
},
"required": [
"contains"
]
},
{
"type": "object",
"properties": {
"does_not_contain": {
"$ref": "#/components/schemas/idRequest"
}
},
"required": [
"does_not_contain"
]
}
]
},
{
"$ref": "#/components/schemas/existencePropertyFilter"
}
]
}
relationPropertyItemObjectResponse
{
"title": "Relation",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "relation"
},
"relation": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"id"
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"relation",
"object",
"id"
]
}
relativeDateValue
{
"type": "string",
"enum": [
"today",
"tomorrow",
"yesterday",
"one_week_ago",
"one_week_from_now",
"one_month_ago",
"one_month_from_now"
]
}
requestStatusResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"complete",
"incomplete"
],
"description": "Whether the result set is complete or incomplete. `incomplete` means the response does not include all rows that match the query parameters (e.g. due to a server-side pagination depth limit)."
},
"incomplete_reason": {
"type": "string",
"const": "query_result_limit_reached",
"description": "Why the result set is incomplete. Only present when `type` is `incomplete`."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
richTextArrayBasedPropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rich_text",
"description": "Always `rich_text`"
},
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type",
"rich_text"
],
"title": "Rich Text"
}
richTextDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rich_text",
"description": "Always `rich_text`"
},
"rich_text": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"rich_text"
],
"title": "Rich Text"
}
richTextItemRequest
{
"allOf": [
{
"$ref": "#/components/schemas/richTextItemRequestCommon"
},
{
"oneOf": [
{
"$ref": "#/components/schemas/textRichTextItemRequest"
},
{
"$ref": "#/components/schemas/mentionRichTextItemRequest"
},
{
"$ref": "#/components/schemas/equationRichTextItemRequest"
}
]
}
]
}
richTextItemRequestCommon
{
"type": "object",
"properties": {
"annotations": {
"$ref": "#/components/schemas/annotationRequest",
"description": "All rich text objects contain an annotations object that sets the styling for the rich text."
}
}
}
richTextItemResponse
{
"allOf": [
{
"$ref": "#/components/schemas/richTextItemResponseCommon"
},
{
"oneOf": [
{
"$ref": "#/components/schemas/textRichTextItemResponse"
},
{
"$ref": "#/components/schemas/mentionRichTextItemResponse"
},
{
"$ref": "#/components/schemas/equationRichTextItemResponse"
}
]
}
]
}
richTextItemResponseCommon
{
"type": "object",
"properties": {
"plain_text": {
"type": "string",
"description": "The plain text content of the rich text object, without any styling."
},
"href": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "A URL that the rich text object links to or mentions."
},
"annotations": {
"$ref": "#/components/schemas/annotationResponse",
"description": "All rich text objects contain an annotations object that sets the styling for the rich text."
}
},
"additionalProperties": false,
"required": [
"plain_text",
"href",
"annotations"
]
}
richTextPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rich_text",
"description": "Always `rich_text`"
},
"rich_text": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"rich_text"
],
"title": "Rich Text"
}
richTextPropertyItemObjectResponse
{
"title": "Rich Text",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rich_text"
},
"rich_text": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"rich_text",
"object",
"id"
]
}
rollupDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rollup",
"description": "Always `rollup`"
},
"rollup": {
"type": "object",
"properties": {
"function": {
"$ref": "#/components/schemas/rollupFunction",
"description": "The function to use for the rollup, e.g. count, count_values, percent_not_empty, max."
},
"rollup_property_name": {
"type": "string"
},
"relation_property_name": {
"type": "string"
},
"rollup_property_id": {
"type": "string"
},
"relation_property_id": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"function",
"rollup_property_name",
"relation_property_name",
"rollup_property_id",
"relation_property_id"
]
}
},
"required": [
"type",
"rollup"
],
"title": "Rollup"
}
rollupFunction
{
"type": "string",
"enum": [
"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",
"count_per_group",
"percent_per_group",
"show_original"
]
}
rollupPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rollup",
"description": "Always `rollup`"
},
"rollup": {
"allOf": [
{
"type": "object",
"properties": {
"function": {
"$ref": "#/components/schemas/rollupFunction",
"description": "The function to use for the rollup, e.g. count, count_values, percent_not_empty, max."
}
},
"required": [
"function"
]
},
{
"oneOf": [
{
"type": "object",
"properties": {
"relation_property_name": {
"type": "string"
},
"rollup_property_name": {
"type": "string"
}
},
"required": [
"relation_property_name",
"rollup_property_name"
]
},
{
"type": "object",
"properties": {
"relation_property_id": {
"type": "string"
},
"rollup_property_name": {
"type": "string"
}
},
"required": [
"relation_property_id",
"rollup_property_name"
]
},
{
"type": "object",
"properties": {
"relation_property_name": {
"type": "string"
},
"rollup_property_id": {
"type": "string"
}
},
"required": [
"relation_property_name",
"rollup_property_id"
]
},
{
"type": "object",
"properties": {
"relation_property_id": {
"type": "string"
},
"rollup_property_id": {
"type": "string"
}
},
"required": [
"relation_property_id",
"rollup_property_id"
]
}
]
}
]
}
},
"required": [
"rollup"
],
"title": "Rollup"
}
rollupPropertyFilter
{
"anyOf": [
{
"type": "object",
"properties": {
"any": {
"$ref": "#/components/schemas/rollupSubfilterPropertyFilter"
}
},
"required": [
"any"
]
},
{
"type": "object",
"properties": {
"none": {
"$ref": "#/components/schemas/rollupSubfilterPropertyFilter"
}
},
"required": [
"none"
]
},
{
"type": "object",
"properties": {
"every": {
"$ref": "#/components/schemas/rollupSubfilterPropertyFilter"
}
},
"required": [
"every"
]
},
{
"type": "object",
"properties": {
"date": {
"$ref": "#/components/schemas/datePropertyFilter"
}
},
"required": [
"date"
]
},
{
"type": "object",
"properties": {
"number": {
"$ref": "#/components/schemas/numberPropertyFilter"
}
},
"required": [
"number"
]
}
]
}
rollupPropertyItemObjectResponse
{
"title": "Rollup",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rollup"
},
"rollup": {
"anyOf": [
{
"title": "Number",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number"
},
"number": {
"type": [
"number",
"null"
]
},
"function": {
"$ref": "#/components/schemas/rollupFunction"
}
},
"required": [
"type",
"number",
"function"
]
},
{
"title": "Date",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "date"
},
"date": {
"anyOf": [
{
"$ref": "#/components/schemas/dateResponse"
},
{
"type": "null"
}
]
},
"function": {
"$ref": "#/components/schemas/rollupFunction"
}
},
"required": [
"type",
"date",
"function"
]
},
{
"title": "Array",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "array"
},
"array": {
"type": "array",
"items": {
"$ref": "#/components/schemas/emptyObject"
},
"maxItems": 100
},
"function": {
"$ref": "#/components/schemas/rollupFunction"
}
},
"required": [
"type",
"array",
"function"
]
},
{
"title": "Unsupported",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "unsupported"
},
"unsupported": {
"$ref": "#/components/schemas/emptyObject"
},
"function": {
"$ref": "#/components/schemas/rollupFunction"
}
},
"required": [
"type",
"unsupported",
"function"
]
},
{
"title": "Incomplete",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "incomplete"
},
"incomplete": {
"$ref": "#/components/schemas/emptyObject"
},
"function": {
"$ref": "#/components/schemas/rollupFunction"
}
},
"required": [
"type",
"incomplete",
"function"
]
}
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"rollup",
"object",
"id"
]
}
rollupSubfilterPropertyFilter
{
"anyOf": [
{
"type": "object",
"properties": {
"rich_text": {
"$ref": "#/components/schemas/textPropertyFilter"
}
},
"required": [
"rich_text"
]
},
{
"type": "object",
"properties": {
"number": {
"$ref": "#/components/schemas/numberPropertyFilter"
}
},
"required": [
"number"
]
},
{
"type": "object",
"properties": {
"checkbox": {
"$ref": "#/components/schemas/checkboxPropertyFilter"
}
},
"required": [
"checkbox"
]
},
{
"type": "object",
"properties": {
"select": {
"$ref": "#/components/schemas/selectPropertyFilter"
}
},
"required": [
"select"
]
},
{
"type": "object",
"properties": {
"multi_select": {
"$ref": "#/components/schemas/multiSelectPropertyFilter"
}
},
"required": [
"multi_select"
]
},
{
"type": "object",
"properties": {
"relation": {
"$ref": "#/components/schemas/relationPropertyFilter"
}
},
"required": [
"relation"
]
},
{
"type": "object",
"properties": {
"date": {
"$ref": "#/components/schemas/datePropertyFilter"
}
},
"required": [
"date"
]
},
{
"type": "object",
"properties": {
"people": {
"$ref": "#/components/schemas/peoplePropertyFilter"
}
},
"required": [
"people"
]
},
{
"type": "object",
"properties": {
"files": {
"$ref": "#/components/schemas/existencePropertyFilter"
}
},
"required": [
"files"
]
},
{
"type": "object",
"properties": {
"status": {
"$ref": "#/components/schemas/statusPropertyFilter"
}
},
"required": [
"status"
]
}
]
}
selectColor
{
"type": "string",
"enum": [
"default",
"gray",
"brown",
"orange",
"yellow",
"green",
"blue",
"purple",
"pink",
"red"
],
"description": "One of: `default`, `gray`, `brown`, `orange`, `yellow`, `green`, `blue`, `purple`, `pink`, `red`"
}
selectDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "select",
"description": "Always `select`"
},
"select": {
"type": "object",
"properties": {
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/selectPropertyResponse"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"options"
]
}
},
"required": [
"type",
"select"
],
"title": "Select"
}
selectGroupByConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"select",
"multi_select"
],
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"required": [
"type",
"property_id",
"sort"
]
}
selectGroupByConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"select",
"multi_select"
],
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups."
},
"property_name": {
"type": "string",
"description": "Property name (convenience field)."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"additionalProperties": false,
"required": [
"type",
"property_id",
"sort"
]
}
selectPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "select",
"description": "Always `select`"
},
"select": {
"type": "object",
"properties": {
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"color": {
"$ref": "#/components/schemas/selectColor"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name"
]
},
"maxItems": 100
}
}
}
},
"required": [
"select"
],
"title": "Select"
}
selectPropertyFilter
{
"anyOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"equals": {
"$ref": "#/components/schemas/stringOrStringArray"
}
},
"required": [
"equals"
]
},
{
"type": "object",
"properties": {
"does_not_equal": {
"$ref": "#/components/schemas/stringOrStringArray"
}
},
"required": [
"does_not_equal"
]
}
]
},
{
"$ref": "#/components/schemas/existencePropertyFilter"
}
]
}
selectPropertyItemObjectResponse
{
"title": "Select",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "select"
},
"select": {
"anyOf": [
{
"$ref": "#/components/schemas/partialSelectResponse"
},
{
"type": "null"
}
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"select",
"object",
"id"
]
}
selectPropertyResponse
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"color": {
"$ref": "#/components/schemas/selectColor"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"color",
"description"
]
}
selectSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "select",
"description": "Always `select`"
},
"select": {
"oneOf": [
{
"$ref": "#/components/schemas/partialSelectPropertyValueResponse"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"select"
],
"title": "Select"
}
simpleOrArrayPropertyValueResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/simplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/arrayBasedPropertyValueResponse"
}
]
}
simplePropertyValueResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/numberSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/urlSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/selectSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/multiSelectSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/statusSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/dateSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/emailSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/phoneNumberSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/checkboxSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/filesSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/createdBySimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/createdTimeSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/lastEditedBySimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/lastEditedTimeSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/formulaSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/buttonSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/uniqueIdSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/verificationSimplePropertyValueResponse"
},
{
"$ref": "#/components/schemas/placeSimplePropertyValueResponse"
}
]
}
singlePropertyDatabasePropertyRelationConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "single_property",
"description": "Always `single_property`"
},
"single_property": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"single_property"
],
"title": "Single Property"
}
sortDirectionRequest
{
"type": "string",
"enum": [
"ascending",
"descending"
],
"description": "One of: `ascending`, `descending`"
}
statusDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "status",
"description": "Always `status`"
},
"status": {
"type": "object",
"properties": {
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/statusPropertyResponse"
},
"maxItems": 100,
"description": "The options for the status property."
},
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the status group."
},
"name": {
"type": "string",
"description": "The name of the status group."
},
"color": {
"$ref": "#/components/schemas/selectColor",
"description": "The color of the status group."
},
"option_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "The IDs of the status options in this group."
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"color",
"option_ids"
]
},
"maxItems": 100,
"description": "The groups for the status property."
}
},
"additionalProperties": false,
"required": [
"options",
"groups"
]
}
},
"required": [
"type",
"status"
],
"title": "Status"
}
statusGroupByConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "status",
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"group_by": {
"type": "string",
"enum": [
"group",
"option"
],
"description": "How to group status values. \"group\" groups by status group (To Do/In Progress/Done), \"option\" groups by individual option."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"required": [
"type",
"property_id",
"group_by",
"sort"
]
}
statusGroupByConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "status",
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"group_by": {
"type": "string",
"enum": [
"group",
"option"
],
"description": "How to group status values. \"group\" groups by status group (To Do/In Progress/Done), \"option\" groups by individual option."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups."
},
"property_name": {
"type": "string",
"description": "Property name (convenience field)."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"additionalProperties": false,
"required": [
"type",
"property_id",
"group_by",
"sort"
]
}
statusOptionGroup
{
"type": "string",
"enum": [
"To-do",
"In progress",
"Complete"
],
"description": "One of: `To-do`, `In progress`, `Complete`"
}
statusOptionRequest
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"color": {
"$ref": "#/components/schemas/selectColor"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"group": {
"$ref": "#/components/schemas/statusOptionGroup"
}
},
"required": [
"name"
]
}
statusOptionRequestArray
{
"type": "array",
"items": {
"$ref": "#/components/schemas/statusOptionRequest"
},
"maxItems": 100
}
statusOptionUpdateRequest
{
"allOf": [
{
"$ref": "#/components/schemas/statusOptionUpdateRequestCommon"
},
{
"oneOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"id": {
"type": "string"
}
},
"required": [
"name"
]
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id"
]
}
]
}
]
}
statusOptionUpdateRequestArray
{
"type": "array",
"items": {
"$ref": "#/components/schemas/statusOptionUpdateRequest"
},
"maxItems": 100
}
statusOptionUpdateRequestCommon
{
"type": "object",
"properties": {
"color": {
"$ref": "#/components/schemas/selectColor"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"group": {
"$ref": "#/components/schemas/statusOptionGroup"
}
}
}
statusPropertyConfigRequest
{
"type": "object",
"properties": {
"options": {
"$ref": "#/components/schemas/statusOptionRequestArray",
"description": "The initial status options. If not provided, defaults are created."
}
}
}
statusPropertyConfigUpdateRequest
{
"type": "object",
"properties": {
"options": {
"$ref": "#/components/schemas/statusOptionUpdateRequestArray",
"description": "Status options to add or update. Use group to assign an option to To-do, In progress, or Complete. Existing options keep their current group when group is omitted; new options use To-do when present, or the first existing group otherwise."
}
}
}
statusPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "status",
"description": "Always `status`"
},
"status": {
"$ref": "#/components/schemas/statusPropertyConfigRequest"
}
},
"required": [
"status"
],
"title": "Status"
}
statusPropertyFilter
{
"anyOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"equals": {
"$ref": "#/components/schemas/stringOrStringArray"
}
},
"required": [
"equals"
]
},
{
"type": "object",
"properties": {
"does_not_equal": {
"$ref": "#/components/schemas/stringOrStringArray"
}
},
"required": [
"does_not_equal"
]
}
]
},
{
"$ref": "#/components/schemas/existencePropertyFilter"
}
]
}
statusPropertyItemObjectResponse
{
"title": "Status",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "status"
},
"status": {
"anyOf": [
{
"$ref": "#/components/schemas/partialSelectResponse"
},
{
"type": "null"
}
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"status",
"object",
"id"
]
}
statusPropertyResponse
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the status option."
},
"name": {
"type": "string",
"description": "The name of the status option."
},
"color": {
"$ref": "#/components/schemas/selectColor",
"description": "The color of the status option."
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The description of the status option."
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"color",
"description"
]
}
statusSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "status",
"description": "Always `status`"
},
"status": {
"oneOf": [
{
"$ref": "#/components/schemas/partialSelectPropertyValueResponse"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"status"
],
"title": "Status"
}
stringFormulaPropertyResponse
{
"title": "String",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "string"
},
"string": {
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"string"
]
}
stringFormulaPropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "string",
"description": "Always `string`"
},
"string": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"string"
],
"title": "String"
}
stringOrStringArray
{
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
stringRequest
{
"type": "string",
"maxLength": 100,
"minLength": 1
}
subtaskConfigRequest
{
"type": "object",
"properties": {
"property_id": {
"type": "string",
"description": "Relation property ID used for parent-child nesting."
},
"display_mode": {
"type": "string",
"enum": [
"show",
"hidden",
"flattened",
"disabled"
],
"description": "How sub-items are displayed. \"show\" renders hierarchically with toggles, \"hidden\" shows parents with a count, \"flattened\" shows sub-items with a parent indicator, \"disabled\" turns off sub-item rendering."
},
"filter_scope": {
"type": "string",
"enum": [
"parents",
"parents_and_subitems",
"subitems"
],
"description": "Which items are included when filtering. \"parents\" includes parent items only, \"parents_and_subitems\" includes both, \"subitems\" includes sub-items only."
},
"toggle_column_id": {
"type": "string",
"description": "Property ID of the column showing the sub-item expand/collapse toggle."
}
}
}
subtaskConfigResponse
{
"type": "object",
"properties": {
"property_id": {
"type": "string",
"description": "Relation property ID used for parent-child nesting."
},
"display_mode": {
"type": "string",
"enum": [
"show",
"hidden",
"flattened",
"disabled"
],
"description": "How sub-items are displayed. \"show\" renders hierarchically with toggles, \"hidden\" shows parents with a count, \"flattened\" shows sub-items with a parent indicator, \"disabled\" turns off sub-item rendering."
},
"filter_scope": {
"type": "string",
"enum": [
"parents",
"parents_and_subitems",
"subitems"
],
"description": "Which items are included when filtering. \"parents\" includes parent items only, \"parents_and_subitems\" includes both, \"subitems\" includes sub-items only."
},
"toggle_column_id": {
"type": "string",
"description": "Property ID of the column showing the sub-item expand/collapse toggle."
}
},
"additionalProperties": false
}
syncedBlockBlockObjectResponse
{
"title": "Synced Block",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "synced_block"
},
"synced_block": {
"type": "object",
"properties": {
"synced_from": {
"title": "Block Id",
"type": [
"object",
"null"
],
"properties": {
"type": {
"type": "string",
"const": "block_id"
},
"block_id": {
"$ref": "#/components/schemas/idRequest"
}
},
"required": [
"type",
"block_id"
]
}
},
"required": [
"synced_from"
]
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"synced_block",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
tabBlockObjectResponse
{
"title": "Tab",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "tab"
},
"tab": {
"$ref": "#/components/schemas/emptyObject"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"tab",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
tabItemRequestWithSingleLevelOfChildren
{
"title": "Paragraph",
"type": "object",
"properties": {
"paragraph": {
"$ref": "#/components/schemas/paragraphWithSingleLevelOfChildrenRequest"
},
"type": {
"type": "string",
"const": "paragraph"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"paragraph"
]
}
tabItemRequestWithoutChildren
{
"title": "Paragraph",
"type": "object",
"properties": {
"paragraph": {
"$ref": "#/components/schemas/contentWithRichTextColorAndIconRequest"
},
"type": {
"type": "string",
"const": "paragraph"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"paragraph"
]
}
tabRequestWithNestedTabItemChildren
{
"type": "object",
"properties": {
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/tabItemRequestWithSingleLevelOfChildren"
},
"maxItems": 100,
"minItems": 1
}
},
"additionalProperties": false,
"required": [
"children"
]
}
tabRequestWithTabItemChildren
{
"type": "object",
"properties": {
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/tabItemRequestWithoutChildren"
},
"maxItems": 100,
"minItems": 1
}
},
"additionalProperties": false,
"required": [
"children"
]
}
tableBlockObjectResponse
{
"title": "Table",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "table"
},
"table": {
"$ref": "#/components/schemas/contentWithTableResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"table",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
tableOfContentsBlockObjectResponse
{
"title": "Table Of Contents",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "table_of_contents"
},
"table_of_contents": {
"type": "object",
"properties": {
"color": {
"$ref": "#/components/schemas/apiColor"
}
},
"required": [
"color"
]
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"table_of_contents",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
tableRequestWithTableRowChildren
{
"type": "object",
"properties": {
"table_width": {
"type": "integer",
"minimum": 1
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/tableRowRequest"
},
"maxItems": 100,
"minItems": 1
},
"has_column_header": {
"type": "boolean"
},
"has_row_header": {
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"table_width",
"children"
]
}
tableRowBlockObjectResponse
{
"title": "Table Row",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "table_row"
},
"table_row": {
"$ref": "#/components/schemas/contentWithTableRowResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"table_row",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
tableRowRequest
{
"title": "Table Row",
"type": "object",
"properties": {
"table_row": {
"$ref": "#/components/schemas/contentWithTableRowRequest"
},
"type": {
"type": "string",
"const": "table_row"
},
"object": {
"type": "string",
"const": "block"
}
},
"additionalProperties": false,
"required": [
"table_row"
]
}
tableViewConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "table",
"description": "The view type. Must be \"table\"."
},
"properties": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigRequest"
},
"maxItems": 100
},
{
"type": "null"
}
],
"description": "Property visibility and display configuration. Pass null to clear."
},
"group_by": {
"oneOf": [
{
"$ref": "#/components/schemas/groupByConfigRequest"
},
{
"type": "null"
}
],
"description": "Group-by configuration for the table. Pass null to remove grouping."
},
"subtasks": {
"oneOf": [
{
"$ref": "#/components/schemas/subtaskConfigRequest"
},
{
"type": "null"
}
],
"description": "Subtask (sub-item) configuration. Pass null to reset subtask config to defaults (which may show subtasks). Use `{ \"display_mode\": \"disabled\" }` to explicitly disable subtasks."
},
"wrap_cells": {
"type": "boolean",
"description": "Whether to wrap cell content in the table."
},
"frozen_column_index": {
"type": "integer",
"minimum": 0,
"description": "Number of columns frozen from the left side of the table."
},
"show_vertical_lines": {
"type": "boolean",
"description": "Whether to show vertical grid lines between columns."
}
},
"required": [
"type"
]
}
tableViewConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "table",
"description": "The view configuration type."
},
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigResponse"
},
"maxItems": 100,
"description": "Columns/properties visible in the table view."
},
"group_by": {
"$ref": "#/components/schemas/groupByConfigResponse",
"description": "Vertical (row) grouping configuration."
},
"subtasks": {
"$ref": "#/components/schemas/subtaskConfigResponse",
"description": "Sub-item (subtask) display configuration."
},
"wrap_cells": {
"type": "boolean",
"description": "Whether to wrap cell content by default."
},
"frozen_column_index": {
"type": "integer",
"minimum": 0,
"description": "Index of the last frozen column. Columns up to and including this index are frozen."
},
"show_vertical_lines": {
"type": "boolean",
"description": "Whether to show vertical lines between columns."
}
},
"additionalProperties": false,
"required": [
"type"
]
}
templateBlockObjectResponse
{
"title": "Template",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "template"
},
"template": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
}
},
"required": [
"rich_text"
]
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"template",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
templateMentionDateTemplateMentionRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "template_mention_date",
"description": "Always `template_mention_date`"
},
"template_mention_date": {
"type": "string",
"enum": [
"today",
"now"
],
"description": "The date of the template mention."
}
},
"additionalProperties": false,
"required": [
"template_mention_date"
],
"title": "Template Mention Date"
}
templateMentionDateTemplateMentionResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "template_mention_date",
"description": "Always `template_mention_date`"
},
"template_mention_date": {
"type": "string",
"enum": [
"today",
"now"
],
"description": "The date of the template mention."
}
},
"additionalProperties": false,
"required": [
"type",
"template_mention_date"
],
"title": "Template Mention Date"
}
templateMentionRequest
{
"oneOf": [
{
"$ref": "#/components/schemas/templateMentionDateTemplateMentionRequest"
},
{
"$ref": "#/components/schemas/templateMentionUserTemplateMentionRequest"
}
]
}
templateMentionResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/templateMentionDateTemplateMentionResponse"
},
{
"$ref": "#/components/schemas/templateMentionUserTemplateMentionResponse"
}
]
}
templateMentionUserTemplateMentionRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "template_mention_user",
"description": "Always `template_mention_user`"
},
"template_mention_user": {
"type": "string",
"const": "me",
"description": "The user of the template mention."
}
},
"additionalProperties": false,
"required": [
"template_mention_user"
],
"title": "Template Mention User"
}
templateMentionUserTemplateMentionResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "template_mention_user",
"description": "Always `template_mention_user`"
},
"template_mention_user": {
"type": "string",
"const": "me",
"description": "The user of the template mention."
}
},
"additionalProperties": false,
"required": [
"type",
"template_mention_user"
],
"title": "Template Mention User"
}
templateTimezone
{
"description": "IANA timezone to use when resolving template variables like @now and @today (e.g. 'America/New_York'). Defaults to the authorizing user's timezone for public integrations, or UTC for internal integrations.",
"examples": [
"America/New_York",
"Europe/London",
"Asia/Tokyo"
],
"type": "string"
}
textGroupByConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"title",
"url",
"email",
"phone_number"
],
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"group_by": {
"type": "string",
"enum": [
"exact",
"alphabet_prefix"
],
"description": "How to group text values. \"exact\" = exact match, \"alphabet_prefix\" = first letter."
},
"sort": {
"$ref": "#/components/schemas/groupSortRequest",
"description": "Sort order for groups."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"required": [
"type",
"property_id",
"group_by",
"sort"
]
}
textGroupByConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text",
"title",
"url",
"email",
"phone_number"
],
"description": "The property type for grouping."
},
"property_id": {
"type": "string",
"description": "Property ID to group by."
},
"group_by": {
"type": "string",
"enum": [
"exact",
"alphabet_prefix"
],
"description": "How to group text values. \"exact\" = exact match, \"alphabet_prefix\" = first letter."
},
"sort": {
"$ref": "#/components/schemas/groupSortResponse",
"description": "Sort order for groups."
},
"property_name": {
"type": "string",
"description": "Property name (convenience field)."
},
"hide_empty_groups": {
"type": "boolean",
"description": "Whether to hide groups that have no items."
}
},
"additionalProperties": false,
"required": [
"type",
"property_id",
"group_by",
"sort"
]
}
textPropertyFilter
{
"anyOf": [
{
"anyOf": [
{
"type": "object",
"properties": {
"equals": {
"type": "string"
}
},
"required": [
"equals"
]
},
{
"type": "object",
"properties": {
"does_not_equal": {
"type": "string"
}
},
"required": [
"does_not_equal"
]
},
{
"type": "object",
"properties": {
"contains": {
"type": "string"
}
},
"required": [
"contains"
]
},
{
"type": "object",
"properties": {
"does_not_contain": {
"type": "string"
}
},
"required": [
"does_not_contain"
]
},
{
"type": "object",
"properties": {
"starts_with": {
"type": "string"
}
},
"required": [
"starts_with"
]
},
{
"type": "object",
"properties": {
"ends_with": {
"type": "string"
}
},
"required": [
"ends_with"
]
}
]
},
{
"$ref": "#/components/schemas/existencePropertyFilter"
}
]
}
textRequest
{
"type": "string",
"maxLength": 2000,
"minLength": 1
}
textRichTextItemRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "text",
"description": "Always `text`"
},
"text": {
"type": "object",
"properties": {
"content": {
"type": "string",
"maxLength": 2000,
"description": "The actual text content of the text."
},
"link": {
"oneOf": [
{
"type": "object",
"properties": {
"url": {
"type": "string",
"examples": [
"https://www.notion.com"
],
"description": "The URL of the link."
}
},
"required": [
"url"
]
},
{
"type": "null"
}
],
"description": "An object with information about any inline link in this text, if included."
}
},
"additionalProperties": false,
"required": [
"content"
],
"description": "If a rich text object's type value is `text`, then the corresponding text field contains an object including the text content and any inline link."
}
},
"required": [
"text"
],
"title": "Text"
}
textRichTextItemResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "text",
"description": "Always `text`"
},
"text": {
"type": "object",
"properties": {
"content": {
"type": "string",
"maxLength": 2000,
"description": "The actual text content of the text."
},
"link": {
"oneOf": [
{
"type": "object",
"properties": {
"url": {
"type": "string",
"examples": [
"https://www.notion.com"
],
"description": "The URL of the link."
}
},
"additionalProperties": false,
"required": [
"url"
]
},
{
"type": "null"
}
],
"description": "An object with information about any inline link in this text, if included."
}
},
"additionalProperties": false,
"required": [
"content",
"link"
],
"description": "If a rich text object's type value is `text`, then the corresponding text field contains an object including the text content and any inline link."
}
},
"required": [
"type",
"text"
],
"title": "Text"
}
timeZoneRequest
{
"type": "string",
"example": "Africa/Abidjan"
}
timelineArrowsByRequest
{
"type": "object",
"properties": {
"property_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Relation property ID used for dependency arrows, or null to disable arrows."
}
}
}
timelineArrowsByResponse
{
"type": "object",
"properties": {
"property_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Relation property ID used for dependency arrows."
}
},
"additionalProperties": false
}
timelinePreferenceRequest
{
"type": "object",
"properties": {
"zoom_level": {
"type": "string",
"enum": [
"hours",
"day",
"week",
"bi_week",
"month",
"quarter",
"year",
"5_years"
],
"description": "Zoom level for the timeline."
},
"center_timestamp": {
"type": "integer",
"description": "Timestamp (ms) to center the timeline view on."
}
},
"required": [
"zoom_level"
]
}
timelinePreferenceResponse
{
"type": "object",
"properties": {
"zoom_level": {
"type": "string",
"enum": [
"hours",
"day",
"week",
"bi_week",
"month",
"quarter",
"year",
"5_years"
],
"description": "Zoom level for the timeline."
},
"center_timestamp": {
"type": "integer",
"minimum": 0,
"description": "Center timestamp for the timeline view (Unix timestamp in ms)."
}
},
"additionalProperties": false,
"required": [
"zoom_level"
]
}
timelineViewConfigRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "timeline",
"description": "The view type. Must be \"timeline\"."
},
"date_property_id": {
"type": "string",
"description": "Property ID of the date property used for the start of timeline items."
},
"end_date_property_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Property ID of the date property used for the end of timeline items. Pass null to clear."
},
"properties": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigRequest"
},
"maxItems": 100
},
{
"type": "null"
}
],
"description": "Property visibility and display configuration on timeline items. Pass null to clear."
},
"show_table": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether to show the table panel alongside the timeline. Pass null to clear."
},
"table_properties": {
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigRequest"
},
"maxItems": 100
},
{
"type": "null"
}
],
"description": "Property configuration for the table panel (when show_table is true). Pass null to clear."
},
"preference": {
"oneOf": [
{
"$ref": "#/components/schemas/timelinePreferenceRequest"
},
{
"type": "null"
}
],
"description": "Timeline display preferences (zoom level and center position). Pass null to clear."
},
"arrows_by": {
"oneOf": [
{
"$ref": "#/components/schemas/timelineArrowsByRequest"
},
{
"type": "null"
}
],
"description": "Configuration for dependency arrows between timeline items. Pass null to clear."
},
"color_by": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Whether to color timeline items by a property. Pass null to clear."
}
},
"required": [
"type",
"date_property_id"
]
}
timelineViewConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "timeline",
"description": "The view configuration type."
},
"date_property_id": {
"type": "string",
"description": "Start date property - required."
},
"date_property_name": {
"type": "string",
"description": "Start date property name (convenience field)."
},
"end_date_property_id": {
"type": "string",
"description": "End date property (optional, for items that span a range)."
},
"end_date_property_name": {
"type": "string",
"description": "End date property name (convenience field)."
},
"properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigResponse"
},
"maxItems": 100,
"description": "Properties to display on timeline items."
},
"show_table": {
"type": "boolean",
"description": "Whether to show the table panel alongside the timeline."
},
"table_properties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertyConfigResponse"
},
"maxItems": 100,
"description": "Properties to display in the table panel (when show_table is true)."
},
"preference": {
"$ref": "#/components/schemas/timelinePreferenceResponse",
"description": "Timeline zoom/preference state."
},
"arrows_by": {
"$ref": "#/components/schemas/timelineArrowsByResponse",
"description": "Dependency arrows configuration."
},
"color_by": {
"type": "boolean",
"description": "Whether to color-code items by property."
}
},
"additionalProperties": false,
"required": [
"type",
"date_property_id"
]
}
timestampCreatedTimeFilter
{
"title": "Created Time",
"type": "object",
"properties": {
"created_time": {
"$ref": "#/components/schemas/datePropertyFilter"
},
"timestamp": {
"type": "string",
"const": "created_time"
},
"type": {
"type": "string",
"const": "created_time"
}
},
"additionalProperties": false,
"required": [
"created_time",
"timestamp"
]
}
timestampFilter
{
"anyOf": [
{
"$ref": "#/components/schemas/timestampCreatedTimeFilter"
},
{
"$ref": "#/components/schemas/timestampLastEditedTimeFilter"
}
]
}
timestampLastEditedTimeFilter
{
"title": "Last Edited Time",
"type": "object",
"properties": {
"last_edited_time": {
"$ref": "#/components/schemas/datePropertyFilter"
},
"timestamp": {
"type": "string",
"const": "last_edited_time"
},
"type": {
"type": "string",
"const": "last_edited_time"
}
},
"additionalProperties": false,
"required": [
"last_edited_time",
"timestamp"
]
}
timestampSortResponse
{
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"enum": [
"created_time",
"last_edited_time"
],
"description": "The timestamp to sort by."
},
"direction": {
"type": "string",
"enum": [
"ascending",
"descending"
],
"description": "Sort direction."
}
},
"additionalProperties": false,
"required": [
"timestamp",
"direction"
]
}
titleArrayBasedPropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "title",
"description": "Always `title`"
},
"title": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type",
"title"
],
"title": "Title"
}
titleDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "title",
"description": "Always `title`"
},
"title": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"title"
],
"title": "Title"
}
titleObjectResponse
{
"type": "object",
"properties": {
"title": {
"type": "string"
}
},
"required": [
"title"
]
}
titlePropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "title",
"description": "Always `title`"
},
"title": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"title"
],
"title": "Title"
}
titlePropertyItemObjectResponse
{
"title": "Title",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "title"
},
"title": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"title",
"object",
"id"
]
}
toDoBlockObjectResponse
{
"title": "To Do",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "to_do"
},
"to_do": {
"type": "object",
"properties": {
"rich_text": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"color": {
"$ref": "#/components/schemas/apiColor"
},
"checked": {
"type": "boolean"
}
},
"required": [
"rich_text",
"color",
"checked"
]
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"to_do",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
toggleBlockObjectResponse
{
"title": "Toggle",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "toggle"
},
"toggle": {
"$ref": "#/components/schemas/contentWithRichTextAndColorResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"toggle",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
transcriptionBlockResponse
{
"type": "object",
"properties": {
"title": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemResponse"
},
"maxItems": 100
},
"status": {
"$ref": "#/components/schemas/apiTranscriptionStatus"
},
"children": {
"$ref": "#/components/schemas/transcriptionChildrenResponse"
},
"calendar_event": {
"$ref": "#/components/schemas/transcriptionCalendarEventResponse"
},
"recording": {
"$ref": "#/components/schemas/transcriptionRecordingResponse"
}
}
}
transcriptionCalendarEventResponse
{
"type": "object",
"properties": {
"start_time": {
"type": "string",
"format": "date-time"
},
"end_time": {
"type": "string",
"format": "date-time"
},
"attendees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/idRequest"
},
"maxItems": 100
}
},
"required": [
"start_time",
"end_time"
]
}
transcriptionChildrenResponse
{
"type": "object",
"properties": {
"summary_block_id": {
"$ref": "#/components/schemas/idRequest"
},
"notes_block_id": {
"$ref": "#/components/schemas/idRequest"
},
"transcript_block_id": {
"$ref": "#/components/schemas/idRequest"
}
}
}
transcriptionRecordingResponse
{
"type": "object",
"properties": {
"start_time": {
"type": "string",
"format": "date-time"
},
"end_time": {
"type": "string",
"format": "date-time"
}
}
}
uniqueIdDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "unique_id",
"description": "Always `unique_id`"
},
"unique_id": {
"type": "object",
"properties": {
"prefix": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The prefix for the unique ID."
}
},
"additionalProperties": false,
"required": [
"prefix"
]
}
},
"required": [
"type",
"unique_id"
],
"title": "Unique Id"
}
uniqueIdPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "unique_id",
"description": "Always `unique_id`"
},
"unique_id": {
"type": "object",
"properties": {
"prefix": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
}
}
},
"required": [
"unique_id"
],
"title": "Unique Id"
}
uniqueIdPropertyItemObjectResponse
{
"title": "Unique Id",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "unique_id"
},
"unique_id": {
"type": "object",
"properties": {
"prefix": {
"type": [
"string",
"null"
]
},
"number": {
"type": [
"number",
"null"
]
}
},
"required": [
"prefix",
"number"
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"unique_id",
"object",
"id"
]
}
uniqueIdPropertyValueResponse
{
"type": "object",
"properties": {
"prefix": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"number": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"prefix",
"number"
]
}
uniqueIdSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "unique_id",
"description": "Always `unique_id`"
},
"unique_id": {
"$ref": "#/components/schemas/uniqueIdPropertyValueResponse"
}
},
"additionalProperties": false,
"required": [
"type",
"unique_id"
],
"title": "Unique Id"
}
unsupportedBlockObjectResponse
{
"title": "Unsupported",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "unsupported"
},
"unsupported": {
"type": "object",
"properties": {
"block_type": {
"description": "The underlying block type that is not currently supported by the Public API. Example values include: form, button, drive.",
"type": "string"
}
},
"required": [
"block_type"
]
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"unsupported",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
unsupportedFormulaPropertyResponse
{
"title": "Unsupported",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "unsupported"
},
"unsupported": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"unsupported"
]
}
unsupportedFormulaPropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "unsupported",
"description": "Always `unsupported`"
},
"unsupported": {
"$ref": "#/components/schemas/emptyObject"
}
},
"additionalProperties": false,
"required": [
"type",
"unsupported"
],
"title": "Unsupported"
}
unsupportedPartialRollupValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "unsupported",
"description": "Always `unsupported`"
},
"unsupported": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"unsupported"
],
"title": "Unsupported"
}
updateEmbedFileUploadRequest
{
"type": "object",
"properties": {
"file_upload": {
"$ref": "#/components/schemas/fileUploadIdRequest"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
}
},
"additionalProperties": false,
"required": [
"file_upload"
]
}
updateMediaContentWithFileAndCaptionRequest
{
"type": "object",
"properties": {
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"external": {
"$ref": "#/components/schemas/externalFileRequest"
},
"file_upload": {
"$ref": "#/components/schemas/fileUploadIdRequest"
}
},
"additionalProperties": false
}
updateMediaContentWithFileNameAndCaptionRequest
{
"type": "object",
"properties": {
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
},
"external": {
"$ref": "#/components/schemas/externalFileRequest"
},
"file_upload": {
"$ref": "#/components/schemas/fileUploadIdRequest"
},
"name": {
"$ref": "#/components/schemas/stringRequest"
}
},
"additionalProperties": false
}
updateMediaContentWithUrlAndCaptionRequest
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"caption": {
"type": "array",
"items": {
"$ref": "#/components/schemas/richTextItemRequest"
},
"maxItems": 100
}
},
"additionalProperties": false
}
updateViewRequest
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "New name for the view."
},
"filter": {
"oneOf": [
{
"$ref": "#/components/schemas/viewFilterRequest"
},
{
"type": "null"
}
],
"description": "Filter to apply to the view. Uses the same format as the data source query filter. Pass null to clear the filter."
},
"sorts": {
"oneOf": [
{
"$ref": "#/components/schemas/viewPropertySortsRequest"
},
{
"type": "null"
}
],
"description": "Property sorts to apply to the view. Only property-based sorts are supported. Pass null to clear the sorts."
},
"quick_filters": {
"oneOf": [
{
"type": "object",
"additionalProperties": {
"oneOf": [
{
"$ref": "#/components/schemas/quickFilterConditionRequest"
},
{
"type": "null"
}
]
}
},
{
"type": "null"
}
],
"description": "Quick filters for the view's filter bar. Keys are property names or IDs. Set a key to a filter condition to add/update that quick filter. Set a key to null to remove it. Pass null for the entire field to clear all quick filters. Unmentioned quick filters are preserved."
},
"configuration": {
"$ref": "#/components/schemas/viewConfigRequest",
"description": "View presentation configuration. The type field must match the view type. Individual nullable fields within the configuration can be set to null to clear them."
}
}
}
urlDatabasePropertyConfigResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "url",
"description": "Always `url`"
},
"url": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"type",
"url"
],
"title": "Url"
}
urlPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "url",
"description": "Always `url`"
},
"url": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"url"
],
"title": "Url"
}
urlPropertyItemObjectResponse
{
"title": "Url",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "url"
},
"url": {
"type": [
"string",
"null"
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"url",
"object",
"id"
]
}
urlSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "url",
"description": "Always `url`"
},
"url": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"url"
],
"title": "Url"
}
userObjectResponse
{
"allOf": [
{
"$ref": "#/components/schemas/userObjectResponseCommon"
},
{
"oneOf": [
{
"$ref": "#/components/schemas/personUserObjectResponse"
},
{
"$ref": "#/components/schemas/botUserObjectResponse"
}
]
}
]
}
userObjectResponseCommon
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the user."
},
"object": {
"type": "string",
"const": "user",
"description": "The user object type name."
},
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The name of the user."
},
"avatar_url": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The avatar URL of the user."
}
},
"additionalProperties": false,
"required": [
"id",
"object",
"name",
"avatar_url"
]
}
userValueResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/partialUserObjectResponse"
},
{
"$ref": "#/components/schemas/userObjectResponse"
}
]
}
verificationPropertyConfigurationRequest
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "verification",
"description": "Always `verification`"
},
"verification": {
"$ref": "#/components/schemas/emptyObject"
}
},
"required": [
"verification"
],
"title": "Verification"
}
verificationPropertyDoesNotEqualFilter
{
"type": "object",
"properties": {
"does_not_equal": {
"type": "string",
"enum": [
"verified",
"expired",
"none"
]
}
},
"additionalProperties": false,
"required": [
"does_not_equal"
]
}
verificationPropertyItemObjectResponse
{
"title": "Verification",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "verification"
},
"verification": {
"anyOf": [
{
"$ref": "#/components/schemas/verificationPropertyValueResponse"
},
{
"type": "null"
}
]
},
"object": {
"type": "string",
"const": "property_item"
},
"id": {
"type": "string"
}
},
"required": [
"type",
"verification",
"object",
"id"
]
}
verificationPropertyResponse
{
"type": "object",
"properties": {
"state": {
"type": "string",
"enum": [
"verified",
"expired"
],
"description": "One of: `verified`, `expired`"
},
"date": {
"oneOf": [
{
"$ref": "#/components/schemas/dateResponse"
},
{
"type": "null"
}
]
},
"verified_by": {
"oneOf": [
{
"$ref": "#/components/schemas/userValueResponse"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"state",
"date",
"verified_by"
],
"title": "Verified"
}
verificationPropertyStatusFilter
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"verified",
"expired",
"none"
]
}
},
"additionalProperties": false,
"required": [
"status"
]
}
verificationPropertyUnverifiedResponse
{
"type": "object",
"properties": {
"state": {
"type": "string",
"const": "unverified",
"description": "Always `unverified`"
},
"date": {
"type": "null"
},
"verified_by": {
"type": "null"
}
},
"additionalProperties": false,
"required": [
"state",
"date",
"verified_by"
],
"title": "Unverified"
}
verificationPropertyValueResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/verificationPropertyUnverifiedResponse"
},
{
"$ref": "#/components/schemas/verificationPropertyResponse"
}
]
}
verificationSimplePropertyValueResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "verification",
"description": "Always `verification`"
},
"verification": {
"oneOf": [
{
"$ref": "#/components/schemas/verificationPropertyValueResponse"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false,
"required": [
"type",
"verification"
],
"title": "Verification"
}
videoBlockObjectResponse
{
"title": "Video",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "video"
},
"video": {
"$ref": "#/components/schemas/mediaContentWithFileAndCaptionResponse"
},
"parent": {
"$ref": "#/components/schemas/parentForBlockBasedObjectResponse"
},
"object": {
"type": "string",
"const": "block"
},
"id": {
"type": "string",
"format": "uuid"
},
"created_time": {
"type": "string",
"format": "date-time"
},
"created_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"last_edited_time": {
"type": "string",
"format": "date-time"
},
"last_edited_by": {
"$ref": "#/components/schemas/partialUserObjectResponse"
},
"has_children": {
"type": "boolean"
},
"in_trash": {
"type": "boolean"
}
},
"required": [
"type",
"video",
"parent",
"object",
"id",
"created_time",
"created_by",
"last_edited_time",
"last_edited_by",
"has_children",
"in_trash"
]
}
viewConfigRequest
{
"oneOf": [
{
"$ref": "#/components/schemas/tableViewConfigRequest"
},
{
"$ref": "#/components/schemas/boardViewConfigRequest"
},
{
"$ref": "#/components/schemas/calendarViewConfigRequest"
},
{
"$ref": "#/components/schemas/timelineViewConfigRequest"
},
{
"$ref": "#/components/schemas/galleryViewConfigRequest"
},
{
"$ref": "#/components/schemas/listViewConfigRequest"
},
{
"$ref": "#/components/schemas/mapViewConfigRequest"
},
{
"$ref": "#/components/schemas/formViewConfigRequest"
},
{
"$ref": "#/components/schemas/chartViewConfigRequest"
}
],
"description": "View configuration, discriminated by the type field."
}
viewConfigResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/tableViewConfigResponse"
},
{
"$ref": "#/components/schemas/boardViewConfigResponse"
},
{
"$ref": "#/components/schemas/calendarViewConfigResponse"
},
{
"$ref": "#/components/schemas/timelineViewConfigResponse"
},
{
"$ref": "#/components/schemas/galleryViewConfigResponse"
},
{
"$ref": "#/components/schemas/listViewConfigResponse"
},
{
"$ref": "#/components/schemas/mapViewConfigResponse"
},
{
"$ref": "#/components/schemas/formViewConfigResponse"
},
{
"$ref": "#/components/schemas/chartViewConfigResponse"
},
{
"$ref": "#/components/schemas/dashboardViewConfigResponse"
}
],
"description": "View configuration, typed by view type (table, board, calendar, etc.)."
}
viewCreatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "view.created",
"description": "Always `view.created`"
},
"entity": {
"$ref": "#/components/schemas/webhookViewEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the created view."
},
"view_type": {
"type": "string",
"description": "The type of the created view (e.g. `table`, `board`, `list`, `calendar`, `gallery`, `timeline`)."
}
},
"additionalProperties": false,
"required": [
"parent",
"view_type"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
viewDeletedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "view.deleted",
"description": "Always `view.deleted`"
},
"entity": {
"$ref": "#/components/schemas/webhookViewEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the entity that triggered the event."
}
},
"additionalProperties": false,
"required": [
"parent"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
viewFilterRequest
{
"type": "object",
"description": "Filter for the view. Uses the same format as the data source query filter (property filters, timestamp filters, or compound and/or filters). Simple property filters appear in the view's filter bar in the Notion UI. Select, status, and multi_select filter operators accept a single string or an array of strings to filter by multiple values (e.g. { \"does_not_equal\": [\"Done\", \"Archive\"] })."
}
viewFilterResponse
{
"oneOf": [
{
"type": "object",
"description": "A filter condition on a specific property. The property field specifies which property to filter, and an additional field specifies the filter type and condition (e.g., title, rich_text, number, checkbox, select, multi_select, date, people, files, relation, formula, rollup, etc.).",
"required": [
"property"
],
"properties": {
"property": {
"type": "string",
"description": "The name or ID of the property to filter on."
}
},
"additionalProperties": true
},
{
"type": "object",
"description": "A filter condition on a timestamp (created_time or last_edited_time). The timestamp field specifies which timestamp, and a matching field contains the date filter condition.",
"required": [
"timestamp"
],
"properties": {
"timestamp": {
"type": "string",
"enum": [
"created_time",
"last_edited_time"
],
"description": "The timestamp to filter on."
}
},
"additionalProperties": true
},
{
"type": "object",
"description": "A compound filter that combines multiple filters with AND or OR logic. Supports up to 2 levels of nesting.",
"properties": {
"or": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"description": "A filter condition on a specific property. The property field specifies which property to filter, and an additional field specifies the filter type and condition (e.g., title, rich_text, number, checkbox, select, multi_select, date, people, files, relation, formula, rollup, etc.).",
"required": [
"property"
],
"properties": {
"property": {
"type": "string",
"description": "The name or ID of the property to filter on."
}
},
"additionalProperties": true
},
{
"type": "object",
"description": "A filter condition on a timestamp (created_time or last_edited_time). The timestamp field specifies which timestamp, and a matching field contains the date filter condition.",
"required": [
"timestamp"
],
"properties": {
"timestamp": {
"type": "string",
"enum": [
"created_time",
"last_edited_time"
],
"description": "The timestamp to filter on."
}
},
"additionalProperties": true
},
{
"type": "object",
"description": "A compound filter at the deepest nesting level. Can only contain property or timestamp filters (no further nesting).",
"properties": {
"or": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"description": "A filter condition on a specific property. The property field specifies which property to filter, and an additional field specifies the filter type and condition (e.g., title, rich_text, number, checkbox, select, multi_select, date, people, files, relation, formula, rollup, etc.).",
"required": [
"property"
],
"properties": {
"property": {
"type": "string",
"description": "The name or ID of the property to filter on."
}
},
"additionalProperties": true
},
{
"type": "object",
"description": "A filter condition on a timestamp (created_time or last_edited_time). The timestamp field specifies which timestamp, and a matching field contains the date filter condition.",
"required": [
"timestamp"
],
"properties": {
"timestamp": {
"type": "string",
"enum": [
"created_time",
"last_edited_time"
],
"description": "The timestamp to filter on."
}
},
"additionalProperties": true
}
],
"description": "A property filter or timestamp filter."
},
"description": "Filters combined with OR logic."
},
"and": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"description": "A filter condition on a specific property. The property field specifies which property to filter, and an additional field specifies the filter type and condition (e.g., title, rich_text, number, checkbox, select, multi_select, date, people, files, relation, formula, rollup, etc.).",
"required": [
"property"
],
"properties": {
"property": {
"type": "string",
"description": "The name or ID of the property to filter on."
}
},
"additionalProperties": true
},
{
"type": "object",
"description": "A filter condition on a timestamp (created_time or last_edited_time). The timestamp field specifies which timestamp, and a matching field contains the date filter condition.",
"required": [
"timestamp"
],
"properties": {
"timestamp": {
"type": "string",
"enum": [
"created_time",
"last_edited_time"
],
"description": "The timestamp to filter on."
}
},
"additionalProperties": true
}
],
"description": "A property filter or timestamp filter."
},
"description": "Filters combined with AND logic."
}
}
}
],
"description": "A filter that can be a property filter, timestamp filter, or nested compound filter."
},
"description": "Filters combined with OR logic."
},
"and": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"description": "A filter condition on a specific property. The property field specifies which property to filter, and an additional field specifies the filter type and condition (e.g., title, rich_text, number, checkbox, select, multi_select, date, people, files, relation, formula, rollup, etc.).",
"required": [
"property"
],
"properties": {
"property": {
"type": "string",
"description": "The name or ID of the property to filter on."
}
},
"additionalProperties": true
},
{
"type": "object",
"description": "A filter condition on a timestamp (created_time or last_edited_time). The timestamp field specifies which timestamp, and a matching field contains the date filter condition.",
"required": [
"timestamp"
],
"properties": {
"timestamp": {
"type": "string",
"enum": [
"created_time",
"last_edited_time"
],
"description": "The timestamp to filter on."
}
},
"additionalProperties": true
},
{
"type": "object",
"description": "A compound filter at the deepest nesting level. Can only contain property or timestamp filters (no further nesting).",
"properties": {
"or": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"description": "A filter condition on a specific property. The property field specifies which property to filter, and an additional field specifies the filter type and condition (e.g., title, rich_text, number, checkbox, select, multi_select, date, people, files, relation, formula, rollup, etc.).",
"required": [
"property"
],
"properties": {
"property": {
"type": "string",
"description": "The name or ID of the property to filter on."
}
},
"additionalProperties": true
},
{
"type": "object",
"description": "A filter condition on a timestamp (created_time or last_edited_time). The timestamp field specifies which timestamp, and a matching field contains the date filter condition.",
"required": [
"timestamp"
],
"properties": {
"timestamp": {
"type": "string",
"enum": [
"created_time",
"last_edited_time"
],
"description": "The timestamp to filter on."
}
},
"additionalProperties": true
}
],
"description": "A property filter or timestamp filter."
},
"description": "Filters combined with OR logic."
},
"and": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"description": "A filter condition on a specific property. The property field specifies which property to filter, and an additional field specifies the filter type and condition (e.g., title, rich_text, number, checkbox, select, multi_select, date, people, files, relation, formula, rollup, etc.).",
"required": [
"property"
],
"properties": {
"property": {
"type": "string",
"description": "The name or ID of the property to filter on."
}
},
"additionalProperties": true
},
{
"type": "object",
"description": "A filter condition on a timestamp (created_time or last_edited_time). The timestamp field specifies which timestamp, and a matching field contains the date filter condition.",
"required": [
"timestamp"
],
"properties": {
"timestamp": {
"type": "string",
"enum": [
"created_time",
"last_edited_time"
],
"description": "The timestamp to filter on."
}
},
"additionalProperties": true
}
],
"description": "A property filter or timestamp filter."
},
"description": "Filters combined with AND logic."
}
}
}
],
"description": "A filter that can be a property filter, timestamp filter, or nested compound filter."
},
"description": "Filters combined with AND logic."
}
}
}
],
"description": "Filter for the view. Can be a property filter (filter by property value), timestamp filter (filter by created_time or last_edited_time), or compound filter (combine filters with and/or logic). Compound filters support up to 2 levels of nesting."
}
viewPositionRequest
{
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "start",
"description": "Position type. \"start\" places the view as the first tab."
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "end",
"description": "Position type. \"end\" places the view as the last tab."
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "after_view",
"description": "Position type. \"after_view\" places the new view immediately after the specified view."
},
"view_id": {
"$ref": "#/components/schemas/idRequest",
"description": "The ID of an existing view in the database. The new view will be placed after this view."
}
},
"required": [
"type",
"view_id"
]
}
],
"description": "Position of the new view in the database's view tab bar."
}
viewPropertyConfigRequest
{
"type": "object",
"properties": {
"property_id": {
"type": "string",
"description": "Property ID (stable identifier)."
},
"visible": {
"type": "boolean",
"description": "Whether this property is visible in the view."
},
"width": {
"type": "integer",
"minimum": 1,
"description": "Width of the property column in pixels (table view only)."
},
"wrap": {
"type": "boolean",
"description": "Whether to wrap content in this property cell/card."
},
"status_show_as": {
"type": "string",
"enum": [
"select",
"checkbox"
],
"description": "How to display status properties (select dropdown or checkbox)."
},
"card_property_width_mode": {
"type": "string",
"enum": [
"full_line",
"inline"
],
"description": "Property width mode in compact card layouts (board/gallery)."
},
"date_format": {
"type": "string",
"enum": [
"full",
"short",
"month_day_year",
"day_month_year",
"year_month_day",
"relative"
],
"description": "Date display format (date properties only)."
},
"time_format": {
"type": "string",
"enum": [
"12_hour",
"24_hour",
"hidden"
],
"description": "Time display format (date properties only)."
}
},
"required": [
"property_id"
]
}
viewPropertyConfigResponse
{
"type": "object",
"properties": {
"property_id": {
"type": "string",
"description": "Property ID (stable identifier)."
},
"property_name": {
"type": "string",
"description": "Property name (convenience field, not stable across renames)."
},
"visible": {
"type": "boolean",
"description": "Whether this property is visible in the view."
},
"width": {
"type": "integer",
"minimum": 0,
"description": "Width of the property column in pixels (table view only)."
},
"wrap": {
"type": "boolean",
"description": "Whether to wrap content in this property cell/card."
},
"status_show_as": {
"type": "string",
"enum": [
"select",
"checkbox"
],
"description": "How to display status properties (as select dropdown or checkbox)."
},
"card_property_width_mode": {
"type": "string",
"enum": [
"full_line",
"inline"
],
"description": "Property width mode in compact card layouts (board/gallery)."
},
"date_format": {
"type": "string",
"enum": [
"full",
"short",
"month_day_year",
"day_month_year",
"year_month_day",
"relative"
],
"description": "Date display format (date properties only). \"full\" = localized full date, \"short\" = month and day, \"month_day_year\" = MM/DD/YYYY, \"day_month_year\" = DD/MM/YYYY, \"year_month_day\" = YYYY/MM/DD, \"relative\" = relative dates."
},
"time_format": {
"type": "string",
"enum": [
"12_hour",
"24_hour",
"hidden"
],
"description": "Time display format (date properties only). \"12_hour\" = 12-hour clock with AM/PM, \"24_hour\" = 24-hour clock, \"hidden\" = hide time."
}
},
"additionalProperties": false,
"required": [
"property_id"
]
}
viewPropertySortRequest
{
"type": "object",
"properties": {
"property": {
"type": "string",
"description": "Property name or ID to sort by."
},
"direction": {
"$ref": "#/components/schemas/sortDirectionRequest",
"description": "Sort direction."
}
},
"required": [
"property",
"direction"
]
}
viewPropertySortsRequest
{
"type": "array",
"items": {
"$ref": "#/components/schemas/viewPropertySortRequest"
},
"maxItems": 100
}
viewQueryResponse
{
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "view_query",
"description": "The object type."
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The query ID."
},
"view_id": {
"$ref": "#/components/schemas/idResponse",
"description": "The view this query was executed against."
},
"expires_at": {
"type": "string",
"format": "date-time",
"description": "When the cached query results expire."
},
"total_count": {
"type": "number",
"description": "Total number of results in the query."
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/pageReferenceResponse"
},
"maxItems": 100,
"description": "The page results for this page."
},
"next_cursor": {
"oneOf": [
{
"$ref": "#/components/schemas/idResponse"
},
{
"type": "null"
}
],
"description": "Cursor for the next page of results."
},
"has_more": {
"type": "boolean",
"description": "Whether there are more results."
},
"request_status": {
"$ref": "#/components/schemas/requestStatusResponse",
"description": "Set to `{ type: 'incomplete', incomplete_reason: 'query_result_limit_reached' }` when the view's underlying data source has more rows matching this query than the server-side pagination depth limit allows."
}
},
"additionalProperties": false,
"required": [
"object",
"id",
"view_id",
"expires_at",
"total_count",
"results",
"next_cursor",
"has_more"
]
}
viewSortRequest
{
"type": "object",
"description": "Sort for the view. Can be a property sort (with property and direction) or timestamp sort (with timestamp and direction)."
}
viewSortResponse
{
"oneOf": [
{
"$ref": "#/components/schemas/propertySortResponse"
},
{
"$ref": "#/components/schemas/timestampSortResponse"
}
],
"description": "Sort for the view. Can sort by property or timestamp."
}
viewSortsRequest
{
"type": "array",
"items": {
"$ref": "#/components/schemas/viewSortRequest"
},
"maxItems": 100
}
viewTypeRequest
{
"type": "string",
"enum": [
"table",
"board",
"list",
"calendar",
"timeline",
"gallery",
"form",
"chart",
"map",
"dashboard"
],
"description": "One of: `table`, `board`, `list`, `calendar`, `timeline`, `gallery`, `form`, `chart`, `map`, `dashboard`"
}
viewUpdatedWebhookPayload
{
"allOf": [
{
"$ref": "#/components/schemas/baseWebhookPayload"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "view.updated",
"description": "Always `view.updated`"
},
"entity": {
"$ref": "#/components/schemas/webhookViewEntity",
"description": "The object that triggered the event."
},
"data": {
"type": "object",
"properties": {
"parent": {
"$ref": "#/components/schemas/webhookParentBlock",
"description": "The parent of the updated view."
},
"updated_fields": {
"type": "array",
"items": {
"type": "string",
"enum": [
"name",
"filter",
"sorts",
"configuration"
],
"description": "One of: `name`, `filter`, `sorts`, `configuration`"
},
"maxItems": 100,
"description": "The fields of the view that were updated."
}
},
"additionalProperties": false,
"required": [
"parent",
"updated_fields"
],
"description": "Additional event-specific data."
}
},
"required": [
"type",
"entity",
"data"
]
}
]
}
webhookDatabaseEventEntity
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the database or data source that triggered the event."
},
"type": {
"type": "string",
"enum": [
"block",
"database",
"data_source"
],
"description": "The type of entity. For linked databases, this is `block`."
}
},
"additionalProperties": false,
"required": [
"id",
"type"
]
}
webhookExternalBlock
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the parent."
},
"type": {
"type": "string",
"enum": [
"page",
"database",
"block"
],
"description": "The type of the parent."
}
},
"additionalProperties": false,
"required": [
"id",
"type"
]
}
webhookFileUploadEntity
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file_upload",
"description": "Always `file_upload`"
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the file upload that triggered the event."
}
},
"additionalProperties": false,
"required": [
"type",
"id"
]
}
webhookPageEntity
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "page",
"description": "Always `page`"
},
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the page that triggered the event."
}
},
"additionalProperties": false,
"required": [
"type",
"id"
]
}
webhookParentBlock
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the parent."
},
"type": {
"type": "string",
"enum": [
"space",
"block",
"page",
"database",
"team",
"agent"
],
"description": "The type of the parent."
},
"data_source_id": {
"$ref": "#/components/schemas/idResponse",
"description": "The data source ID of the parent, if applicable."
}
},
"additionalProperties": false,
"required": [
"id",
"type"
]
}
webhookUpdatedBlock
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the updated block."
},
"type": {
"type": "string",
"enum": [
"page",
"database",
"block"
],
"description": "The type of the updated block."
}
},
"additionalProperties": false,
"required": [
"id",
"type"
]
}
webhookViewEntity
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/idResponse",
"description": "The ID of the view that triggered the event."
},
"type": {
"type": "string",
"const": "view",
"description": "Always `view`"
}
},
"additionalProperties": false,
"required": [
"id",
"type"
]
}
widgetPlacementRequest
{
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "new_row",
"description": "Placement type. \"new_row\" creates a new row containing the widget."
},
"row_index": {
"type": "integer",
"minimum": 0,
"description": "The 0-based row position to insert the new row at. If omitted, the new row is appended at the end."
}
},
"required": [
"type"
]
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "existing_row",
"description": "Placement type. \"existing_row\" adds the widget to an existing row (side-by-side with other widgets)."
},
"row_index": {
"type": "integer",
"minimum": 0,
"description": "The 0-based index of the existing row to add the widget to."
}
},
"required": [
"type",
"row_index"
]
}
],
"description": "Where to place the new widget in the dashboard. \"new_row\" creates a new row, \"existing_row\" adds to an existing row side-by-side with other widgets."
}
workspaceParentForBlockBasedObjectResponse
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "workspace",
"description": "The parent type."
},
"workspace": {
"type": "boolean",
"const": true,
"description": "Always true for workspace parent."
}
},
"additionalProperties": false,
"required": [
"type",
"workspace"
]
}