Die Notiondesk-API ermöglicht es Ihnen, das Branding Ihres Hilfecenters zu lesen und zu ändern: Farben, Schriftarten, Layout, Kopf- und Fußzeile, Links, Such- und Feedback-Anzeige sowie Design. Nutzen Sie sie, um ein einheitliches Branding für mehrere Hilfecenter zu verwenden oder um Ihr Branding im Code neben dem Rest Ihres Designsystems zu verwalten.
| Verfahren | Weg | Umfang | Tut |
|---|---|---|---|
GET | /sites/{site_id}/settings/customize | read | Liest das Branding |
PATCH | /sites/{site_id}/settings/customize | admin | Aktualisiert das Branding |
GET | /sites/{site_id}/themes | read | Listet die verfügbaren Designs auf |
Das Branding ist auf jeder öffentlichen Seite sichtbar, daher benötigt man für dessen Aktualisierung den Bereich admin, nicht write. Nur ein vom Workspace-Inhaber oder Administrator erstellter Schlüssel enthält den Bereich admin.
Um das Branding stattdessen im Dashboard zu ändern, lesen Sie den Abschnitt "Farben und Schriftarten Ihres Hilfecenters anpassen" .
Was die API nicht ändert
Diese bleiben nur im Dashboard sichtbar. Die Leseroute gibt sie nicht zurück, und eine Aktualisierung, die einen davon nennt, antwortet mit dem Fehlercode 400 validation_error:
- Benutzerdefiniertes CSS und benutzerdefiniertes JavaScript. Siehe „Hilfecenter mit benutzerdefiniertem CSS anpassen “.
- Logos (hell und dunkel), Footer-Logos (hell und dunkel), Favicon, Social-Media-Bild und Header-Bilder (hell und dunkel).
Lesen Sie Ihre Markenidentität
Die Antwort enthält exakt die Felder, die das Update akzeptiert, und zwar unter denselben Namen. Ein verkürztes Beispiel:
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/customize" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"colors": {
"primary": "#2563eb",
"text": "#111827",
"link": "#2563eb",
"link_hover": "#1d4ed8",
"header": "#2563eb",
"header_text": "#ffffff",
"background": "#ffffff",
"footer_background": ""
},
"appearance": null,
"layout_collection": "column_2",
"layout_article": "column_1",
"footer_layout": "compact",
"primary_font": "Inter",
"header_links": [{"title": "Docs", "url": "https://example.com/docs"}],
"footer_links": [{"title": "Product", "links": [{"title": "Pricing", "url": "https://example.com/pricing"}]}],
"show_powered_by_badge": false,
"theme": null
}- Eine Farbe, die nie festgelegt wurde, wird als
""angezeigt.colors.darkenthält die Farben für den Dunkelmodus und fehlt, wenn das Hilfecenter keine dunkle Farbpalette besitzt.
- Eine leere Liste wird als
[]angezeigt.
themeist dascodedes aktuellen Themas odernull.
Aktualisieren Sie Ihr Branding
Die Route beantwortet 204 No Content. Lesen Sie die Beschriftung erneut, um die Änderung zu bestätigen.
curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/customize" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"primary_font": "Inter", "colors": {"primary": "#2563eb"}, "header_links": [{"title": "Docs", "url": "https://example.com/docs"}]}'- Ein Feld, das Sie weglassen, behält seinen Wert. Auch eine Farbe, die Sie innerhalb von
colorsweglassen, behält ihren Wert.
- Eine von Ihnen gesendete Liste ersetzt die gesamte gespeicherte Liste, und
[]leert sie.
- Farben werden als
#rrggbbHexadezimalwerte oder""angegeben. Kurzformen wie#fffwerden nicht akzeptiert.
- Sende JSON-Boolesche Werte. Die Werte
0und"false"werden alstruegelesen, undnullalsfalse.
Sichere Updates: lesen, ändern, zurücksenden
Die sicherste Methode zur Aktualisierung des Brandings besteht darin, die gelesenen Daten mit Ihren Änderungen zurückzusenden. Ein Feld mit seinem aktuellen Wert wird in jedem Tarif akzeptiert, sodass dieses Vorgehen niemals zu einem Tariflimit für Felder führt, die Sie nicht bearbeitet haben.
Ein zurückgesendeter Body kann in zwei Fällen weiterhin abgelehnt werden. Korrigieren Sie den Wert im Dashboard oder lassen Sie dieses Feld aus dem Body weg:
const url = "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/customize";
const headers = {
Authorization: `Bearer ${process.env.NOTIONDESK_API_KEY}`,
"nd-version": "2026-10-16",
"Content-Type": "application/json",
};
const branding = await (await fetch(url, { headers })).json();
branding.colors.primary = "#7c3aed";
branding.colors.link = "#7c3aed";
const response = await fetch(url, { method: "PATCH", headers, body: JSON.stringify(branding) });
console.log(response.status);- eine gespeicherte Farbe in Kurzform wie z. B.
#fff;
- eine gespeicherte Liste, die länger ist als die unten aufgeführten Grenzwerte.
Felder, die Sie ändern können
| Bereich | Felder |
|---|---|
| Farben | colors mit primary, text, link, link_hover, header, header_top, header_text, header_top_text, header_link, header_link_hover, background, footer_background, footer_text, article_card_background, collection_card_background, aside_menu_text, aside_menu_text_hover, aside_menu_background_hover und dark mit denselben Feldern für dunkel Modus |
| Aussehen | appearance (default: light, dark oder system; strict: boolean) |
| Schriftarten und Layout | primary_font, secondary_font, layout_collection, layout_article (column_1, column_2 oder column_3), theme |
| Kopfzeile | header_variant (hero oder bar), headline_size, header_background_type (color, image oder gradient), header_gradient_type, header_gradient_angle, header_gradient_colors, header_shape_type, header_links, header_link_translations, homepage_link, homepage_link_translations |
| Suchen | search_bar_length, search_bar_alignment, search_bar_corner_style, search_bar_shadow, search_result_variant, instant_search, segmented_search_results, ai_search_enabled, ai_search_display_mode, ai_search_aside_position |
| Sammlungen | collections_style, collection_card_corner_style, collection_section_variant, collection_content_variant, collapsable_sub_categories, collapsable_sub_categories_default_state, show_collection_icons, show_collection_descriptions, show_collection_content, show_collection_authors, show_collection_articles_count |
| Artikel | articles_style, article_card_corner_style, content_tabs_style, article_footer_variant, table_of_contents_position, show_table_of_contents, show_article_icons, show_article_descriptions, show_article_authors, show_related_articles, show_breadcrumb_icon, show_article_publish_date, show_article_page_author |
| Rückmeldung | show_article_feedback_form, require_email_for_article_feedback, feedback_reaction_style (emoji oder thumbs), feedback_question_label, feedback_comment_mode |
| Seitenmenü | aside_menu_expansion_mode, show_aside_menu_article_icons, show_aside_menu_collection_icons |
| Fußzeile | footer_layout (compact, standard oder multi_level), footer_shape_type, footer_links, footer_link_translations, footer_text_translations, social_media_links, social_link_translations |
| Kontakt-Button | show_contact_us_button, contact_us_custom_link, contact_us_button_position (header oder footer) |
| Abzeichen | show_powered_by_badge |
Links sind Objekte mit den Attributen title und url. Linkgruppen in der Fußzeile sind Objekte mit den Attributen title und links. Übersetzungen sind Objekte mit dem Attribut locale und dem übersetzten Attribut links, groups oder value.
Planbeschränkungen
| Felder | Die Planfunktion musste geändert werden. |
|---|---|
show_powered_by_badge | Branding entfernen. Siehe Anleitung zum Entfernen des „Powered by Notiondesk“-Badges. |
theme, header_shape_type, instant_search, segmented_search_results, ai_search_display_mode, ai_search_aside_position, show_article_publish_date, show_article_page_author, die Feedback-Felder, die Seitenmenü-Felder, die Fußzeilen-Felder, die Social-Media-Links und die Kontaktschaltflächen | Erweiterte Anpassungsmöglichkeiten |
Wenn man eine dieser Optionen in einem Tarif ändert, der diese Funktion nicht enthält, erhält man die Fehlermeldung 403 permission_denied. In der Meldung wird die Funktion genannt, und es wird nichts weiter ausgegeben.
Ohne erweiterte Anpassungen behalten die Farben der Fußzeile ihre gespeicherten Werte fehlerfrei bei. Auch ohne aktivierten KI-Chatbot behalten ai_search_display_mode, ai_search_aside_position und ai_search_enabled: true ihre gespeicherten Werte.
Listenbeschränkungen
- Jede Liste enthält bis zu 100 Einträge, ebenso wie jede darin enthaltene
links- odergroups-Liste.
- Alle Listen zusammen enthalten bis zu 3.000 Einträge, wobei verschachtelte Einträge und die vom System gespeicherten Listen nicht mitgezählt werden.
Durch den Kontakt-Button wird das Kontaktformular aktiviert.
Bei einem Plan mit erweiterten Anpassungsmöglichkeiten entspricht show_contact_us_button zwar true, jedoch wird bei jeder Aktualisierung des Brandings das Kontaktformular des Hilfecenters aktiviert, ebenso wie beim Speichern im Dashboard. Weitere Informationen finden Sie im Abschnitt „Kontaktformular“ unter „Hilfecenter-Einstellungen mit der Notiondesk-API aktualisieren“ .
Wähle ein Thema
Die Liste enthält stets alle Designs in einer Antwort, in der Reihenfolge ihrer Anzeige. Wenden Sie ein Design an, indem Sie dessen code als theme senden:
Für die Festlegung eines Designs sind erweiterte Anpassungen erforderlich. Das Senden von "theme": null ändert nichts am Design.
Fehler
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/themes" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"object": "list",
"data": [
{
"code": "ocean",
"name": "Ocean",
"description": "A calm, airy theme",
"preview_image_url": "https://example.com/ocean.png",
"layout": "default"
}
],
"has_more": false,
"next_cursor": null
}curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/customize" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"theme": "ocean"}'| Status | Wann | code |
|---|---|---|
| 400 | Der Textkörper benennt ein Feld, das nur im Dashboard angezeigt wird, ein Wert gehört nicht zu den Auswahlmöglichkeiten des Feldes, eine Farbe ist nicht #rrggbb, ein erforderlicher Wert ist null, eine Liste ist zu lang, theme benennt kein Design oder der Textkörper enthält ein unbekanntes Feld | validation_error |
| 403 | Dem Schlüssel fehlt der Gültigkeitsbereich read oder admin für das Update. | insufficient_scope |
| 403 | Das Update ändert ein Feld, das Ihr Plan nicht enthält, oder der Ersteller des Schlüssels kann dieses Hilfezentrum nicht ändern. | permission_denied |
| 404 | Das Hilfecenter ist in Ihrem Arbeitsbereich nicht vorhanden. | not_found |
Feldfehler benennen den Wert, zum Beispiel colors.primary oder footer_links[0].links. Siehe Umgang mit Notiondesk-API-Fehlern, Ratenbegrenzungen und Wiederholungsversuchen .
Häufig gestellte Fragen
Kann ich ein Logo mit der Notiondesk API hochladen?
Nein. Logos, Favicon und Headerbilder werden im Dashboard festgelegt.
Kann ich mit der API benutzerdefiniertes CSS oder JavaScript ändern?
Nein. Benutzerdefiniertes CSS und benutzerdefiniertes JavaScript sind nur für das Dashboard bestimmt und werden von der API weder gelesen noch verändert.
Warum erhalte ich bei einem Feld, das ich nicht geändert habe, die Fehlermeldung 403 für mein Update?
Sie haben einen Wert gesendet, der vom gespeicherten Wert in einem Feld abweicht, das in Ihrem Tarif nicht enthalten ist. Bitte lesen Sie zuerst die Branding-Informationen und senden Sie den gespeicherten Wert zurück oder lassen Sie das Feld weg.
Ist für ein Branding-Update eine Synchronisierung erforderlich?
Nein. Das Update aktualisiert das gesamte Hilfecenter automatisch.