Personaliseer de huisstijl en thema's van het helpcentrum met de Notiondesk API

Update de huisstijl van het helpcentrum via de REST API: kleuren, lettertypen, lay-out, links in de kop- en voettekst, weergave van zoekresultaten en thema's.

7 min lezen

Met de Notiondesk API kunt u de huisstijl van uw helpcentrum lezen en wijzigen: kleuren, lettertypen, lay-out, kop- en voettekst, links, weergave van zoekresultaten en feedback, en thema. Gebruik de API om dezelfde huisstijl in meerdere helpcentra te implementeren, of om uw huisstijl in de code te behouden, naast de rest van uw ontwerpsysteem.

Methode Pad Domein Doet
GET/sites/{site_id}/settings/customizereadLeest de merknaam.
PATCH/sites/{site_id}/settings/customizeadminVernieuwt de huisstijl
GET/sites/{site_id}/themesreadGeeft een overzicht van de beschikbare thema's

De branding is zichtbaar op elke openbare pagina, dus voor het bijwerken ervan is de scope admin vereist, niet write. Alleen een sleutel die is aangemaakt door een workspace-eigenaar of beheerder heeft de scope admin.

Om de huisstijl in het dashboard te wijzigen, raadpleegt u 'De kleuren en lettertypen van uw helpcentrum aanpassen' .

Wat de API niet verandert

Deze blijven alleen zichtbaar op het dashboard. De leesroute retourneert ze niet, en een update die er een benoemt, geeft als antwoord 400 validation_error:

  • Logo's (licht en donker), voettekstlogo's (licht en donker), favicon, afbeelding voor sociale media en headerafbeeldingen (licht en donker).

Lees je merkidentiteit.

Het antwoord bevat precies de velden die de update accepteert, onder dezelfde namen. Een verkort voorbeeld:

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
}
  • Een kleur die nooit is ingesteld, wordt weergegeven als "". colors.dark bevat de kleuren voor de donkere modus en ontbreekt wanneer het helpcentrum geen donker kleurenpalet heeft.
  • Een lijst die niets bevat, heeft de waarde [].
  • theme is de code van het huidige thema, of null.

Vernieuw uw merkidentiteit.

De route geeft 204 No Content aan. Lees de informatie over de wijziging nogmaals om deze te bevestigen.

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"}]}'
  • Een veld dat je weglaat, behoudt zijn waarde. Binnen colors behoudt een kleur die je weglaat ook zijn waarde.
  • Een lijst die je verzendt, vervangt de hele opgeslagen lijst en [] maakt deze leeg.
  • Kleuren zijn #rrggbb hexadecimale waarden, of "". Verkorte vormen zoals #fff worden afgewezen.
  • Verzend JSON-booleans. De waarden 0 en "false" worden gelezen als true, en null als false.
Elke geaccepteerde update vernieuwt het hele helpcentrum: Notiondesk wist de cachepagina's en herbouwt elke pagina, ongeacht de wijzigingen die de update heeft aangebracht. Verstuur elke wijziging in één verzoek, niet één verzoek per veld.

Veilige updates: lezen, wijzigen, terugsturen

De veiligste manier om de huisstijl bij te werken, is door de tekst die je hebt gelezen terug te sturen, met jouw wijzigingen erin verwerkt. Een veld dat met de huidige waarde wordt teruggestuurd, wordt geaccepteerd in elk abonnement, dus deze methode zorgt er nooit voor dat een limiet voor velden die je niet hebt aangepast, wordt overschreden.

Een teruggestuurde body kan in twee gevallen nog steeds worden geweigerd. Corrigeer de waarde in het dashboard of laat dat veld weg uit de body:

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);
  • een opgeslagen kleur in een verkorte vorm, zoals #fff;
  • een opgeslagen lijst die langer is dan de onderstaande limieten.

Velden die u kunt wijzigen

Gebied Velden
Kleuren __GERESERVEERD_157__ met __GERESERVEERD_156__, __GERESERVEERD_155__, __GERESERVEERD_154__, __GERESERVEERD_153__, __GERESERVEERD_152__, __GERESERVEERD_151__, __GERESERVEERD_150__, __GERESERVEERD_149__, __GERESERVEERD_148__, __GERESERVEERD_147__, __GERESERVEERD_146__, __GERESERVEERD_145__, __GERESERVEERD_144__, __GERESERVEERD_143__, __GERESERVEERD_142__, aside_menu_text, aside_menu_text_hover, aside_menu_background_hover en dark met dezelfde velden voor de donkere modus
Verschijning __GERESERVEERD_137__ (__GERESERVEERD_136__: __GERESERVEERD_135__, __GERESERVEERD_134__ of __GERESERVEERD_133__; __GERESERVEERD_132__: boolean)
Lettertypen en lay-out __GERESERVEERD_131__, __GERESERVEERD_130__, __GERESERVEERD_129__, __GERESERVEERD_128__ (__GERESERVEERD_127__, __GERESERVEERD_126__ of __GERESERVEERD_125__), __GERESERVEERD_124__
Koptekst __GERESERVEERD_123__ (__GERESERVEERD_122__ of __GERESERVEERD_121__), __GERESERVEERD_120__, __GERESERVEERD_119__ (__GERESERVEERD_118__, __GERESERVEERD_117__ of __GERESERVEERD_116__), __GERESERVEERD_115__, __GERESERVEERD_114__, __GERESERVEERD_113__, __GERESERVEERD_112__, __GERESERVEERD_111__, __GERESERVEERD_110__, __GERESERVEERD_109__, __GERESERVEERD_108__
Zoekopdracht __GERESERVEERD_107__, __GERESERVEERD_106__, __GERESERVEERD_105__, __GERESERVEERD_104__, __GERESERVEERD_103__, __GERESERVEERD_102__, __GERESERVEERD_101__, __GERESERVEERD_100__, __GERESERVEERD_99__, __GERESERVEERD_98__
Collecties __GERESERVEERD_97__, __GERESERVEERD_96__, __GERESERVEERD_95__, __GERESERVEERD_94__, __GERESERVEERD_93__, __GERESERVEERD_92__, __GERESERVEERD_91__, __GERESERVEERD_90__, __GERESERVEERD_89__, __GERESERVEERD_88__, __GERESERVEERD_87__
Artikelen __GERESERVEERD_86__, __GERESERVEERD_85__, __GERESERVEERD_84__, __GERESERVEERD_83__, __GERESERVEERD_82__, __GERESERVEERD_81__, __GERESERVEERD_80__, __GERESERVEERD_79__, __GERESERVEERD_78__, __GERESERVEERD_77__, __GERESERVEERD_76__, __GERESERVEERD_75__, __GERESERVEERD_74__
Feedback __GERESERVEERD_73__, __GERESERVEERD_72__, __GERESERVEERD_71__ (__GERESERVEERD_70__ of __GERESERVEERD_69__), __GERESERVEERD_68__, __GERESERVEERD_67__
Zijmenu __GERESERVEERD_66__, __GERESERVEERD_65__, __GERESERVEERD_64__
Voettekst __GERESERVEERD_63__ (__GERESERVEERD_62__, __GERESERVEERD_61__ of __GERESERVEERD_60__), __GERESERVEERD_59__, __GERESERVEERD_58__, __GERESERVEERD_57__, __GERESERVEERD_56__, __GERESERVEERD_55__, __GERESERVEERD_54__
Contactknop __GERESERVEERD_53__, __GERESERVEERD_52__, __GERESERVEERD_51__ (__GERESERVEERD_50__ of __GERESERVEERD_49__)
Badgeshow_powered_by_badge

Links zijn objecten met een title en een url. Linkgroepen in de voettekst zijn objecten met een title en een links lijst. Vertalingen zijn objecten met een locale en de vertaalde links, groups of value.

Planlimieten

Velden Planfunctie nodig om ze te wijzigen
show_powered_by_badgeVerwijder de merknaam. Zie Hoe verwijder ik het 'Powered by Notiondesk'-logo?
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, de feedbackvelden, de velden in het zijmenu, de velden in de voettekst, de sociale links en de velden van de contactknop Geavanceerde aanpassingsmogelijkheden

Als je een van deze opties wijzigt in een abonnement zonder die functie, krijg je de foutmelding 403 permission_denied. In het bericht wordt de functie wel genoemd, maar er wordt verder niets geschreven.

Zonder geavanceerde aanpassingen behouden de kleuren in de voettekst hun opgeslagen waarde zonder fouten. Zonder een ingeschakelde AI-chatbot behouden ai_search_display_mode, ai_search_aside_position en ai_search_enabled: true ook hun opgeslagen waarde.

Lijstlimieten

  • Elke lijst kan maximaal 100 items bevatten, en dat geldt ook voor elke links of groups lijst daarin.
  • Alle lijsten samen kunnen maximaal 3000 items bevatten, inclusief geneste items en de opgeslagen lijsten die uw body niet weergeeft.

Met de contactknop wordt het contactformulier geactiveerd.

Hoewel show_contact_us_button true is op een abonnement met geavanceerde aanpassingsmogelijkheden, wordt bij elke brandingupdate het contactformulier van het helpcentrum ingeschakeld, net zoals bij het opslaan in het dashboard. Zie het gedeelte over het contactformulier in ' Helpcentruminstellingen bijwerken met de Notiondesk API' .

Kies een thema

De lijst bevat altijd alle thema's in één reactie, in de volgorde waarin ze worden weergegeven. Pas er een toe door de bijbehorende code als theme te verzenden:

Het instellen van een thema vereist geavanceerde aanpassingen. Het verzenden van "theme": null laat het thema ongewijzigd.

Fouten

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 Wanneercode
400 De body verwijst naar een veld dat alleen op het dashboard voorkomt, een waarde is niet een van de keuzes van het veld, een kleur is niet #rrggbb, een verplichte waarde is null, een lijst is te lang, theme verwijst naar geen thema, of de body bevat een onbekend veld.validation_error
403 De sleutel mist het bereik read, of admin voor de update.insufficient_scope
403 De update wijzigt een veld dat niet in uw abonnement is opgenomen, of de maker van de sleutel kan dit helpcentrum niet wijzigen.permission_denied
404 Het helpcentrum bestaat niet in uw werkruimte.not_found

Foutmeldingen in velden geven de waarde aan, bijvoorbeeld colors.primary of footer_links[0].links. Zie Foutmeldingen, snelheidslimieten en herhaalpogingen in de API afhandelen voor Notiondesk .

Veelgestelde vragen

Kan ik een logo uploaden met de Notiondesk API?

Nee. Logo's, het favicon en de headerafbeeldingen worden in het dashboard ingesteld.

Kan ik aangepaste CSS of JavaScript wijzigen met de API?

Nee. Aangepaste CSS en aangepaste JavaScript zijn alleen voor het dashboard bedoeld en de API leest of wijzigt deze nooit.

Waarom geeft mijn update een 403-foutmelding voor een veld dat ik niet heb gewijzigd?

Je hebt een waarde verzonden die afwijkt van de opgeslagen waarde in een veld dat niet in je abonnement is opgenomen. Lees eerst de huisstijlrichtlijnen en stuur de opgeslagen waarde terug, of laat het veld weg.

Is een merkupdate gesynchroniseerd?

Nee. De update vernieuwt het hele helpcentrum automatisch.

Wat volgt?

Gerelateerde artikelen

Was deze pagina nuttig?

Still need help? Ask us