Skip to content

Notion API Date Properties Ignored During Page Creation #125

@Flowburghardt

Description

@Flowburghardt

Bug Report: Notion API Date Properties Ignored During Page Creation

Summary

Date properties with expanded syntax are being ignored during page creation via the Notion API, despite correct syntax and successful validation. The properties are created but remain empty, requiring a separate update operation to populate date values.

Bug Details

Environment

  • API Endpoint: /v1/pages (POST - Create Page)
  • Date: September 19, 2025
  • API Version: Current Notion API
  • Access Method: Claude MCP Server Integration

Database Schema

  • Database ID: 80f661c3-46a5-49f2-8e13-9c24c9fe47b3
  • Data Source ID: 9951534d-5bad-4110-985d-ea7b44c052ca
  • Date Property Name: "Datum"
  • Property Type: date with expanded properties support

Expected Behavior

When creating a new page with date properties using expanded syntax, all date fields should be populated correctly:

  • "date:Datum:start" should set the start date
  • "date:Datum:is_datetime" should set the datetime flag
  • "date:Datum:end" should set the end date (if provided)

Actual Behavior

  • "date:Datum:is_datetime" is correctly set
  • "date:Datum:start" is completely ignored (not set)
  • "date:Datum:end" is completely ignored (not set)

Test Cases Performed

Test 1: Standard Expanded Properties

{
  "parent": {"type": "data_source_id", "data_source_id": "9951534d-5bad-4110-985d-ea7b44c052ca"},
  "properties": {
    "Name": "TEST - Datum prüfen",
    "date:Datum:start": "2025-09-20",
    "date:Datum:is_datetime": 0
  }
}

Result:date:Datum:start not set, only date:Datum:is_datetime set to 0

Test 2: With End Parameter

{
  "properties": {
    "Name": "TEST 4 - Korrekte Expanded Syntax", 
    "date:Datum:start": "2025-09-20",
    "date:Datum:end": null,
    "date:Datum:is_datetime": 0
  }
}

Result: ❌ Same issue - start and end ignored, only is_datetime set

Test 3: Simple Date Property (Control)

{
  "properties": {
    "Name": "TEST 3 - Einfache Syntax",
    "Datum": "2025-09-20"
  }
}

Result: ❌ API Error: "Date type must be expanded: Datum"

Verification of Correct Syntax

Update Operations Work Perfectly

The same expanded syntax works flawlessly with the /v1/pages/{page_id} PATCH endpoint:

PATCH /v1/pages/273c7597-c731-813d-b2f5-e49253f27d66
{
  "properties": {
    "date:Datum:start": "2025-09-20",
    "date:Datum:is_datetime": 0
  }
}

Result:Successfully sets the date field

Impact

  • Workaround Required: Every date-containing page creation needs a follow-up update operation
  • Performance Impact: Double API calls for simple date operations
  • Developer Experience: Inconsistent behavior between CREATE and UPDATE operations
  • Data Integrity: Risk of pages with incomplete date information

Reproduction Steps

  1. Create a Notion database with a date property
  2. Use POST /v1/pages with expanded date properties in the request body
  3. Verify that date:PropertyName:start values are ignored
  4. Compare with PATCH operation on the same page (works correctly)

Expected Fix

The POST /v1/pages endpoint should handle expanded date properties identically to the PATCH /v1/pages/{page_id} endpoint, correctly setting all date-related fields during page creation.

Current Workaround

// Step 1: Create page without date
const createResponse = await createPage({
  properties: {
    "Name": "Task Name",
    // Other properties but NO date properties
  }
});

// Step 2: Immediately update with date
await updatePage(createResponse.id, {
  properties: {
    "date:Datum:start": "2025-09-20",
    "date:Datum:is_datetime": 0
  }
});

Additional Information

This bug was discovered during automated task creation workflows where consistent date handling is critical for project management systems.


Reporter: Claude via MCP Server Integration
Date: September 19, 2025
Priority: Medium-High (affects core functionality)
Category: API Consistency Issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions