Skip to main content

Overview

Retrieve a page property item reads one property on one page. It returns either a property_item object or a list of property items. The type determines the response shape. The page property values reference defines each value type. Its examples include a Property item tab. This page defines the response wrapper and pagination rules.

Common fields

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.

Response shape by type

Single-item responses use the same value shape as page responses. Follow a type link for its fields, write rules, and JSON examples.

Status

Status is a single property item. The response is not wrapped in a property name or a properties object.
Property item

Paginated values

title, rich_text, people, and relation always return a list, even if there is only one item. Empty values return results: []. Multi-select and files return a single property item whose value is an array. The metadata under property_item is not an individual result and has no object field. For a relation item, the nested relation.id identifies the related page; the item’s own id identifies the property.
First page of a relation, with page_size=1
Continue with next_cursor until has_more is false. In the final response, next_cursor and property_item.next_url are null. Treat cursors as opaque strings; do not build or interpret them. The pagination reference defines start_cursor and page_size. For a complete SDK example, see Read every item in a page property. Select, multi-select, and status option values share the same fields.

Formula

A formula returns one property item with a typed formula result. It does not return a paginated list. See Formula result types for string, number, boolean, and date examples.

Unsupported formula

A formula or rollup can return type: "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

A rollup returns a list with its calculation in property_item.rollup. That object always includes function and type. For show_original, results contains the target property’s values, flattened into individual property items. The metadata uses type: "array" and array: []; the values are in results, not that empty array. For a supported calculation such as sum, results contains relation items. The calculation is incomplete until you read the final page. Do not sum partial responses yourself or treat the first response as the final value.

Incomplete rollup

These examples show the property_item metadata from consecutive responses. The first response has has_more: true; the final response has has_more: false.

Unsupported rollup

This endpoint does not calculate show_unique, unique, median, count_per_group, or percent_per_group. It returns the underlying property items in results and type: "unsupported" in property_item.rollup. Pagination can still be needed to read all those items. A formula or rollup can return type: "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. When a dependency limit prevents a calculation, the rollup also returns unsupported. An unsupported result is not zero and is not an incomplete result that will become available through more requests.