A property_item object describes the identifier, type, and value of a page property. It's returned from the Retrieve a page property item

All property items

Each page property item object contains the following keys. In addition, it will contain a key corresponding with the value of type. The value is an object containing type-specific data. The type-specific data are described in the sections below.

PropertyTypeDescriptionExample value
object"property_item"Always "property_item"."property_item"
idstringUnderlying identifier for the property. This identifier is guaranteed to remain constant when the property name changes. It may be a UUID, but is often a short random string.

The id may be used in place of name when creating or updating pages.
"f%5C%5C%3Ap"
typestring (enum)Type of the property. Possible values are "rich_text", "number", "select", "multi_select", "date", "formula", "relation", "rollup", "title", "people", "files", "checkbox", "url", "email", "phone_number", "created_time", "created_by", "last_edited_time", and "last_edited_by"."rich_text"

Paginated property values

The title, rich_text, relation and people property items of are returned as a paginated list object of individual property_item objects in the results. An abridged set of the the properties found in the list object are found below, see the Pagination documentation for additional information.

PropertyTypeDescriptionExample value
object"list"Always "list"."list"
type"property_item"Always "property_item"."property_item"
resultslistList of property_item objects.[{"object": "property_item", "id": "vYdV", "type": "relation", "relation": { "id": "535c3fb2-95e6-4b37-a696-036e5eac5cf6"}}... ]
property_itemobjectA property_item object that describes the property.{"id": "title", "next_url": null, "type": "title", "title": {}}
next_urlstring or nullThe URL the user can request to get the next page of results."http://api.notion.com/v1/pages/0e5235bf86aa4efb93aa772cce7eab71/properties/vYdV?start_cursor=LYxaUO&page_size=25"

Title property values

Title property value objects contain an array of rich text objects within the title property.

{
  "Name": {
    "object": "list",
    "results": [
      {
        "object": "property_item",
        "id": "title",
        "type": "title",
        "title": {
          "type": "text",
          "text": {
            "content": "The title",
            "link": null
          },
          "annotations": {
            "bold": false,
            "italic": false,
            "strikethrough": false,
            "underline": false,
            "code": false,
            "color": "default"
          },
          "plain_text": "The title",
          "href": null
        }
      }
    ],
    "next_cursor": null,
    "has_more": false,
    "type": "property_item",
    "property_item": {
      "id": "title",
      "next_url": null,
      "type": "title",
      "title": {}
    }
  }
}

Rich Text property values

Rich Text property value objects contain an array of rich text objects within the rich_text property.

{
  "Details": {
    "object": "list",
    "results": [
      {
        "object": "property_item",
        "id": "NVv%5E",
        "type": "rich_text",
        "rich_text": {
          "type": "text",
          "text": {
            "content": "Some more text with ",
            "link": null
          },
          "annotations": {
            "bold": false,
            "italic": false,
            "strikethrough": false,
            "underline": false,
            "code": false,
            "color": "default"
          },
          "plain_text": "Some more text with ",
          "href": null
        }
      },
      {
        "object": "property_item",
        "id": "NVv%5E",
        "type": "rich_text",
        "rich_text": {
          "type": "text",
          "text": {
            "content": "fun formatting",
            "link": null
          },
          "annotations": {
            "bold": false,
            "italic": true,
            "strikethrough": false,
            "underline": false,
            "code": false,
            "color": "default"
          },
          "plain_text": "fun formatting",
          "href": null
        }
      }
    ],
    "next_cursor": null,
    "has_more": false,
    "type": "property_item",
    "property_item": {
      "id": "NVv^",
      "next_url": null,
      "type": "rich_text",
      "rich_text": {}
    }
  }
}

Number property values

Number property value objects contain a number within the number property.

{
  "Quantity": {
    "object": "property_item",
    "id": "XpXf",
    "type": "number",
    "number": 1234
  }
}

Select property values

Select property value objects contain the following data within the select property:

PropertyTypeDescriptionExample value
idstring (UUIDv4)ID of the option.

When updating a select property, you can use either name or id.
"b3d773ca-b2c9-47d8-ae98-3c2ce3b2bffb"
namestringName of the option as it appears in Notion.

If the select database property does not yet have an option by that name, it will be added to the database schema if the integration also has write access to the parent database.

Note: Commas (",") are not valid for select values.
"Fruit"
colorstring (enum)Color of the option. Possible values are: "default", "gray", "brown", "red", "orange", "yellow", "green", "blue", "purple", "pink". Defaults to "default".

Not currently editable.
"red"
{
  "Option": {
    "object": "property_item",
    "id": "%7CtzR",
    "type": "select",
    "select": {
      "id": "64190ec9-e963-47cb-bc37-6a71d6b71206",
      "name": "Option 1",
      "color": "orange"
    }
  }
}

Multi-select property values

Multi-select property value objects contain an array of multi-select option values within the multi_select property.

Multi-select option values

PropertyTypeDescriptionExample value
idstring (UUIDv4)ID of the option.

When updating a multi-select property, you can use either name or id.
"b3d773ca-b2c9-47d8-ae98-3c2ce3b2bffb"
namestringName of the option as it appears in Notion.

If the multi-select database property does not yet have an option by that name, it will be added to the database schema if the integration also has write access to the parent database.

Note: Commas (",") are not valid for select values.
"Fruit"
colorstring (enum)Color of the option. Possible values are: "default", "gray", "brown", "red", "orange", "yellow", "green", "blue", "purple", "pink". Defaults to "default".

Not currently editable.
"red"
{
  "Tags": {
    "object": "property_item",
    "id": "z%7D%5C%3C",
    "type": "multi_select",
    "multi_select": [
      {
        "id": "91e6959e-7690-4f55-b8dd-d3da9debac45",
        "name": "A",
        "color": "orange"
      },
      {
        "id": "2f998e2d-7b1c-485b-ba6b-5e6a815ec8f5",
        "name": "B",
        "color": "purple"
      }
    ]
  }
}

Date property values

Date property value objects contain the following data within the date property:

PropertyTypeDescriptionExample value
startstring (ISO 8601 date and time)An ISO 8601 format date, with optional time."2020-12-08T12:00:00Z"
endstring (optional, ISO 8601 date and time)An ISO 8601 formatted date, with optional time. Represents the end of a date range.

If null, this property's date value is not a range.
"2020-12-08T12:00:00Z"
time_zonestring (optional, enum)Time zone information for start and end. Possible values are extracted from the IANA database and they are based on the time zones from Moment.js.

When time zone is provided, start and end should not have any UTC offset. In addition, when time zone is provided, start and end cannot be dates without time information.

If null, time zone information will be contained in UTC offsets in start and end.
"America/Los_Angeles"
{
  "Shipment Time": {
    "object": "property_item",
    "id": "i%3Ahj",
    "type": "date",
    "date": {
      "start": "2021-05-11T11:00:00.000-04:00",
      "end": null,
      "time_zone": null
    }
  }
}

Formula property values

Formula property value objects represent the result of evaluating a formula described in the
database's properties. These objects contain a type key and a key corresponding with the value of type. The value is an object containing type-specific data. The type-specific data are described in the sections below.

PropertyTypeDescription
typestring (enum)The type of the formula result. Possible values are "string", "number", "boolean", and "date".

String formula property values

String formula property values contain an optional string within the string property.

Number formula property values

Number formula property values contain an optional number within the number property.

Boolean formula property values

Boolean formula property values contain a boolean within the boolean property.

Date formula property values

Date formula property values contain an optional date property value within the date property.

{
  "Formula": {
    "object": "property_item",
    "id": "KpQq",
    "type": "formula",
    "formula": {
      "type": "number",
      "number": 1234
    }
  }
}

Relation property values

Relation property value objects contain an array of relation property items with page references within the relation property. A page reference is an object with an id property which is a string value (UUIDv4) corresponding to a page ID in another database.

{
  "Project": {
    "object": "list",
    "results": [
      {
        "object": "property_item",
        "id": "vYdV",
        "type": "relation",
        "relation": {
          "id": "535c3fb2-95e6-4b37-a696-036e5eac5cf6"
        }
      }
    ],
    "next_cursor": null,
    "has_more": true,
    "type": "property_item",
    "property_item": {
      "id": "vYdV",
      "next_url": null,
      "type": "relation",
      "relation": {}
    }
  }
}

Rollup property values

Rollup property value objects represent the result of evaluating a rollup described in the
database's properties. The property is returned as a list object of type property_item with a list of relation items used to computed the rollup under results.

A rollup property item is also returned under the property_type key that describes the rollup aggregation and computed result.

In order to avoid timeouts, if the rollup has a with a large number of aggregations or properties the endpoint returns a next_cursor value that is used to determinate the aggregation value so far for the subset of relations that have been paginated through.

Once has_more is false, then the final rollup value is returned. See the Pagination documentation for more information on pagination in the Notion API.

Computing the values of following aggregations are not supported. Instead the endpoint returns a list of property_item objects for the rollup:

  • show_unique (Show unique values)
  • unique (Count unique values)
  • median(Median)
PropertyTypeDescription
typestring (enum)The type of rollup. Possible values are "number", "date", "array", "unsupported" and "incomplete".
functionstring (enum)Describes the aggregation used.
Possible values include: 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

Number rollup property values

Number rollup property values contain a number within the number property.

Date rollup property values

Date rollup property values contain a date property value within the date property.

Array rollup property values

Array rollup property values contain an array of property_item objects within the results property.

Incomplete rollup property values

Rollups with an aggregation with more than one page of aggregated results will return a rollup object of type "incomplete". To obtain the final value paginate through the next values in the rollup using the next_cursor or next_url property.

{
  "Rollup": {
    "object": "list",
    "results": [
      {
        "object": "property_item",
        "id": "vYdV",
        "type": "relation",
        "relation": {
          "id": "535c3fb2-95e6-4b37-a696-036e5eac5cf6"
        }
      }...
    ],	
    "next_cursor": "1QaTunT5",
    "has_more": true,
    "type": "property_item",
    "property_item": {
      "id": "y}~p",
      "next_url": "http://api.notion.com/v1/pages/0e5235bf86aa4efb93aa772cce7eab71/properties/y%7D~p?start_cursor=1QaTunT5&page_size=25",
      "type": "rollup",
      "rollup": {
        "function": "sum",
        "type": "incomplete",
        "incomplete": {}
      }
    }
  }
}

People property values

People property value objects contain an array of user objects within the people property.

{
  "Owners": {
    "object": "property_item",
    "id": "KpQq",
    "type": "people",
    "people": [
      {
        "object": "user",
        "id": "285e5768-3fdc-4742-ab9e-125f9050f3b8",
        "name": "Example Avo",
        "avatar_url": null,
        "type": "person",
        "person": {
          "email": "[email protected]"
        }
      }
    ]
  }
}

Files property values

File property value objects contain an array of file references within the files property. A file reference is an object with a File Object and name property, with a string value corresponding to a filename of the original file upload (i.e. "Whole_Earth_Catalog.jpg").

{
  "Files": {
    "object": "property_item",
    "id": "KpQq",
    "type": "files",
    "files": [
      {
        "type": "external",
        "name": "Space Wallpaper",
        "external": "https://website.domain/images/space.png"
      }
    ]
  }
}

Checkbox property values

Checkbox property value objects contain a boolean within the checkbox property.

{
  "Done?": {
    "object": "property_item",
    "id": "KpQq",
    "type": "checkbox",
    "checkbox": true
  }
}

URL property values

URL property value objects contain a non-empty string within the url property. The string describes a web address (i.e. "http://worrydream.com/EarlyHistoryOfSmalltalk/").

{
  "Website": {
    "object": "property_item",
    "id": "KpQq",
    "type": "url",
    "url": "https://notion.so/notiondevs"
  }
}

Email property values

Email property value objects contain a string within the email property. The string describes an email address (i.e. "[email protected]").

{
  "Shipper's Contact": {
    "object": "property_item",
    "id": "KpQq",
    "type": "email",
    "email": "[email protected]"
  }
}

Phone number property values

Phone number property value objects contain a string within the phone_number property. No structure is enforced.

{
  "Shipper's No.": {
    "object": "property_item",
    "id": "KpQq",
    "type": "phone_number",
    "phone_number": "415-000-1111"
  }
}

Created time property values

Created time property value objects contain a string within the created_time property. The string contains the date and time when this page was created. It is formatted as an ISO 8601 date time string (i.e. "2020-03-17T19:10:04.968Z").

{
  "Created Time": {
    "object": "property_item",
    "id": "KpQq",
    "type": "create_time",
  	"created_time": "2020-03-17T19:10:04.968Z"
  }
}

Created by property values

Created by property value objects contain a user object within the created_by property. The user object describes the user who created this page.

{
  "Created By": {
    "created_by": {
      "object": "user",
      "id": "23345d4f-cf71-4a70-89a5-226c95a6eaae",
      "name": "Test User",
      "type": "person",
      "person": {
        "email": "[email protected]"
      }
    }
  }
}
{
  "dsEa": {
    "created_by": {
			"object": "user",
			"id": "71e95936-2737-4e11-b03d-f174f6f13087"
  	}
  }
}

Last edited time property values

Last edited time property value objects contain a string within the last_edited_time property. The string contains the date and time when this page was last updated. It is formatted as an ISO 8601 date time string (i.e. "2020-03-17T19:10:04.968Z").

{
  "Last Edited Time": {
  	"last_edited_time": "2020-03-17T19:10:04.968Z"
  }
}
{
  "as0w": {
  	"last_edited_time": "2020-03-17T19:10:04.968Z"
  }
}

Last edited by property values

Last edited by property value objects contain a user object within the last_edited_by property. The user object describes the user who last updated this page.

{
  "Last Edited By": {
    "last_edited_by": {
      "object": "user",
      "id": "23345d4f-cf71-4a70-89a5-226c95a6eaae",
      "name": "Test User",
      "type": "person",
      "person": {
        "email": "[email protected]"
      }
    }
  }
}
{
  "as12": {
    "last_edited_by": {
			"object": "user",
			"id": "71e95936-2737-4e11-b03d-f174f6f13087"
  	}
  }
}