properties object defines the names, types, and settings of its properties. This is its schema. In Notion’s table view, these properties appear as columns.
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.
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.
Request and response shapes
Schema responses contain the common fields above. For types that support schema writes, create a property by using its name as the key and providing its type’s settings. Button and Verification schemas are response-only; see their limits below. For example,{"Estimate":{"number":{"format":"number"}}} is an entry in the request’s properties object.
Use Create a data source to define an initial schema. Use Update data source properties to add, rename, remove, or change properties. The page-write tabs below change values on a page; they do not change the schema.
For API versions before
2025-09-03, schemas belong to database objects. Those requests use the legacy database endpoints and database_id for relation targets. Current API versions use data sources. See Upgrade to 2025-09-03.Button
A Button property has an emptybutton object in schema responses. Create Button properties and configure their actions in Notion. The API ignores button settings in schema writes; it does not create a Button property or change an existing one. It also does not expose button actions or let you press a button.
- Schema
- Page value
- Property item
Schema
Checkbox
Thecheckbox settings object is empty. Page values are booleans.
- Schema
- Page value
- Page write
- Property item
Schema
Created by
Thecreated_by settings object is empty. Notion sets each page’s creator; page values are read-only.
- Schema
- Page value
- Property item
Schema
Created time
Thecreated_time settings object is empty. Notion sets each page’s creation time; page values are read-only.
- Schema
- Page value
- Property item
Schema
Date
Thedate settings object is empty. A page value can be a date, a timestamp, or a range.
- Schema
- Page value
- Page write
- Property item
Schema
email settings object is empty.
- Schema
- Page value
- Page write
- Property item
Schema
Files
The Files & media property usesfiles: {}. A page value is an array of named files.
- Schema
- Page value
- Page write
- Property item
Schema
Formula
Theformula object contains an expression string. The expression uses Notion’s formula syntax and properties from the same data source. The computed page value is read-only.
Example expressions with fixed inputs:
prop("Name") looks up a property by its current name. The saved formula refers to its ID, so a later rename does not break that reference.
An expression that cannot be parsed or checked returns validation_error. This includes references to properties that do not exist.
Schema responses normally use the same prop("Name") syntax as requests. If an expression cannot be represented that way, the response uses {{notion:block_property:...}} references. Those references are also valid in requests.
- Schema
- Page value
- Property item
Schema
Last edited by
Thelast_edited_by settings object is empty. Notion sets each page’s last editor; page values are read-only.
- Schema
- Page value
- Property item
Schema
Last edited time
Thelast_edited_time settings object is empty. Notion sets each page’s last edit time; page values are read-only.
- Schema
- Page value
- Property item
Schema
Multi-select
Themulti_select object contains an options array. Each page can select zero or more options. Option fields are shared with select and status properties.
To add or remove available options, use Multi-select configuration updates.
- Schema
- Page value
- Page write
- Property item
Schema
Number
Thenumber object contains format, which controls display in Notion. It does not change the stored number. The default is number.
Supported formats are number, number_with_commas, percent, dollar, australian_dollar, canadian_dollar, singapore_dollar, euro, pound, yen, ruble, rupee, won, yuan, real, lira, rupiah, franc, hong_kong_dollar, new_zealand_dollar, krona, norwegian_krone, mexican_peso, rand, new_taiwan_dollar, danish_krone, zloty, baht, forint, koruna, shekel, chilean_peso, philippine_peso, dirham, colombian_peso, riyal, ringgit, leu, argentine_peso, uruguayan_peso, peruvian_sol, vietnamese_dong, pakistani_rupee, nigerian_naira, and bitcoin.
- Schema
- Page value
- Page write
- Property item
Schema
People
The Person property usespeople: {}. Page values contain people or groups.
- Schema
- Page value
- Page write
- Property item
Schema
Phone number
The Phone property usesphone_number: {}.
- Schema
- Page value
- Page write
- Property item
Schema
Place
The Place property usesplace: {}. Page values contain coordinates and optional place details, or null when empty.
- Schema
- Page value
- Page write
- Property item
Schema
Relation
A relation links pages to pages in a target data source.
A one-way relation uses
type: "single_property" and single_property: {}.
A two-way relation uses type: "dual_property". Its response includes dual_property.synced_property_id and dual_property.synced_property_name. A create request can use dual_property: {} to create the matching property.
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 usesrich_text: {}. Its page values are rich text arrays.
- Schema
- Page value
- Page write
- Property item
Schema
Rollup
A rollup reads a property through a relation and applies afunction.
Responses include both names and IDs. The target property belongs to the related data source; the relation property belongs to the source where you define the rollup.
Functions are
count, count_values, empty, not_empty, unique, show_unique, percent_empty, percent_not_empty, sum, average, median, min, max, range, earliest_date, latest_date, date_range, checked, unchecked, percent_checked, percent_unchecked, count_per_group, percent_per_group, and show_original.
The function can be configured even when property-item retrieval cannot calculate it. Page values are read-only.
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
Select
Theselect object contains an options array. Each page can select one option or no option.
Select options
Each select, multi-select, or status option has these fields in a schema response:
Page values include
id, name, and color. Page writes select an option by id or name. To change the available options, see Update data source properties.
- Schema
- Page value
- Page write
- Property item
Schema
Status
Thestatus object contains options and groups arrays. Each page selects one option. The schema groups options by progress.
Status options use the same option fields. Each group contains id, name, color, and option_ids. The option_ids array lists that group’s options in order.
Creating status: {} adds default options (Not started, In progress, Done) in the To-do, In progress, and Complete groups. Custom request options accept a group with one of those group names.
To change options or their group membership, see Status configuration updates. Group definitions themselves are managed in Notion.
- Schema
- Page value
- Page write
- Property item
Schema
Title
The Name property usestitle: {}. Every data source must have exactly one. Its ID is always title, even if you rename it.
You cannot remove it, change it to another type, or change another property to title. It names each page in the data source. The data source’s own name is its top-level title field.
- Schema
- Page value
- Page write
- Property item
Schema
Unique ID
The ID property usesunique_id. Its prefix is a string or null, such as TASK. Notion assigns each page a unique number within the data source. You can configure the prefix, but you cannot write a page’s number.
- Schema
- Page value
- Property item
Schema
URL
Theurl settings object is empty.
- Schema
- Page value
- Page write
- Property item
Schema
Verification
Notion creates the Verification property for a wiki. Its schema response has an emptyverification object; the API cannot create this property through a schema write. Verification applies to wiki pages. Its page value includes the state, verification period, and verifier.
- Schema
- Page value
- Page write
- Property item
Schema