Summary
We are observing an API/UI inconsistency when trashing Notion data_source objects. The API correctly reports data_source objects as in_trash: true, but these items do not appear in the Notion Trash UI.
Environment
- Notion API Version: 2026-03-11
- SDK: @notionhq/client (latest)
- Affected Objects: data_source objects (6 items verified)
Reproduction Steps
- Use Notion API version 2026-03-11
- Trash a data_source via API by setting
in_trash: true using the Update a data source endpoint
- Retrieve the same object again via API
- Confirm the object is returned as:
object: "data_source"
in_trash: true
- Open Notion UI and check Trash
Actual Result
The API reports the data_source as in_trash: true, but the item does not appear in the Trash UI.
Expected Result
One of the following should be true:
- Trashed data_source objects should appear in Trash UI in a user-visible way, OR
- The documentation should explicitly state that trashed data_source objects are not exposed through the standard Trash UI
Analysis
Based on the official Notion API model:
- A database is now a parent of one or more data sources
- data_source is a first-class object in the current model
- The 2026-03-11 upgrade makes
in_trash the canonical trash field across pages, databases, blocks, and data sources
- The "Update a data source" endpoint explicitly supports updating whether a data source is "in the trash"
- Notion Help Center describes moving data sources to Trash from the UI
- Audit log documentation includes events such as "Data source restored from trash" and "Data source permanently deleted"
Because of this, in_trash: true on a data_source should represent a real trashed state, not just a cosmetic flag.
Possible Explanations
The current behavior suggests one of these:
- UI inconsistency: Trashed data_source objects are real but not surfaced in Trash UI
- Undocumented product limitation: data_source trash state exists in the API but is not reflected in the standard Trash UI
- Regression: How data_source trash state is mapped between API and UI
Verification
We verified 6 affected items. All 6 objects:
- Are returned by the API as
object: "data_source"
- Have
in_trash: true
- Do not include a
data_sources array (confirming they are actual data_source objects, not database containers)
Request
Please clarify whether this is:
- Expected behavior
- A documentation gap
- A product bug in Trash UI handling for data_source objects
Concise Conclusion
This does not look like "the API failed to trash the item." It looks more like "the API successfully trashes data_source objects, but the Trash UI does not display them consistently or does not document that behavior."
Summary
We are observing an API/UI inconsistency when trashing Notion data_source objects. The API correctly reports data_source objects as
in_trash: true, but these items do not appear in the Notion Trash UI.Environment
Reproduction Steps
in_trash: trueusing the Update a data source endpointobject: "data_source"in_trash: trueActual Result
The API reports the data_source as
in_trash: true, but the item does not appear in the Trash UI.Expected Result
One of the following should be true:
Analysis
Based on the official Notion API model:
in_trashthe canonical trash field across pages, databases, blocks, and data sourcesBecause of this,
in_trash: trueon a data_source should represent a real trashed state, not just a cosmetic flag.Possible Explanations
The current behavior suggests one of these:
Verification
We verified 6 affected items. All 6 objects:
object: "data_source"in_trash: truedata_sourcesarray (confirming they are actual data_source objects, not database containers)Request
Please clarify whether this is:
Concise Conclusion
This does not look like "the API failed to trash the item." It looks more like "the API successfully trashes data_source objects, but the Trash UI does not display them consistently or does not document that behavior."