Notion API status property modification failing with validation errors

I’m having trouble modifying a status field on a Notion page through their JavaScript SDK. Every time I try to update the status property, I get validation errors.

I’ve attempted using both the property name (‘Status’) and the property ID, but both approaches result in the same error message. Here’s my current code:

const result = await notionClient.pages.update({
    page_id: 'xyz789',
    properties: {
        [taskStatus.id]: {
            status: {
                name: 'Complete'
            }
        }
    }
})

The API returns this validation error:

{
    object: 'error',
    status: 400,
    code: 'validation_error',
    message: 'body failed validation. Fix one:\nbody.properties.bSYl.title should be defined, instead was `undefined`.\nbody.properties.bSYl.rich_text should be defined, instead was `undefined`.\nbody.properties.bSYl.select should be defined, instead was `undefined`.'
}

I noticed in the official docs it mentions “Not currently editable” but I’m not sure if this applies to the entire status property or just certain aspects of it. Has anyone successfully updated status properties via the API?

sounds like notion’s status properties might not be fully supported yet for updates via api. i’ve seen this before where the docs are confusing about what’s actually editable. try checking if your database has any required fields that need to be updated alongside the status - sometimes notion requires multiple properties to be set together or it throws wierd validation errors.

The validation error you’re encountering suggests the API is interpreting your status property as a different type than expected. This typically happens when there’s a mismatch between the property configuration in your Notion database and how you’re referencing it in the API call. I ran into a similar issue last month and discovered that status properties created through Notion’s interface sometimes don’t sync properly with the API metadata. Try fetching the database schema first using the retrieve database endpoint to verify the exact property structure. Also, double-check that the status value ‘Complete’ exists as an option in your database - the API won’t create new status options automatically and will throw validation errors for non-existent values. Another thing to verify is whether you’re using the correct property ID. Sometimes copying the ID from the Notion interface can introduce invisible characters that cause API calls to fail.