Notion-Version: 2025-09-03, the version
notion-client 3.1.0 sends. That version split every database into a container
and one or more data sources, and an integration written before it fails the
moment a database it touches gains a second data source: a page can no longer
be created “in the database”. Nobody restructures a real workspace to find out
whether their integration survives that; this twin holds the state, and the
conformance suite drives it through the pinned SDK end to end.
Slug: notion
What it models
Advancing moves a task’s
Status select from To do to In progress to Done,
marks a task past its Due date Overdue, and trashes pages a seed marked for
cleanup.
Not modelled
The OAuth flow, file uploads, views, custom emojis, data source templates, page markdown and page moves, meeting notes, comment edits and deletes, rich text mentions other than a user’s, two-way relations, formulas beyond arithmetic, rollups other than count and sum, relative date filters, and webhooks. Each endpoint Notion has and the twin has not built answers an explicit501 in
Notion’s envelope; a path Notion does not have gets Notion’s own
400 invalid_request_url. A request naming any Notion-Version other than
2025-09-03 is refused rather than answered in the wrong shapes.