Skip to main content
Notion’s workspace API at 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 explicit 501 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.