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/customize | read | Leest de merknaam. |
PATCH | /sites/{site_id}/settings/customize | admin | Vernieuwt de huisstijl |
GET | /sites/{site_id}/themes | read | Geeft 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:
- Aangepaste CSS en aangepaste JavaScript. Zie Uw helpcentrum aanpassen met aangepaste CSS ;
- 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.darkbevat de kleuren voor de donkere modus en ontbreekt wanneer het helpcentrum geen donker kleurenpalet heeft.
- Een lijst die niets bevat, heeft de waarde
[].
themeis decodevan het huidige thema, ofnull.
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
colorsbehoudt een kleur die je weglaat ook zijn waarde.
- Een lijst die je verzendt, vervangt de hele opgeslagen lijst en
[]maakt deze leeg.
- Kleuren zijn
#rrggbbhexadecimale waarden, of"". Verkorte vormen zoals#fffworden afgewezen.
- Verzend JSON-booleans. De waarden
0en"false"worden gelezen alstrue, ennullalsfalse.
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__) |
| Badge | show_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_badge | Verwijder 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
linksofgroupslijst 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 | Wanneer | code |
|---|---|---|
| 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.