L'API Notiondesk vous permet de modifier les paramètres de votre centre d'aide directement dans le code : indexation par les moteurs de recherche, titre et description de la page dans chaque langue, optimisation par IA, formulaire de contact et journal des modifications. Utilisez-la pour appliquer la même configuration à plusieurs centres d'aide ou pour gérer les versions de vos paramètres.
| Méthode | Chemin | Portée | Changements |
|---|---|---|---|
PATCH | /sites/{site_id}/settings/content | write | Indexation par les moteurs de recherche, titre et description de la page par langue |
PATCH | /sites/{site_id}/settings/ai-optimization | write | llms.txt, exportation Markdown et menu contextuel IA |
PATCH | /sites/{site_id}/settings/contact-form | write | Afficher ou non le formulaire de contact |
PATCH | /sites/{site_id}/settings/changelog | write | Le journal des modifications et ses options |
Les langues et la traduction automatique font l'objet d'un article dédié : Gérer les langues et la traduction automatique avec l'API Notiondesk . Les couleurs, les polices et la mise en page sont traitées dans Personnaliser l'image de marque et les thèmes du centre d'aide avec l'API Notiondesk .
Comment fonctionnent les mises à jour des paramètres
Chaque itinéraire sur cette page suit les mêmes règles :
- N'envoyez que les données modifiées. Un champ non renseigné conserve sa valeur actuelle.
- La réponse est
204 No Content, sans corps, même si rien n'a changé. Lisez le nouvel état avecGET /sites/{site_id}, comme décrit dans la section « Lire vos centres d'aide avec l'API Notiondesk » .
- Envoyer des booléens JSON.
trueoufalseuniquement : les valeurs0et"false"sont lues commetrue.
- Les champs inconnus sont rejetés avec le code 400
validation_error, et rien ne change.
- Les nouvelles tentatives sont sécurisées avec un
Idempotency-Key. Voir Gestion des erreurs d'API, des limites de débit et des nouvelles tentatives Notiondesk .
Indexation par les moteurs de recherche, titres et descriptions des pages
curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/content" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"seo_indexing_enabled": true, "items": [{"locale": "fr", "page_title": "Centre d aide Example", "page_description": "Toutes les réponses sur Example"}]}'| Champ | Taper | Notes | Relisez comme |
|---|---|---|---|
seo_indexing_enabled | booléen | Les moteurs de recherche peuvent-ils indexer le centre d'aide ? | seo_indexing_enabled |
items | liste d'objets | Un objet par langue à modifier | setting_content_items |
Chaque objet dans items:
| Champ | Taper | Notes |
|---|---|---|
locale | chaîne | Obligatoire. Une langue prise en charge par le centre d'aide, au maximum une fois dans la liste. |
page_title | chaîne de caractères ou null | Jusqu'à 255 caractères. null efface le texte. |
page_description | chaîne de caractères ou null | Jusqu'à 255 caractères. null efface cette valeur. |
Un objet ne modifie que les champs qu'il contient, et une langue que vous omettez de items conserve son titre et sa description. items ne peut ni ajouter ni supprimer de langue.
Une erreur dans une langue la nomme dans le chemin du champ, par exemple items[fr].page_title.
seo_indexing_enabled: false demande aux moteurs de recherche de cesser d'indexer l'intégralité de votre centre d'aide. Voir Empêcher les moteurs de recherche d'explorer et d'indexer votre centre d'aide .Optimisation par IA
curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/ai-optimization" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"llms_txt_enabled": true, "markdown_export_enabled": true, "ai_contextual_menu_enabled": true}'| Champ | Taper | Relisez comme |
|---|---|---|
llms_txt_enabled | booléen : indique si le centre d’aide publie llms.txt | llms_txt_enabled |
markdown_export_enabled | booléen : indique si les articles peuvent être lus au format Markdown | markdown_export_enabled |
ai_contextual_menu_enabled | booléen : indique si les articles affichent le menu contextuel de l’IA | ai_contextual_menu_enabled |
Votre plan doit inclure l'optimisation par IA. Découvrez le rôle de chaque fonctionnalité dans la section « Configuration de l'optimisation par IA » de votre centre d'aide et dans l'introduction à l'optimisation GEO/IA .
Formulaire de contact
curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/contact-form" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"enabled": false}'| Champ | Taper | Relisez comme |
|---|---|---|
enabled | booléen : indique si le centre d’aide affiche son formulaire de contact | contact_form_enabled |
- L'API active ou désactive le formulaire, rien de plus. Les adresses de réception des soumissions sont définies dans le tableau de bord. Un corps de requête contenant
destination_emailsrenvoie une erreur 400validation_errorsans aucune modification.
- Le formulaire reste actif uniquement si une adresse est enregistrée. L'activer pour un centre d'assistance sans adresse renvoie l'erreur 400
validation_errorpourdestination_emails. Veuillez d'abord définir une adresse dans le tableau de bord. Pour désactiver le formulaire, aucune adresse n'est requise.
- Votre plan doit inclure des options de personnalisation avancées, permettant même de désactiver le formulaire.
Journal des modifications
curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/changelog" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"enabled": true, "reactions_enabled": true, "changelog_categories": [{"category_id": "2984612035", "color": "blue_sky"}]}'| Champ | Taper | Notes | Relisez comme |
|---|---|---|---|
enabled | booléen | Le journal des modifications est-il publié ? | changelog_enabled |
email_subscriptions_enabled | booléen | Les lecteurs peuvent-ils s'abonner aux notifications par e-mail concernant les modifications apportées ? true nécessite un abonnement avec notifications par e-mail concernant les modifications apportées. | changelog_email_subscriptions_enabled |
reactions_enabled | booléen | La possibilité pour les lecteurs de réagir aux modifications apportées au journal des modifications | changelog_reactions_enabled |
email_subject_pattern | chaîne | Objet des e-mails de journal des modifications (255 caractères maximum). Ne peut être effacé : null et "" le laissent inchangé. | changelog_email_subject_pattern |
changelog_categories | liste d'objets | L'ensemble complet des collections de journaux de modifications | changelog_categories |
Chaque objet dans changelog_categories possède un category_id obligatoire, le id de l'une de vos collections, et un color facultatif de jusqu'à 255 caractères.
changelog_categories Remplace l'ensemble complet. Une collection non incluse cesse d'être une collection de journal des modifications et toutes les autres sont supprimées. Consultez la première section si vous souhaitez n'en ajouter qu'une. L'ensemble peut contenir jusqu'à 100 collections.[]changelog_categoriesGET /sites/{site_id}Votre forfait doit inclure le journal des modifications. Si les abonnements par e-mail sont activés mais que votre forfait n'inclut plus les notifications par e-mail du journal des modifications, chaque requête adressée à cette route répondra par 403 permission_denied jusqu'à l'envoi de "email_subscriptions_enabled": false.
Pour en savoir plus, consultez la section « Configuration des journaux de modifications dans votre centre d’aide » et « Comment activer les abonnements par e-mail pour vos journaux de modifications » .
Erreurs
| Statut | Quand | code |
|---|---|---|
| 400 | Une valeur est invalide ou trop longue, une langue ou une collection est inconnue ou répétée, plus de 100 collections de journal des modifications, destination_emails a été envoyé, le formulaire de contact resterait actif sans adresse, ou le corps du message contient un champ inconnu | validation_error |
| 403 | La clé ne possède pas la portée write | insufficient_scope |
| 403 | Votre abonnement n'inclut pas cette fonctionnalité (optimisation par IA, personnalisation avancée, journal des modifications ou notifications par e-mail du journal des modifications), ou le créateur de la clé ne peut pas modifier ce centre d'aide. | permission_denied |
| 404 | Le centre d'aide n'existe pas dans votre espace de travail. | not_found |
Consultez la section « Gérer les erreurs d’API Notiondesk, les limites de débit et les nouvelles tentatives » pour connaître l’enveloppe d’erreur et les autres codes.
Questions fréquentes
Comment puis-je confirmer une modification des paramètres ?
Lisez GET /sites/{site_id}. La colonne « Lire comme » située au-dessus de chaque champ indique où apparaît la nouvelle valeur.
Puis-je modifier les adresses e-mail du formulaire de contact via l'API ?
Non. Configurez-les dans le tableau de bord. L'API permet uniquement d'activer ou de désactiver le formulaire.
Puis-je activer la recherche MCP via l'API ?
Non. Activez la recherche MCP dans le tableau de bord. L'API affiche son état dans mcp_search_enabled. Voir Activer la recherche MCP .
Puis-je modifier le mode d'accès du centre d'aide via l'API ?
Non. Les accès public, par mot de passe et invité sont configurés dans le tableau de bord. L'API affiche le mode actuel dans access_mode.