Object Types Reference
Fresh Schema definitions for Notion API objects.Object Hierarchy
Page Object
javascript
{
"object": "page",
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"created_time": "2025-01-15T10:00:00.000Z",
"last_edited_time": "2025-01-15T12:00:00.000Z",
"created_by": { "object": "user", "id": "xxx" },
"last_edited_by": { "object": "user", "id": "xxx" },
"cover": null,
"icon": { "type": "emoji", "emoji": "📄" },
"parent": {
"type": "database_id",
"database_id": "xxx"
},
"archived": false,
"in_trash": false,
"properties": { /* property values */ },
"url": "https://www.notion.so/Page-Title-xxx"
}Database Object
javascript
{
"object": "database",
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"created_time": "2025-01-15T10:00:00.000Z",
"last_edited_time": "2025-01-15T12:00:00.000Z",
"title": [/* rich text array */],
"description": [/* rich text array */],
"icon": null,
"cover": null,
"properties": { /* property schema */ },
"parent": {
"type": "page_id",
"page_id": "xxx"
},
"url": "https://www.notion.so/xxx",
"archived": false,
"in_trash": false,
"is_inline": false
}Property Types
Property Schema (Database Definition)
Property Schema Examples
javascript
{
"Name": {
"id": "title",
"name": "Name",
"type": "title",
"title": {}
}
}javascript
{
"Description": {
"id": "xxx",
"name": "Description",
"type": "rich_text",
"rich_text": {}
}
}javascript
{
"Price": {
"id": "xxx",
"name": "Price",
"type": "number",
"number": {
"format": "dollar"
}
}
}
// Formats: number, number_with_commas, percent,
// dollar, canadian_dollar, euro, pound, yen,
// ruble, rupee, won, yuan, real, lira, and morejavascript
{
"Status": {
"id": "xxx",
"name": "Status",
"type": "select",
"select": {
"options": [
{ "id": "xxx", "name": "To Do", "color": "gray" },
{ "id": "xxx", "name": "Done", "color": "green" }
]
}
}
}javascript
{
"Tags": {
"id": "xxx",
"name": "Tags",
"type": "multi_select",
"multi_select": {
"options": [
{ "id": "xxx", "name": "Bug", "color": "red" },
{ "id": "xxx", "name": "Feature", "color": "blue" }
]
}
}
}javascript
{
"Due Date": {
"id": "xxx",
"name": "Due Date",
"type": "date",
"date": {}
}
}javascript
{
"Archived": {
"id": "xxx",
"name": "Archived",
"type": "checkbox",
"checkbox": {}
}
}javascript
{
"Assignee": {
"id": "xxx",
"name": "Assignee",
"type": "people",
"people": {}
}
}javascript
{
"Website": {
"id": "xxx",
"name": "Website",
"type": "url",
"url": {}
}
}javascript
{
"Projects": {
"id": "xxx",
"name": "Projects",
"type": "relation",
"relation": {
"database_id": "xxx",
"type": "dual_property",
"dual_property": {
"synced_property_name": "Tasks",
"synced_property_id": "xxx"
}
}
}
}javascript
{
"Total": {
"id": "xxx",
"name": "Total",
"type": "rollup",
"rollup": {
"relation_property_name": "Items",
"relation_property_id": "xxx",
"rollup_property_name": "Price",
"rollup_property_id": "xxx",
"function": "sum"
}
}
}
// Functions: count, count_values, empty, not_empty,
// unique, show_unique, percent_empty, percent_not_empty,
// sum, average, median, min, max, range, earliest_date,
// latest_date, date_range, checked, unchecked,
// percent_checked, percent_unchecked, show_originaljavascript
{
"Calculated": {
"id": "xxx",
"name": "Calculated",
"type": "formula",
"formula": {
"expression": "prop(\"Price\") * prop(\"Quantity\")"
}
}
}Property Values (Page Properties)
javascript
{
"Name": {
"id": "title",
"type": "title",
"title": [
{
"type": "text",
"text": { "content": "Page Title", "link": null },
"plain_text": "Page Title",
"annotations": { /* ... */ },
"href": null
}
]
}
}javascript
{
"Description": {
"id": "xxx",
"type": "rich_text",
"rich_text": [
{
"type": "text",
"text": { "content": "Some text" },
"plain_text": "Some text"
}
]
}
}javascript
{
"Price": {
"id": "xxx",
"type": "number",
"number": 99.99
}
}javascript
{
"Status": {
"id": "xxx",
"type": "select",
"select": {
"id": "xxx",
"name": "Done",
"color": "green"
}
}
}javascript
{
"Tags": {
"id": "xxx",
"type": "multi_select",
"multi_select": [
{ "id": "xxx", "name": "Bug", "color": "red" },
{ "id": "xxx", "name": "Feature", "color": "blue" }
]
}
}javascript
{
"Due Date": {
"id": "xxx",
"type": "date",
"date": {
"start": "2025-01-15",
"end": "2025-01-20",
"time_zone": null
}
}
}javascript
{
"Completed": {
"id": "xxx",
"type": "checkbox",
"checkbox": true
}
}javascript
{
"Assignee": {
"id": "xxx",
"type": "people",
"people": [
{
"object": "user",
"id": "xxx",
"name": "John Doe",
"avatar_url": "https://...",
"type": "person",
"person": { "email": "john@example.com" }
}
]
}
}javascript
{
"Website": {
"id": "xxx",
"type": "url",
"url": "https://example.com"
}
}javascript
{
"Projects": {
"id": "xxx",
"type": "relation",
"relation": [
{ "id": "page-id-1" },
{ "id": "page-id-2" }
],
"has_more": false
}
}Block Types
Common Block Structure
javascript
{
"object": "block",
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"parent": {
"type": "page_id",
"page_id": "xxx"
},
"created_time": "2025-01-15T10:00:00.000Z",
"last_edited_time": "2025-01-15T12:00:00.000Z",
"created_by": { "object": "user", "id": "xxx" },
"last_edited_by": { "object": "user", "id": "xxx" },
"has_children": false,
"archived": false,
"in_trash": false,
"type": "paragraph",
"paragraph": {
"rich_text": [/* ... */],
"color": "default"
}
}Block Type Examples
javascript
{
"type": "paragraph",
"paragraph": {
"rich_text": [{ "text": { "content": "Text" } }],
"color": "default"
}
}javascript
{
"type": "heading_1",
"heading_1": {
"rich_text": [{ "text": { "content": "H1" } }],
"is_toggleable": false,
"color": "default"
}
}
// Also: heading_2, heading_3javascript
{
"type": "bulleted_list_item",
"bulleted_list_item": {
"rich_text": [{ "text": { "content": "Item" } }],
"color": "default"
}
}
{
"type": "numbered_list_item",
"numbered_list_item": {
"rich_text": [{ "text": { "content": "Item" } }],
"color": "default"
}
}
{
"type": "to_do",
"to_do": {
"rich_text": [{ "text": { "content": "Task" } }],
"checked": false,
"color": "default"
}
}javascript
{
"type": "code",
"code": {
"rich_text": [{ "text": { "content": "code" } }],
"caption": [],
"language": "javascript"
}
}javascript
{
"type": "quote",
"quote": {
"rich_text": [{ "text": { "content": "Quote" } }],
"color": "default"
}
}javascript
{
"type": "callout",
"callout": {
"rich_text": [{ "text": { "content": "Note" } }],
"icon": { "type": "emoji", "emoji": "💡" },
"color": "blue_background"
}
}javascript
{
"type": "toggle",
"toggle": {
"rich_text": [{ "text": { "content": "Toggle" } }],
"color": "default"
}
}javascript
{
"type": "divider",
"divider": {}
}javascript
{
"type": "image",
"image": {
"type": "external",
"external": {
"url": "https://example.com/image.png"
},
"caption": []
}
}javascript
{
"type": "table",
"table": {
"table_width": 3,
"has_column_header": true,
"has_row_header": false
}
}
// Children must be table_row blocksjavascript
{
"type": "bookmark",
"bookmark": {
"url": "https://example.com",
"caption": []
}
}Rich Text Object
javascript
{
"type": "text",
"text": {
"content": "Hello World",
"link": { "url": "https://example.com" } // optional
},
"annotations": {
"bold": false,
"italic": false,
"strikethrough": false,
"underline": false,
"code": false,
"color": "default"
},
"plain_text": "Hello World",
"href": "https://example.com" // null if no link
}Available Colors
- Text colors:
default,gray,brown,orange,yellow,green,blue,purple,pink,red - Background colors:
gray_background,brown_background,orange_background,yellow_background,green_background,blue_background,purple_background,pink_background,red_background
User Object
javascript
{
"object": "user",
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "person", // or "bot"
"name": "John Doe",
"avatar_url": "https://...",
"person": {
"email": "john@example.com"
}
}Parent Objects
javascript
// Database parent
{ "type": "database_id", "database_id": "xxx" }
// Page parent
{ "type": "page_id", "page_id": "xxx" }
// Workspace parent
{ "type": "workspace", "workspace": true }
// Block parent
{ "type": "block_id", "block_id": "xxx" }Icon Objects
javascript
// Emoji icon
{ "type": "emoji", "emoji": "📄" }
// External image
{
"type": "external",
"external": { "url": "https://example.com/icon.png" }
}
// Notion-hosted file
{
"type": "file",
"file": {
"url": "https://prod-files-secure...",
"expiry_time": "2025-01-15T12:00:00.000Z"
}
}Cover Objects
javascript
// External image
{
"type": "external",
"external": { "url": "https://example.com/cover.jpg" }
}
// Notion-hosted file
{
"type": "file",
"file": {
"url": "https://prod-files-secure...",
"expiry_time": "2025-01-15T12:00:00.000Z"
}
}