Die Notiondesk-API liest alle Veröffentlichungen Ihres Hilfezentrums: jeden Artikel und jede Sammlung in jeder Sprache, inklusive Inhalt im Markdown-Format, Veröffentlichungsstatus und Synchronisierungsstatus sowie Ihre veröffentlichten Änderungsprotokolleinträge. Nutzen Sie sie, um Ihr Hilfezentrum zu sichern, Ihre Inhalte an ein anderes Tool zu übergeben oder zu überprüfen, welche Artikel nicht synchronisiert wurden.
Die API liest Inhalte, schreibt sie aber nie. Ihre Artikel und Sammlungen bleiben in Notion: Um einen Artikel oder eine Sammlung zu ändern, bearbeiten Sie ihn in Notion und lösen Sie eine Synchronisierung aus .
In der Notiondesk API wird eine Sammlung als Kategorie bezeichnet.
| Verfahren | Weg | Umfang | Tut |
|---|---|---|---|
GET | /sites/{site_id}/articles | read | Listet Artikel in einer Sprache auf |
GET | /sites/{site_id}/articles/{article_id} | read | Liest einen Artikel mit seinem Markdown-Inhalt |
GET | /sites/{site_id}/categories | read | Listet Sammlungen in einer Sprache mit ihrer Hierarchie auf |
GET | /sites/{site_id}/categories/{category_id} | read | Liest eine Sammlung mit ihrem Markdown-Inhalt |
GET | /sites/{site_id}/changelog | read | Listet die veröffentlichten Änderungsprotokolleinträge auf, der neueste zuerst. |
Sprache auswählen
Jede Route auf dieser Seite akzeptiert einen optionalen Abfrageparameter locale, z. B. ?locale=fr. Ohne diesen Parameter wird die Standardsprache des Hilfecenters verwendet. Bei den Listenrouten muss locale eine der vom Hilfecenter unterstützten Sprachen sein: die supported_locales des Hilfecenters . Informationen zum Hinzufügen von Sprachen finden Sie unter „Mehrere Sprachen in Ihrem Hilfecenter unterstützen“ .
Artikelliste
Die Liste enthält alle Artikel in allen Status, Entwürfe und archivierte Artikel in der Reihenfolge ihrer Erstellung. Blättern Sie mit page_size und cursor durch die Liste, wie in den API-Anfragen „Paginate“ und „version Notiondesk“ beschrieben.
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/articles?page_size=100&locale=en" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"object": "list",
"data": [
{
"id": "1761580412",
"title": "Connect your Notion workspace",
"slug": "connect-your-notion-workspace",
"status": "published",
"categories": [
{"id": "910000002", "name": "Connecting Notion", "slug": "connecting-notion", "locale": "en", "status": "published"}
],
"tags": [{"name": "Setup", "slug": "setup"}],
"locales_count": 2,
"updated_at": "2026-10-18T14:39:03+00:00",
"published_at": "2026-10-05T04:39:04+00:00",
"locale": "en",
"reading_time": 3,
"views_count": 42,
"reactions_percent": {"smiley": 50, "neutral_face": 25, "disappointed": 25},
"source_notion_page_id": "3d5001d0-2470-8122-a1b2-c3d4e5f60789",
"notion_article_page_url": "https://www.notion.so/3d5001d024708122a1b2c3d4e5f60789",
"sync_in_progress": false,
"sync_timeout": false,
"sync_failed": false,
"sync_error_code": null,
"auto_translated": false
}
],
"has_more": true,
"next_cursor": "OPAQUE_CURSOR"
}| Feld | Bedeutung |
|---|---|
id | Die Artikel-ID, die zum Lesen des Artikels als article_id verwendet wird. |
title, slug | Der Titel des Artikels und sein Pfadabschnitt im Hilfezentrum |
status | draft, published, review oder archived. Siehe „So steuern Sie die Sichtbarkeit von Artikeln“. |
categories | Die Sammlungen, zu denen der Artikel gehört, jeweils mit id, name, slug, locale und status |
tags | Die Tags des Artikels, jeweils mit name und slug |
locales_count | In wie vielen Sprachen existiert der Artikel? |
updated_at, published_at | Wann der Artikel zuletzt geändert wurde und wann er veröffentlicht wurde |
locale | Die Sprache dieses Artikels |
reading_time | Geschätzte Lesezeit in Minuten |
views_count | Wie oft haben Leser den Artikel geöffnet? |
reactions_percent | Jede Leserreaktion mit ihrem prozentualen Anteil an allen Reaktionen. Die Bezeichnungen der Reaktionen hängen von Ihrem Feedback-Stil ab. |
source_notion_page_id, notion_article_page_url | Die Notion-Seite, von der der Artikel synchronisiert wird, und die URL der Notion-Seite dieser Sprache (null für eine automatische Übersetzung) |
sync_in_progress, sync_timeout, sync_failed, sync_error_code | Ob die Synchronisierung des Artikels läuft, ob die letzte Synchronisierung aufgrund eines Timeouts fehlgeschlagen ist oder ein Timeout aufgetreten ist und warum |
auto_translated | Ob diese Sprache durch automatische Übersetzung erzeugt wurde |
sync_failed: trueEinen Artikel als Markdown lesen
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/articles/1761580412?locale=en" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"id": "1761580412",
"type": "article",
"title": "Connect your Notion workspace",
"slug": "connect-your-notion-workspace",
"text": "# Connect your Notion workspace\n\nOpen **Settings**, then **Notion**...",
"url": "https://help.example.com/en/articles/connect-your-notion-workspace",
"locale": "en",
"last_updated": "2026-10-18T14:39:03+00:00",
"category": {"id": "910000002", "title": "Connecting Notion", "slug": "connecting-notion"},
"tags": ["setup"],
"truncated": false,
"author": {"name": "Ada Lovelace"},
"status": "published",
"content_available": true,
"sync_in_progress": false,
"sync_timeout": false,
"sync_failed": false,
"sync_error_code": null
}| Feld | Bedeutung |
|---|---|
type | Immer __RESERVIERT_69__ |
text | Der Artikelinhalt als Markdown. Leer, wenn noch kein Inhalt gespeichert ist. |
truncated | true wurde bei 200.000 Bytes abgeschnitten. Der Schnittpunkt liegt immer an einem ganzen Zeichen. |
content_available | Ob Notiondesk bereits Inhalte für diese Sprache enthält |
url | Die öffentliche Ansprache des Artikels |
category | Die Hauptsammlung des Artikels: id, title und slug |
tags | Die Slugs der Tags des Artikels |
author | Der Autor des Artikels: name |
Jeder Status ist lesbar, sodass Sie einen Entwurf vor der Veröffentlichung lesen können. Ein Artikel ohne Übersetzung in der angeforderten Sprache (locale) führt zu einem 404-Fehler (not_found).
Sammlungen auflisten
Jeder Eintrag ist eine Sammlung in der angeforderten Sprache, in der Reihenfolge, in der die Sammlungen erstellt wurden:
Erstellen Sie Ihre Sammlungsstruktur mit drei Feldern neu:
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/categories?page_size=100" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"id": "910000001",
"name": "Getting Started",
"slug": "getting-started",
"updated_at": "2026-10-18T14:39:12+00:00",
"locale": "en",
"is_parent": true,
"source_notion_page_id": "5d5001d0-2470-8122-a1b2-c3d4e5f60789",
"notion_category_page_url": "https://www.notion.so/5d5001d024708122a1b2c3d4e5f60789",
"sync_in_progress": false,
"sync_timeout": false,
"sync_failed": false,
"sync_error_code": null,
"parent_ids": [],
"children_ids": ["910000002"],
"locales_count": 2,
"status": "published",
"auto_translated": false
}| Feld | Bedeutung |
|---|---|
is_parent | true für eine Sammlung an der Spitze der Hierarchie |
parent_ids | Die Sammlungen direkt über dieser |
children_ids | Die Sammlungen direkt darunter |
Die Liste enthält keine Artikelanzahl. Um die Artikel einer Sammlung zu zählen, listen Sie die Artikel auf und gruppieren Sie sie nach categories. Erfahren Sie unter „Sammlungen zur Organisation Ihrer Artikel verwenden“, wie Sammlungen Ihr Hilfezentrum strukturieren.
Eine Sammlung lesen
Die Antwort hat die gleiche Struktur wie ein Artikel: type besteht aus category, title, slug, url, status, den Synchronisierungsfeldern und text mit dem eigenen Inhalt der Sammlung als Markdown, der leer ist, wenn er keinen Inhalt hat.
Liste der Änderungsprotokolleinträge
Das Änderungsprotokoll listet die veröffentlichten Artikel Ihrer Änderungsprotokollsammlungen auf, beginnend mit dem neuesten. Sie können es unter „Änderungsprotokolle einrichten“ in Ihrem Hilfecenter konfigurieren .
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/categories/910000001?locale=en" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/changelog?page_size=50&locale=en" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"object": "list",
"data": [
{
"id": "article:1761497350",
"title": "Multilingual sync is now available",
"slug": "multilingual-sync-is-now-available",
"text": "Help centers on the Enterprise plan can now sync every configured locale in a single run instead of one language at a time.",
"published_at": "2026-10-13T09:12:44+00:00",
"last_updated": "2026-10-18T14:39:03+00:00",
"tags": [],
"url": "https://help.example.com/en/changelogs",
"locale": "en"
}
],
"has_more": true,
"next_cursor": "OPAQUE_CURSOR"
}| Feld | Bedeutung |
|---|---|
id | article: gefolgt von der Artikel-ID des Eintrags. Entfernen Sie das Präfix, um den vollständigen Eintrag mit der Artikelroute zu lesen. |
text | Der Eintrag besteht in der Regel aus einem Klartext von etwa 30 Wörtern. |
published_at, last_updated | Wann der Eintrag veröffentlicht wurde und wann er sich zuletzt geändert hat |
tags | Die Slugs der Tags des Eintrags |
url | Ihre Änderungsprotokollseite in dieser Sprache |
Gut zu wissen:
- Ein Eintrag wird nur dann angezeigt, wenn seine Änderungsprotokollsammlung in der angeforderten Sprache veröffentlicht wurde.
- In einem Hilfecenter, das Gastkonten verwendet, werden in der Liste nur die Einträge angezeigt, die jeder Leser sehen kann.
- Die Liste umfasst höchstens die 1000 neuesten Einträge. Darüber hinaus bleibt
has_moreauch dannfalse, wenn ältere Einträge vorhanden sind.
- In seltenen Fällen kann es bei vorübergehenden Serviceproblemen vorkommen, dass eine Liste einen Eintrag überspringt oder wiederholt. Lesen Sie die Liste später erneut, um die vollständige Liste zu erhalten.
Fehler
| Status | Wann | code |
|---|---|---|
| 400 | page_size liegt außerhalb des Bereichs von 1 bis 100, cursor ist ungültig, locale ist keine vom Hilfezentrum unterstützte Sprache (Listen) oder besteht nicht aus 2 bis 10 Zeichen (Einzellesevorgänge), oder die Abfrage enthält einen unbekannten Parameter. | validation_error |
| 403 | Dem Schlüssel fehlt der Gültigkeitsbereich read. | insufficient_scope |
| 403 | Nur Änderungsprotokoll: Das Änderungsprotokoll ist deaktiviert oder nicht in Ihrem Plan enthalten, oder die Analysefunktionen des Hilfecenters sind deaktiviert. | permission_denied |
| 404 | Das Hilfecenter, der Artikel oder die Sammlung existiert nicht in Ihrem Arbeitsbereich, es gibt keine Übersetzung in locale, oder das Änderungsprotokoll ist zwar aktiviert, aber es gibt keine Änderungsprotokollsammlung. | not_found |
Jede Route kann auch invalid_version, authentication_error, rate_limited und internal_error beantworten. Siehe „Behandlung von Notiondesk-API-Fehlern, Ratenbegrenzungen und Wiederholungsversuchen“ .
Häufig gestellte Fragen
Kann ich mit der Notiondesk API Artikel erstellen oder bearbeiten?
Nein. Notion ist die maßgebliche Quelle für Ihre Inhalte. Bearbeiten Sie den Artikel in Notion und synchronisieren Sie ihn anschließend über die API oder warten Sie auf die geplante Synchronisierung.
Enthält die Artikelliste auch Entwürfe?
Ja. Die Liste und der Lesepfad umfassen alle Status: draft, published, review und archived. Filtern Sie die Ergebnisse in Ihrem Code nach status, um nur veröffentlichte Artikel zu behalten.
Wie kann ich jeden Artikel als Markdown exportieren?
Listen Sie die Artikel auf und lesen Sie jeden einzelnen anhand seines id-Eintrags. Der Beispielartikel enthält ein vollständiges Backup-Skript.
Was bedeutet truncated: true?
truncated: true?Der Markdown-Code des Artikels ist länger als 200.000 Bytes, daher enthält text die ersten 200.000 Bytes, abgeschnitten an einem ganzen Zeichen.
Warum ist notion_article_page_url für einige Sprachen leer?
notion_article_page_url für einige Sprachen leer?Dieser Text wurde durch automatische Übersetzung erzeugt und hat daher keine eigene Notion-Seite.