I’m working with Notion’s API and running into a weird issue with relation properties. When I fetch a page that has connected relations visible in the Notion interface, the API response shows an empty relation array.
I’ve double checked that my app has read permissions for both databases involved in the relationship. The relation is bidirectional and works fine in the UI. I’ve tested both endpoints:
GET https://api.notion.com/v1/pages/{page_id}
GET https://api.notion.com/v1/pages/{page_id}/properties/{property_id}
Both return the same result where the relation property looks like this:
'Characters': {
'id': 'aB3x',
'type': 'relation',
'relation': [],
'has_more': False
}
The relation array should contain 2 linked pages but it’s completely empty. This is confusing because I can see the connections in Notion’s UI and my integration has proper read access to both databases. Has anyone encountered this before?
This happened to me recently - turned out to be a relation property config issue. Even with read permissions on both databases, there’s a weird bug that happens when the relation gets created or modified after you add your integration. Remove your integration from both databases completely, then re-add it with full read permissions. Also check if the relation property has any filtering or formula conditions that might mess with the API response. In my case, the relation had been converted from a different property type which somehow broke API access even though the UI worked fine. After reconnecting the integration, the relation arrays populated correctly.
yeh, i’ve had somethin like this too! make sure the pages are shared with the integration, not just the databases. it can be tricky, but if the ui shows the links, there might be a permissions issue. hope u get it sorted!
Sounds like a version mismatch with the Notion API. The relation property behavior changed between API versions - older ones sometimes return empty arrays even when relations exist. Check your Notion-Version header in requests - use at least 2022-02-22 or later. I hit this exact issue last month using an outdated API version. Integration had proper permissions but the response format was different. Update your request headers with the latest API version and see if that fixes the empty relation arrays.