Overview
A page’sproperties object holds its property values. In a data source, each page is a row and each property is a column in table view. The data source defines the property names and types.
The tabs compare the same property across API objects. Schema and Page value examples each show one entry in a response’s
properties object. Page write shows an Update page request body; Create page also needs a parent. Read-only types have no Page write tab.
For title, rich_text, people, and relation, the Property item tab shows one entry in a paginated results array. For other types, it shows the endpoint response. Replace example names and IDs with values from your workspace.
Attributes
A property’s
id stays the same when its name changes. IDs can be short strings or UUIDs. The Name property always has the ID title.
Responses use URL-encoded property IDs, such as f%5C%5C%3Ap. Pass the returned ID as-is to the SDK or in an API path. Don’t encode it a second time. You can also use a property ID as a key in a request’s properties object.
Page responses map property names to values. Page writes can use names or IDs. A page whose parent is another page has only a title property. For pages in a data source, write keys must match that data source’s schema.
The object: "property_item" field appears only in property-item responses. It is not part of a page response’s properties entries.
Writing and clearing values
Create page and Update page accept aproperties object. Each entry contains the key for its type and the value to save. Response-only fields such as id, has_more, and rich text plain_text are not needed in a write.
On update, omitted properties keep their values. An array replaces the entire value of that property; it does not append items. Keep any existing people, files, tags, or related pages you still need in the submitted array.
For example,
{"properties":{"Due date":{"date":null}}} clears a page’s date. Setting a whole schema entry to null instead removes the property from the data source.
Writes must fit the request limits. A successful read can contain more items than one write accepts.
Type objects
Button
A Button property returnsbutton: {}. The API does not expose its actions or let you press it by updating a page.
- Schema
- Page value
- Property item
Schema
Checkbox
checkbox is true when checked and false when unchecked.
- Schema
- Page value
- Page write
- Property item
Schema
Created by
created_by is a user object for the page’s creator. Notion sets this read-only value. The user object may contain only object and id.
- Schema
- Page value
- Property item
Schema
Created time
created_time is the page’s creation time as an ISO 8601 timestamp. Notion sets this read-only value.
- Schema
- Page value
- Property item
Schema
Date
date is a date object or null. It can hold a date, a time, or a range.
When you provide
time_zone, include a time in start and end, without a UTC offset. Otherwise, use an offset in a timestamp or a date such as 2026-09-15. Omitted end and time_zone fields return as null.
- Schema
- Page value
- Page write
- Property item
Schema
email is an email address string or null.
- Schema
- Page value
- Page write
- Property item
Schema
Files
The Files & media property uses the API keyfiles. Its value is an array of file objects, each with a name.
An external file uses external: { "url": "https://example.com/file.pdf" }. A file hosted by Notion returns type: "file", a temporary download URL, and an expiry_time. Retrieve the page again to get a fresh URL after it expires.
To attach an uploaded file, use type: "file_upload" and file_upload: { "id": "..." } with a completed file upload. Reads return the attached file as type: "file", not file_upload. A file update replaces the full list, so include files you want to keep.
- Schema
- Page value
- Page write
- Property item
Schema
Formula
formula holds the result of the expression in the data source schema. The result is read-only; the expression can be changed through Update a data source.
The result’s type is string, number, boolean, date, or unsupported. Read the field with that name. A supported result can be null when it has no value.
- Schema
- Page value
- Property item
Schema
Formula result types
These are the objects inside theformula field.
Unsupported formula
A formula or rollup can returntype: "unsupported" with unsupported: {} when it depends on too many related pages or nested calculations. This result has no usable value. Reduce the related pages or simplify the calculation. Requesting the property again does not remove this limit.
For data source queries, filter the returned properties and retrieve details only when you need them.
Formula field
Last edited by
last_edited_by is a user object for the page’s last editor. Notion sets this read-only value. The user object may contain only object and id.
- Schema
- Page value
- Property item
Schema
Last edited time
last_edited_time is the page’s last edit time as an ISO 8601 timestamp. Notion sets this read-only value.
- Schema
- Page value
- Property item
Schema
Multi-select
multi_select is an array of selected options. Each response option has id, name, and color. Write options by id or name; use [] for no selection.
A new option name adds an option to the schema if your connection can write to the parent data source. Option names cannot contain commas. To edit the available options, see Multi-select schemas.
- Schema
- Page value
- Page write
- Property item
Schema
Number
number is a JSON number or null. The schema’s number format controls its display in Notion. For example, 0.25 displays as 25% with the percent format.
- Schema
- Page value
- Page write
- Property item
Schema
People
The Person property uses the API keypeople. A page response contains an array of people or groups. User objects can be partial, so do not assume that a name or email is present.
Writes accept user IDs, including bots that appear as user objects in the API. Bots used internally by Notion may not be assignable. Retrieve a page property item returns a paginated list with one user in each item’s people field. Use it when a page response omits people.
- Schema
- Page value
- Page write
- Property item
Schema
Phone number
The Phone property uses the API keyphone_number. Its value is a string or null. The API does not enforce a phone-number format.
- Schema
- Page value
- Page write
- Property item
Schema
Place
place is a location object or null. It supports reading and writing coordinates, with optional place details. It is the property used by map views.
The API does not look up coordinates from a name or address. Provide
lat and lon when writing a value.
- Schema
- Page value
- Page write
- Property item
Schema
Relation
relation is an array of related page IDs. Each page must belong to the data source named by the relation schema.
In a page response, has_more: true means the relation has more than 25 page references. Use property-item pagination to read the rest. A page write replaces the relation, so read all existing references before adding one.
Share the related database with your connection too. Missing access can leave relation values empty or make formula and rollup results incomplete. Check access before treating an empty result as missing data.
- Schema
- Page value
- Page write
- Property item
Schema
Rich text
The Text property uses the API keyrich_text. Its value is an array of rich text objects. These can contain formatted text, mentions, and equations.
Writes use the input fields for each rich text type. Responses also include annotations, plain_text, and href. Text in a page property is separate from the page’s content blocks.
- Schema
- Page value
- Page write
- Property item
Schema
Rollup
rollup holds the result of a calculation over a relation. Its value is read-only. The schema defines the relation, target property, and function.
A page response puts array values in
rollup.array. The property-item endpoint puts individual values in results and rollup metadata in property_item.rollup. It can also return type: "incomplete" while pagination is in progress.
Share the related database with your connection too. Missing access can leave relation values empty or make formula and rollup results incomplete. Check access before treating an empty result as missing data.
- Schema
- Page value
- Property item
Schema
Unsupported rollup
A formula or rollup can returntype: "unsupported" with unsupported: {} when it depends on too many related pages or nested calculations. This result has no usable value. Reduce the related pages or simplify the calculation. Requesting the property again does not remove this limit.
For data source queries, filter the returned properties and retrieve details only when you need them.
Rollup field
Select
select is one option object or null. A response option has id, name, and color. Write an option by id or name.
A new option name adds an option to the schema if your connection can write to the parent data source. Option names cannot contain commas. Option colors belong to the schema, not the page value.
- Schema
- Page value
- Page write
- Property item
Schema
Status
status is one status option or null. The response contains id, name, and color, just like a select value. Write an existing status option by id or name.
A page write does not create a new status option or set its group. Use Update data source properties to manage status options.
- Schema
- Page value
- Page write
- Property item
Schema
Title
The Name property uses the API keytitle. Its value is an array of rich text objects. Each data source has exactly one Name property, which names each page in that data source.
For a page whose parent is another page, use title as the property key. This is separate from the name of the data source itself.
- Schema
- Page value
- Page write
- Property item
Schema
Unique ID
The ID property uses the API keyunique_id. It contains number and prefix. Notion assigns the number; you cannot set it in a page write. The number is unique within the data source. Either field can be null.
The schema’s prefix controls labels such as TASK-42.
- Schema
- Page value
- Property item
Schema
URL
url is a URL string or null.
- Schema
- Page value
- Page write
- Property item
Schema
Verification
verification is available on pages in a wiki database. It is an object or null.
Verification dates require timestamps, such as
2026-09-15T09:00:00Z. Date-only values such as 2026-09-15 return a validation error. Omit date or set it to null to verify without an expiration.
An unverified value has date: null and verified_by: null. A verified page becomes expired when its end date passes.
You can write verification through Create page or Update page. The acting connection is recorded as the verifier. Omit verified_by and do not set the wiki’s verification Owner property in the same request.
- Schema
- Page value
- Page write
- Property item
Schema
Unsupported properties
Not every property feature in Notion is writable through the API. Button values are empty objects. Unknown or unavailable values must not be copied into page writes. Anull value can also mean an empty supported property; it does not by itself mean that the type is unsupported.
Icon
A page’sicon and cover are top-level fields on the page object. They are not entries in properties. See Emoji and icon for icon types and examples.
Paginated page properties
A page response can omit values when a property refers to many pages or people:
Use Retrieve a page property item when you need the full value. Read every page of property items. Formula and rollup calculation limits still apply.
The list response and cursor fields are defined in Page property items. For a complete SDK example, see Read every item in a page property.