A property value defines the identifier, type, and value of a page property in a page object. It's used when retrieving and updating pages, ex: Create and Update pages.

🚧

Property values in the page object have a 25 page reference limit

Any property value that has other pages in its value will only use the first 25 page references. Use the Retrieve a page property endpoint to paginate through the full value.

All property values

Each page property value object contains the following keys. In addition, it contains 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
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"
type (optional)string (enum)Type of the property. Possible values are "rich_text", "number", "select", "multi_select", "status", "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"

Title property values

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

{
  "Name": {
    "title": [
      {
        "type": "text",
        "text": {
          "content": "The title"
        }
      }
    ]
  }
}
{
  "title": {
    "title": [
      {
        "type": "rich_text",
        "rich_text": {
          "content": "The title"
        }
      }
    ]
  }
}

📘

The Retrieve a page endpoint returns a maximum of 25 inline page or person references for a title property. If a title property includes more than 25 references, then you can use the Retrieve a page property endpoint for the specific title property to get its complete list of references.

Rich Text property values

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

{
  "Details": {
    "rich_text": [
      {
        "type": "text",
        "text": {
          "content": "Some more text with "
        }
      },
      {
        "type": "text",
        "text": {
          "content": "some"
        },
        "annotations": {
          "italic": true
        }
      },
      {
        "type": "text",
        "text": {
          "content": " "
        }
      },
      {
        "type": "text",
        "text": {
          "content": "fun"
        },
        "annotations": {
          "bold": true
        }
      },
      {
        "type": "text",
        "text": {
          "content": " "
        }
      },
      {
        "type": "text",
        "text": {
          "content": "formatting"
        },
        "annotations": {
          "color": "pink"
        }
      }
    ]
  }
}
{
  "D[X|": {
    "rich_text": [
      {
        "type": "text",
        "text": {
          "content": "Some more text with "
        }
      },
      {
        "type": "text",
        "text": {
          "content": "some"
        },
        "annotations": {
          "italic": true
        }
      },
      {
        "type": "text",
        "text": {
          "content": " "
        }
      },
      {
        "type": "text",
        "text": {
          "content": "fun"
        },
        "annotations": {
          "bold": true
        }
      },
      {
        "type": "text",
        "text": {
          "content": " "
        }
      },
      {
        "type": "text",
        "text": {
          "content": "formatting"
        },
        "annotations": {
          "color": "pink"
        }
      }
    ]
  }
}

📘

The Retrieve a page endpoint returns a maximum of 25 populated inline page or person references for a rich_text property. If a rich_text property includes more than 25 references, then you can use the Retrieve a page property endpoint for the specific rich_text property to get its complete list of references.

Number property values

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

{
  "Quantity": {
    "number": 1234
  }
}
{
  "[email protected]": {
    "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": {
    "select": {
      "name": "Option 1"
    }
  }
}
{
  "XMqQ": {
    "select": {
      "id": "c3406b80-bda4-45e0-add2-2748ac1527b"
    }
  }
}

Status property values

Status property value objects contain the following data within the status property:

PropertyTypeDescriptionExample value
idstring (UUIDv4)ID of the option."b3d773ca-b2c9-47d8-ae98-3c2ce3b2bffb"
namestringName of the option as it appears in Notion."In progress"
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"
{
  "Status": {
    "status": {
      "name": "In progress"
    }
  }
}
{
  "XMqQ": {
    "status": {
      "id": "c3406b80-bda4-45e0-add2-2748ac1527b"
    }
  }
}

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": {
    "multi_select": [
      {
        "name": "B"
      },
      {
        "name": "C"
      }
    ]
  }
}
{
  "[email protected]": {
    "multi_select": [
      {
        "id": "3d3ca089-f964-4831-a8a2-0c6d746f4162"
      },
      {
        "id": "1919ba02-1bf3-4e73-8832-8c0020f17363"
      }
    ]
  }
}

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": {
    "date": {
      "start": "2021-05-11T11:00:00.000-04:00"
    }
  }
}
{
  "CbFP": {
    "date": {
      "start": "2021-05-11T11:00:00.000-04:00"
    }
  }
}
{
  "Preparation Range": {
    "date": {
      "start": "2021-04-26",
      "end": "2021-05-07"
    }
  }
}
{
  "\\rm}": {
    "date": {
      "start": "2021-04-26",
      "end": "2021-05-07"
    }
  }
}
{
  "Delivery Time": {
    "date": {
      "start": "2020-12-08T12:00:00Z",
      "time_zone": "America/New_York"
    }
  }
}
{
  "DgRt": {
    "date": {
      "start": "2020-12-08T12:00:00Z",
      "time_zone": "America/New_York"
    }
  }
}

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 of a formula cannot be updated directly.

🚧

Formula values may not match the Notion UI.

Formulas returned in page objects are subject to a 25 page reference limitation. The Retrieve a page property endpoint should be used to get an accurate formula value.

{
  "Formula": {
    "id": "1lab",
    "formula": {
      "type": "number",
      "number": 1234
    }
  }
}
PropertyTypeDescription
typestring (enum)

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.

Relation property values

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

A relation includes a has_more property in the Retrieve a page endpoint response object. The endpoint returns a maximum of 25 page references for a relation. If a relation has more than 25 references, then the has_more value for the relation in the response object is true. If a relation doesn’t exceed the limit, then has_more is false.

Note that updating a relation property value with an empty array will clear the list.

{
  "Project": {
    "relation": [
      {
        "id": "1d148a9e-783d-47a7-b3e8-2d9c34210355"
      }
    ],
      "has_more": true
  }
}
{
  "mODt": {
    "relation": [
      {
        "id": "1d148a9e-783d-47a7-b3e8-2d9c34210355"
      }
    ],
      "has_more": true
  }
}

Rollup property values

Rollup property value objects represent the result of evaluating a rollup described in the
database's properties. These objects contain a type key and a key corresponding with the value of type. The value of a rollup cannot be updated directly.

{
  "Rollup": {
    "id": "aJ3l",
    "rollup": {
      "type": "number",
      "number": 1234,
      "function": "sum"
    }
  }
}

🚧

Rollup values may not match the Notion UI.

Rollups returned in page objects are subject to a 25 page reference limitation. The Retrieve a page property endpoint should be used to get an accurate formula value.

String rollup property values

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

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 number, date, or string objects within the results property.

People property values

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

{
  "Owners": {
    "people": [
      {
        "object": "user",
        "id": "3e01cdb8-6131-4a85-8d83-67102c0fb98c"
      },
      {
        "object": "user",
        "id": "b32c006a-2898-45bb-abd2-de095f354592"
      }
    ]
  }
}
{
  "Owners": {
    "people": [
      {
        "object": "user",
        "id": "3e01cdb8-6131-4a85-8d83-67102c0fb98c"
      },
      {
        "object": "user",
        "id": "b32c006a-2898-45bb-abd2-de095f354592"
      }
    ]
  }
}

📘

The Retrieve a page endpoint can’t be guaranteed to return more than 25 people per people page property. If a people page property includes more than 25 people, then you can use the Retrieve a page property endpoint for the specific people property to get a complete list of people.

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": {
    "files": [
      {
        "type": "external",
        "name": "Space Wallpaper",
        "external": {
            "url": "https://website.domain/images/space.png"
        }
      }
    ]
  }
}

📘

When updating a file property, the value will be overwritten by the array of files passed.

Although we do not support uploading files, if you pass a file object containing a file hosted by Notion, it will remain one of the files. To remove any file, just do not pass it in the update response.

Checkbox property values

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

{
  "Done?": {
    "checkbox": true
  }
}
{
  "RirO": {
    "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": {
    "url": "https://notion.so/notiondevs"
  }
}
{
  "<tdn": {
    "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": {
    "email": "[email protected]"
  }
}
{
  "}=RV": {
    "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.": {
    "phone_number": "415-000-1111"
  }
}
{
  "_A<p": {
    "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"). The value of created_time cannot be updated. See the Property Item Object to see how these values are returned.

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. The value of created_by cannot be updated. See the Property Item Object to see how these values are returned.

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"). The value of last_edited_time cannot be updated. See the Property Item Object to see how these values are returned.

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. The value of last_edited_by cannot be updated. See the Property Item Object to see how these values are returned.