> ## Documentation Index
> Fetch the complete documentation index at: https://docs.magicmealkits.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Notion

> Bulk Notion operations, database queries, markdown, publishing, workspace management, files, and transcription.

The Notion group powers the **Notion Plus (Magic Meal Kits)** Make.com app. It spans the
official Notion API (bulk operations, data-source queries, comments, users) and the
unofficial workspace API (publish, teams, invites, AI summaries).

## Authentication

Notion calls need **two** credentials (see [Authentication](/authentication)):

* `X-API-KEY` — your MMK deployment key.
* `X-Notion-Token` — your Notion integration / internal token. **The caller supplies
  this** (it is not stored server-side, unlike Plaud/Tiro).

Unofficial-API operations (publish, teams, invites, config, AI summary, transcription,
download) additionally need `X-Notion-Space-ID` and `X-Notion-User-ID`. These map to the
Notion Token / Space ID / User ID fields on the Make connection.

<Note>
  Most Notion endpoints are **Basic**. A few are **Pro** (`bulk-duplicate-check`,
  `bulk-page-update`, file-upload, AI summaries, comments, users, native markdown update).
  A Basic key on a Pro route gets `400` `you are not a magic meal kits PRO user`.
</Note>

## Endpoint groups

| Group                    | Examples                                                                                   | Tier    |
| ------------------------ | ------------------------------------------------------------------------------------------ | ------- |
| **Bulk operations**      | insert / update / upsert / delete                                                          | Basic   |
|                          | duplicate-check, page-update (raw)                                                         | **Pro** |
| **Database & schema**    | schema, update/upsert/duplicate-check schema, property options, list items                 | Basic   |
| **Pages & content**      | markdown (blocks/native), create page from markdown                                        | Basic   |
|                          | native page markdown update (v3)                                                           | **Pro** |
| **Data sources (v2)**    | list data sources, query database/data source, get page, apply template, simplified schema | Basic   |
| **Publishing**           | publish / unpublish, page & database-item config                                           | Basic   |
| **Workspace & teams**    | teams, team/workspace invite & remove, guest invite/revoke, subscription                   | Basic   |
| **Files**                | file-upload-direct, export/download                                                        | Basic   |
|                          | file-upload                                                                                | **Pro** |
| **Transcription** (v2)   | page transcriptions, get transcription by block                                            | Basic   |
| **AI, comments & users** | AI summary (v1/v2/auto), comments, users                                                   | **Pro** |

The official-API **comments** and **users** endpoints additionally require an
`X-Notion-Official-Token` header (your official Notion integration token).

## Notes

* **Database vs data source.** Multi-data-source databases return empty properties from
  the database ID — pass `data_source_id` (or `notion_id` to auto-detect) so schema and
  writes resolve correctly. Bulk requests accept all three identifiers (priority:
  `data_source_id` > `notion_id` > `database_id`).
* **Bulk limits.** Up to 100 records/page IDs per call; tune throughput with the optional
  `config` block. Rate limited to \~3 req/s (matching Notion's API).
* **Query results** include both raw `properties` and flattened `simple_properties`, plus
  `warnings` for invalid filters — check them when a filter silently matches nothing.
* **Markdown engines.** `engine: "blocks"` (default) uses the in-process parser;
  `engine: "native"` routes to Notion's native markdown API for in-place edits.
* **Page permission is required (most common `401`).** Issuing the integration token is not
  enough — the integration must be **granted access to the page/database** you operate on
  (add it via the page's **Connections** menu, at the top-level page/DB). A token without that
  access returns `401` / permission errors on every call. See
  [Fix Notion connection & permission errors](/operations/notion-connection).
* **Rich Text 2,000-char block limit.** Notion caps each rich-text block at 2,000 characters,
  so long markdown is split across multiple blocks on conversion. `raw` and `refined` outputs
  can differ slightly in length/wording — choose the one that fits your use case.

Use the interactive playground on each endpoint page to try a request with your own
deployment host, API key, and Notion token.
