-
Notifications
You must be signed in to change notification settings - Fork 353
Description
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:
datewith 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
- Create a Notion database with a date property
- Use POST
/v1/pageswith expanded date properties in the request body - Verify that
date:PropertyName:startvalues are ignored - 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