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.

Property

Type

Description

Example value

object

"property_item"

Always "property_item".

"property_item"

id

string

Underlying 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"

type

string (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"

next_url

string or null

Only present in paginated property values (see below) with another page of results.

If present, the 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"

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.

Property

Type

Description

Example value

object

"list"

Always "list".

"list"

type

"property_item"

Always "property_item".

"property_item"

results

list

List of property_item objects.

[{"object": "property_item", "id": "vYdV", "type": "relation", "relation": { "id": "535c3fb2-95e6-4b37-a696-036e5eac5cf6"}}... ]

property_item

object

A property_item object that describes the property.

{"id": "title", "next_url": null, "type": "title", "title": {}}

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:

Property

Type

Description

Example value

id

string (UUIDv4)

ID of the option.

When updating a select property, you can use either name or id.

"b3d773ca-b2c9-47d8-ae98-3c2ce3b2bffb"

name

string

Name 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"

color

string (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

Property

Type

Description

Example value

id

string (UUIDv4)

ID of the option.

When updating a multi-select property, you can use either name or id.

"b3d773ca-b2c9-47d8-ae98-3c2ce3b2bffb"

name

string

Name 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"

color

string (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:

Property

Type

Description

Example value

start

string (ISO 8601 date and time)

An ISO 8601 format date, with optional time.

"2020-12-08T12:00:00Z"

end

string (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_zone

string (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.

Property

Type

Description

type

string (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)

Property

Type

Description

type

string (enum)

The type of rollup. Possible values are "number", "date", "array", "unsupported" and "incomplete".

function

string (enum)

Describes the aggregation used.
Possible values include: count_all, count_values, count_unique_values, count_empty, count_not_empty, percent_empty, percent_not_empty, sum, average, median, min, max, range, 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"
    }
  }
}