Notion Ruby Mapping Public API Reference

1. Instance methods

VerificationProperty handles Notion's verification property. Page values are read-only in NotionRubyMapping. Database / DataSource properties can be used for schema representation and verification status filters.

[P/DB/DS] verification → Hash

  1. [P] verification returns the verification property object retrieved from Notion API.
  2. [DB/DS] verification returns the Database or DataSource property schema object for the verification property.
  3. Page verification values may include state, verified_by, and date.
  4. Page verification values are not update targets in NotionRubyMapping because will_update remains false.
page.properties["Verification"].verification
# => {
#      "state" => "verified",
#      "verified_by" => {"id" => "...", "object" => "user"},
#      "date" => {
#        "start" => "2025-08-31T15:00:00.000Z",
#        "end" => "2025-11-29T15:00:00.000Z",
#        "time_zone" => nil
#      }
#    }

ds.properties["Verification"].verification
# => {}

[DB/DS] filter_status(value) → Query

  1. filter_status creates a filter query for the Notion verification status condition.
  2. This method is available for Database / DataSource properties.
  3. Although retrieved verification values use the key state, Notion API uses status as the verification filter condition. Therefore, NotionRubyMapping provides filter_status.
ds.properties["Verification"].filter_status "verified"
# => #<NotionRubyMapping::Query:... @filter={"property"=>"Verification", "verification"=>{"status"=>"verified"}}, ...>

ds.properties["Verification"].filter_status "expired"
# => #<NotionRubyMapping::Query:... @filter={"property"=>"Verification", "verification"=>{"status"=>"expired"}}, ...>

ds.properties["Verification"].filter_status "none"
# => #<NotionRubyMapping::Query:... @filter={"property"=>"Verification", "verification"=>{"status"=>"none"}}, ...>

[P] property_values_json → Hash

  1. [P] property_values_json returns the Page property value JSON representation.
  2. This method is available only for Page properties.
  3. The returned Hash represents the current value. It is not normally used as a page update payload because VerificationProperty is read-only in NotionRubyMapping and is not marked for update.
page.properties["Verification"].property_values_json
# => {
#      "Verification" => {
#        "type" => "verification",
#        "verification" => {
#          "state" => "verified",
#          "verified_by" => {"id" => "...", "object" => "user"},
#          "date" => {
#            "start" => "2025-08-31T15:00:00.000Z",
#            "end" => "2025-11-29T15:00:00.000Z",
#            "time_zone" => nil
#          }
#        }
#      }
#    }