How to reset date property to empty value with Notion API?

I’m trying to reset a date property to empty using the Notion API but running into issues. When I send a PATCH request to update a page, I keep getting validation errors no matter what I try for the date value.

I want to essentially “clear” the date field completely, like you can do in the Notion interface with the clear button. But the API seems to always expect a valid date format.

I’ve attempted several approaches including empty strings, null values, undefined, and boolean values, but they all return validation errors. I don’t want to use a placeholder date because I need the field to be truly empty for my workflow.

Here’s what I’m trying:

const response = await fetch(`https://api.notion.com/v1/pages/${pageId}`, {
  method: 'PATCH',
  headers: {
    'Content-Type': 'application/json',
    'Notion-Version': '2021-08-16',
    'Authorization': `Bearer ${apiToken}`
  },
  body: JSON.stringify({
    "properties": {
      "Task Status": {
        "select": {
          "name": "Completed"
        }
      },
      "Due Date": {
        "date": {
          "start": ""
        }
      }
    }
  })
});

This gives me an error saying the start date should be a valid ISO 8601 date string. Has anyone found a way to clear date properties through the API?

skip the date property completely in your patch request - that’ll clear the field. don’t put “Due Date” in the properties object at all. the api reads this as clearing the value. fixed the same problem for me last month.

Pass null as the entire date object value, not just the start property. You’re trying to set an empty string for the start date, which breaks the ISO 8601 requirement. Structure it like this:

"Due Date": {
  "date": null
}

This tells the API to clear the date field instead of setting an invalid date value. I ran into the same issue building a task management integration - kept getting validation errors until I figured out the null goes at the date object level, not the start property level.

Set the entire date property to null, but make sure you’re using the right API version. I had this exact issue and found that older versions handle null values differently. With version 2022-06-28 or later, you can clear date fields by passing null for the whole date object. Some database properties behave differently though - formula dates derived from other properties won’t clear this way since they’re calculated fields. Check your property type in the database schema first. I wasted hours debugging what turned out to be a formula date field that couldn’t be manually cleared through the API.