← 返回 Skills 市场
dongkukim

Notion API 2026 01 15

作者 DongkuKim · GitHub ↗ · v1.0.1
cross-platform ⚠ suspicious
1374
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install notion-2026-01-15
功能描述
Use the Notion API (2026-01-15) to create, move, update, and manage pages, databases, blocks, and apply templates with support for locking and data source qu...
使用说明 (SKILL.md)

Here is the complete SKILL.md file updated for the January 15, 2026 API state.

---
name: notion api 202601 15
description: Notion API updated to 2026 01 15 changes for creating, moving, and managing pages, data sources, and blocks.
homepage: https://developers.notion.com
metadata: {"clawdbot":{"emoji":"📝"}}
---

# notion

Use the Notion API to create/read/update/move pages, data sources (databases), and blocks.

## Setup

1. Create an integration at https://notion.so/my-integrations
2. Copy the API key (starts with `ntn_` or `secret_`)
3. Store it:
```bash
mkdir -p ~/.config/notion
echo "ntn_your_key_here" > ~/.config/notion/api_key

  1. Share target pages/databases with your integration (click "..." → "Connect to" → your integration name)

API Basics

All requests need:

NOTION_KEY=$(cat ~/.config/notion/api_key)
curl -X GET "[https://api.notion.com/v1/](https://api.notion.com/v1/)..." \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json"

Note: The Notion-Version header is required. Use 2025-09-03. The features released in Jan 2026 (Move Page, Templates) are additive and use this version header.

Common Operations

Search for pages and data sources:

curl -X POST "[https://api.notion.com/v1/search](https://api.notion.com/v1/search)" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{"query": "page title"}'

Get page:

curl "[https://api.notion.com/v1/pages/](https://api.notion.com/v1/pages/){page_id}" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03"

Move a page (Change Parent):

curl -X POST "[https://api.notion.com/v1/pages/](https://api.notion.com/v1/pages/){page_id}/move" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": {"type": "page_id", "page_id": "new_parent_page_id"}
  }'

Note: To move to a database, use {"type": "data_source_id", "data_source_id": "..."}.

Create page (Standard):

curl -X POST "[https://api.notion.com/v1/pages](https://api.notion.com/v1/pages)" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": {"database_id": "xxx"},
    "properties": {
      "Name": {"title": [{"text": {"content": "New Item"}}]},
      "Status": {"select": {"name": "Todo"}}
    }
  }'

Create page from Template:

curl -X POST "[https://api.notion.com/v1/pages](https://api.notion.com/v1/pages)" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "parent": {"database_id": "xxx"},
    "template": {"type": "template_id", "template_id": "yyy"}
  }'

List Data Source Templates:

curl -X GET "[https://api.notion.com/v1/data_sources/](https://api.notion.com/v1/data_sources/){data_source_id}/templates" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03"

Update page properties:

curl -X PATCH "[https://api.notion.com/v1/pages/](https://api.notion.com/v1/pages/){page_id}" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "properties": {"Status": {"select": {"name": "Done"}}},
    "is_locked": true
  }'

Apply Template to existing page (erasing content):

curl -X PATCH "[https://api.notion.com/v1/pages/](https://api.notion.com/v1/pages/){page_id}" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "template": {"type": "template_id", "template_id": "yyy"},
    "erase_content": true
  }'

Query a data source (database):

curl -X POST "[https://api.notion.com/v1/data_sources/](https://api.notion.com/v1/data_sources/){data_source_id}/query" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": {"property": "Status", "select": {"equals": "Active"}},
    "sorts": [{"property": "Date", "direction": "descending"}]
  }'

Add blocks to page:

curl -X PATCH "[https://api.notion.com/v1/blocks/](https://api.notion.com/v1/blocks/){page_id}/children" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Notion-Version: 2025-09-03" \
  -H "Content-Type: application/json" \
  -d '{
    "children": [
      {"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"text": {"content": "Hello"}}]}}
    ]
  }'

Property Types

Common property formats for database items:

  • Title: {"title": [{"text": {"content": "..."}}]}
  • Rich text: {"rich_text": [{"text": {"content": "..."}}]}
  • Select: {"select": {"name": "Option"}}
  • Multi-select: {"multi_select": [{"name": "A"}, {"name": "B"}]}
  • Date: {"date": {"start": "2024-01-15", "end": "2024-01-16"}}
  • Checkbox: {"checkbox": true}
  • Number: {"number": 42}
  • URL: {"url": "https://..."}
  • Email: {"email": "[email protected]"}
  • Relation: {"relation": [{"id": "page_id"}]}

Recent Changes (Jan 2026)

  • Move Page API: Use /v1/pages/{id}/move to reparent pages.
  • Templates: New endpoints to list templates and parameters to apply them during page creation/update.
  • Locking: is_locked boolean now supported in Update Page.
  • Tokens: New tokens use ntn_ prefix (formerly secret_).
  • Data Sources: Continue using data_source_id for queries (introduced in 2025-09-03).

Notes

  • Page/database IDs are UUIDs (with or without dashes)
  • The API cannot set database view filters — that's UI-only
  • Rate limit: ~3 requests/second average
  • Use is_inline: true when creating data sources to embed them in pages

安全使用建议
This skill appears to be a normal Notion API helper, but its manifest is inconsistent: the README instructs you to store and read a Notion API token at ~/.config/notion/api_key (or as NOTION_KEY) even though the skill metadata lists no required credentials or config paths. Before installing or using it: (1) ask the publisher to correct the manifest to declare the required credential or config path; (2) prefer storing the token in a secure secrets manager or the platform's secret storage rather than a plaintext file; (3) only supply a Notion integration token you trust (create a dedicated integration with minimal scopes rather than reuse a powerful account token); (4) verify the Notion-Version header and endpoint dates if you rely on newly described features; and (5) avoid granting an untrusted skill persistent or broad access — if the platform allows per-skill secrets, use that instead of putting tokens in your home directory.
功能分析
Type: OpenClaw Skill Name: notion-2026-01-15 Version: 1.0.1 The skill bundle is benign. It provides instructions and examples for interacting with the Notion API, including setup for storing and using an API key from `~/.config/notion/api_key`. All network requests in `SKILL.md` are directed to the official Notion API endpoint (`https://api.notion.com/v1/`). There is no evidence of prompt injection against the agent, data exfiltration to unauthorized endpoints, malicious execution, persistence mechanisms, or obfuscation. The file access is limited to the explicitly defined API key file for its stated purpose.
能力评估
Purpose & Capability
The SKILL.md is a straightforward Notion API cookbook (create/move/pages/templates/blocks). The operations shown align with a Notion integration's purpose. However, the registry metadata declares no required credentials or config paths even though the instructions explicitly require storing and reading a Notion API key at ~/.config/notion/api_key (or using a NOTION_KEY env var). That omission is inconsistent.
Instruction Scope
Runtime instructions tell the agent/user to create ~/.config/notion/api_key and to read it (NOTION_KEY=$(cat ~/.config/notion/api_key)) and then run curl calls to api.notion.com. Reading/writing that local file and using the token is within the Notion helper's purpose, but the skill manifest did not declare this file access. The instructions are otherwise concrete and limited to Notion endpoints (no broad file-system or network exfiltration guidance).
Install Mechanism
This is instruction-only with no install spec or code files, so there is no installer risk and nothing is written to disk by the platform beyond what the user explicitly does when following the guide.
Credentials
The skill legitimately needs a Notion API token, but the manifest lists no required env vars or primary credential. The SKILL.md tells users to store a secret token in plaintext at ~/.config/notion/api_key and then read it — that is expected for a Notion helper but should be declared in requires.env / required config paths. Storing tokens in plaintext is also a security consideration; a secrets manager or the platform's secret storage would be preferable.
Persistence & Privilege
The skill does not request always:true and has no install scripts; it would only use the token when invoked. Keep in mind that if the agent is allowed to invoke skills autonomously (default), any supplied token could be used by the agent without additional confirmation — this is standard behavior but increases blast radius if the token is granted to an untrusted skill.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install notion-2026-01-15
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /notion-2026-01-15 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
- Updated the skill name and description to reflect the January 15, 2026 Notion API changes. - No functional or code changes; documentation and metadata only.
v1.0.0
- Initial release of the Notion API skill, reflecting the January 15, 2026 API state. - Supports creating, reading, updating, moving pages and managing data sources and blocks. - Added support for new Move Page API endpoint to reparent pages. - Integrated templates: list templates, create pages from templates, and apply templates to existing pages. - Added `is_locked` property for page locking during updates. - Documentation covers setup, authentication (`ntn_` tokens), and all major operations with sample curl commands.
元数据
Slug notion-2026-01-15
版本 1.0.1
许可证
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Notion API 2026 01 15 是什么?

Use the Notion API (2026-01-15) to create, move, update, and manage pages, databases, blocks, and apply templates with support for locking and data source qu... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1374 次。

如何安装 Notion API 2026 01 15?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install notion-2026-01-15」即可一键安装,无需额外配置。

Notion API 2026 01 15 是免费的吗?

是的,Notion API 2026 01 15 完全免费(开源免费),可自由下载、安装和使用。

Notion API 2026 01 15 支持哪些平台?

Notion API 2026 01 15 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Notion API 2026 01 15?

由 DongkuKim(@dongkukim)开发并维护,当前版本 v1.0.1。

💬 留言讨论