To update the property type, the property schema object should contain the key of the type. This type contains behavior of this property. Possible values of this key are "title", "rich_text", "number", "select", "multi_select", "date", "people", "files", "checkbox", "url", "email", "phone_number", "formula", "relation", "rollup", "created_time", "created_by", "last_edited_time", "last_edited_by". Within this property, the configuration is a property schema object.
LimitationsNote that the property type of the title cannot be changed.It’s not possible to update the name or options values of a status property via the API.
Settings for select properties. If an existing option is omitted, it will be removed from the data source property. New options will be added to the data source property.
To update an existing select configuration, the property schema object optionally contains the following configuration within the multi_select property:
Settings for multi select properties. If an existing option is omitted, it will be removed from the data source property. New options will be added to the data source property.
Formulas in Notion can have high levels of complexity beyond what the API can compute in a single request. For formula property values that exceed have or exceed depth of 10 referenced tables, the API will return a “Formula depth” error as a "validation_error"As a workaround, you can retrieve the formula property object from the Retrieve a data source endpoint and use the formula expression to compute the value of more complex formulas.
Due to the encoded cursor nature of computing rollup values, a subset of aggregation types are not supported. Instead the endpoint returns a list of all property_item objects for the following rollup aggregations:
A page property of type rollup and formula can involve computing a value based on the properties in another relation page. As such the integration needs permissions to the other relation page. If the integration doesn’t have permissions page needed to compute the property value, the API will return a "object_not_found" error specifying the page the integration lacks permissions to.
If a property value involves pagination and the underlying properties or pages used to compute the property value change whilst the integration is paginating through results, the final value will impacted and is not guaranteed to be accurate.