La Contract-API de c:node fournit des réponses, des normes juridiques et des services administratifs avec source, licence et statut de vérification. Vous l’appelez via REST ou l’intégrez via MCP directement dans Claude, Copilot et vos propres agents.
La Contract-API est l’interface publique du c:node Graph. Chaque réponse est conçue pour que vous puissiez la vérifier : elle indique la source (ref), le statut de vérification (grounding), la licence et, si nécessaire, la mention de la source de données.
| Champ | Signification |
|---|---|
ref | Référence standard de la source, p. ex. ELI:BSIGesetz§10, CELEX:32024R1689 ou XZUFI:S1000030000000045. |
grounding | Statut de vérification par rapport au passage cité, p. ex. verified. |
license | Classe de licence de la source : open, attribution ou internal. |
attributions | Mentions obligatoires (source, licence, URL) pour les données fournies. |
citations · factscore | Pour /v1/ask : uniquement des sources vérifiées, avec pour chaque affirmation un verdict (belegt = fiable ou offen = ouverte) et la part d’affirmations fiables. |
content_hash | Pour les enregistrements de preuve : SHA-256 du contenu, pour la journalisation selon l’EU AI Act, art. 12. |
| Indicateur | Signification |
|---|---|
| 99,9 %+ des termes fiables | metrics.verified_pct de /v1/graph : part des termes ancrés dans une source officielle. Il indique qu’une source existe – pas combien d’entrées sont exactes. |
| 98,8 % de précision vérifiée des contenus juridiques | Échantillon de 1 235 normes, termes et décisions, chacun contrôlé par rapport à la source officielle. Intervalle de confiance à 95 % (Wilson) : 98,0–99,3 %. Exécution graph-v32-2026-10-12T105151Z, état au 12/10/2026. |
Chaque indicateur de précision cite l’exécution enregistrée dont il provient, pour pouvoir le retracer et le comparer aux exécutions suivantes.
La spécification complète, lisible par machine, se trouve sous /openapi.json.
Les deux premiers appels fonctionnent sans clé, contre la Sandbox. Pour les endpoints de connaissances, il vous faut une clé Contract.
Envoyez votre clé contrat dans l’en-tête X-API-Key. C’est la seule façon d’attribuer chaque appel à votre clé – profil, quota, limite de débit et /v1/usage. L’API accepte aussi le paramètre ?key=, mais il finit facilement dans des journaux et des historiques de navigation, et la consommation n’est alors pas attribuée à votre clé. Ne l’utilisez pas.
public-observatory) : vue d’ensemble du graphe, preuves, audit, mentions obligatoires et aperçu Company Brain.nk_…) : liée au profil de votre offre, elle débloque /v1/ask, /v1/retrieve, /v1/legal, /v1/leistung et /v1/betroffenheit.| Clé | Où l’obtenir | Pour quoi |
|---|---|---|
Clé contrat nk_… | votre compte sur billing.c-node.ai (rubrique clé API) | Contract-API ; via MCP, uniquement les outils du c:node Graph |
Clé d’organisation ck_… | c:node → Paramètres → Clés API & MCP | MCP et API de l’application pour serveurs et agents sans personne – pas pour la Contract-API |
| Connexion (OAuth) | votre compte c:node sur auth.c-node.ai | MCP dans Claude, Claude Code, Copilot Studio – en tant que personne, avec votre espace de travail |
Chaque clé est liée à un profil. Le profil définit quelles classes de licence et quels domaines de connaissance une réponse peut utiliser – les modèles ne voient que ce que votre profil autorise. GET /v1/profiles les liste en direct.
| Profil | Offre | Ce que voit la clé |
|---|---|---|
public-observatory | Sandbox, sans clé | Vue d’ensemble du graphe et preuves. |
research-open | Research | Recherche et innovation, licences ouvertes. |
free-market | Starter | Marché, commerce, investissements, tendances de marché et finances publiques. |
commercial-full | Professional | Accès commercial complet (sans sources non commerciales), droit et services administratifs compris. |
| Profil tenant | Enterprise | Accès complet plus votre propre graphe tenant. |
de-federal | sur demande | Espace de données fédéral allemand, accès complet. |
trial | Accès d’essai | Limité dans le temps, pour l’évaluation. |
Les réponses fiables via l’API sont décomptées du même quota mensuel que l’application et MCP. L’unité facturée est la réponse fiable ; la consultation d’articles de loi et de services ne compte pas (voir Erreurs & limites).
c:node tourne aussi sur votre infrastructure : l’interface, le chat et le runtime du graphe en stack Docker sur votre serveur, air-gapped si nécessaire. Pour des réponses locales, un modèle ouvert via Ollama suffit – ou vous apportez votre propre clé API.
Nous fournissons le code source et le guide d’installation aux licenciés. Contactez-nous – nous ouvrons l’accès et accompagnons l’installation.
Une seule adresse pour toutes les offres : https://mcp.c-node.ai/mcp (Streamable HTTP). Le modèle rédige, c:node fournit la base fiable. Chaque réponse porte son statut de preuve comme dans l’application – étayée, partiellement étayée ou appréciation générale – dans le champ evidence (statut et libellé). Les résultats vérifiés qui ne valent pas preuve figurent sous checked_sources. Les outils visibles dépendent de votre connexion, de votre offre, de votre rôle et des réglages de votre espace de travail.
c:node, URL https://mcp.c-node.ai/mcp. Aucun identifiant client n’est nécessaire.Une seule fois, pour tous vos projets :
Ensuite, dans Claude Code : /mcp → cnode → « Authenticate ». Le navigateur ouvre la connexion sur auth.c-node.ai ; après « Autoriser », vous revenez dans Claude Code. Sans --scope user, l’entrée ne vaut que pour le projet en cours.
Sans personne, par exemple sur un serveur ou en CI : une clé d’organisation dans l’en-tête. Il n’y a alors ni couche privée ni recherche dans les connecteurs, car les deux sont liées à une personne.
https://mcp.c-node.ai/mcp.https://auth.c-node.ai/authorize, URL de jeton et de renouvellement https://auth.c-node.ai/token, scopes p. ex. cnode:graph.read cnode:workspace.read cnode:usage.read. Envoyez-nous l’URL de redirection affichée ensuite par Copilot Studio.X-API-Key avec une clé d’organisation ck_….Tout client MCP avec Streamable HTTP fonctionne avec une clé dans l’en-tête X-API-Key ou en Authorization: Bearer <clé>. Pour VS Code, dans .vscode/mcp.json – Copilot demande la clé au premier démarrage et ne l’enregistre pas dans le projet :
Avec une clé d’organisation ck_…, vous voyez les outils de votre espace de travail selon le rôle de la clé ; avec une clé contrat, uniquement le c:node Graph. auth.c-node.ai accepte les clients dotés de leur propre connexion via les métadonnées client (CIMD) ou comme application native avec retour sur localhost ; pour les autres services web, nous configurons un client fixe.
Les anciennes adresses nena-mcp.c-node.ai/mcp et mcp.c-node.ai/agents/mcp fonctionnent jusqu’au 05/01/2027. Passez à https://mcp.c-node.ai/mcp.
À la connexion, vous accordez des droits (scopes) au client. Un outil n’apparaît que si le droit est accordé, que votre offre et votre rôle le permettent et que votre espace de travail l’autorise pour MCP. La liste est recalculée à chaque requête.
| Droit | Permet | À partir de l’offre |
|---|---|---|
cnode:graph.read | c:node Graph : réponses, droit, services administratifs, dossier, aperçu Company Brain | Research |
cnode:workspace.read | Questions à votre espace de travail ; à partir de Professional aussi agents, mémoire, lecture de la bibliothèque, notifications, état des lieux | Starter |
cnode:connectors.read | Rechercher dans vos systèmes connectés, avec votre propre accès | Professional |
cnode:library.write | Déposer des fichiers dans la bibliothèque (privés par défaut) | Professional |
cnode:tasks.run | Lancer des tâches et suivre leur état | Professional |
cnode:drafts.create | Créer des brouillons à valider, refuser des propositions | Professional |
cnode:usage.read | Voir votre propre quota | toutes |
cnode:admin | Administration : consommation et règles MCP de l’espace de travail | Enterprise, admins |
cnode:graph.write | Mettre à jour le Company Brain dans votre propre graphe tenant | avec une clé tenant |
| Outil | Ce qu’il fait | Research | Starter | Professional | Enterprise |
|---|---|---|---|---|---|
cnode_graph_ask | Réponse issue du c:node Graph avec statut de preuve (evidence) et sources | ✓ | ✓ | ✓ | ✓ |
cnode_legalcnode_law_searchcnode_leistung | Article par référence ou citation, recherche de normes en texte intégral, service administratif avec sa base juridique | ✓ | ✓ | ✓ | ✓ |
cnode_healthcnode_usage | Test de connexion, quota personnel | ✓ | ✓ | ✓ | ✓ |
cnode_models | Modes de réponse et modèles débloqués par votre offre, avec classe et pondération | ✓ | ✓ | ✓ | ✓ |
cnode_ask | Question à votre espace de travail : vos documents plus le c:node Graph | – | ✓ | ✓ | ✓ |
cnode_dossiercnode_brain_preview | Constituer un dossier de demande, aperçu Company Brain d’un domaine | – | ✓ | ✓ | ✓ |
cnode_thread_resultscnode_memory_overview | Résultats d’un chat (artefacts, éléments créés avec lien, tâches, validations, exécutions) ; vue d’ensemble de la mémoire – c:node Graph en agrégat et vos propres entrées par niveau. Lecture seule | – | ✓ | ✓ | ✓ |
cnode_memory_searchcnode_library_listcnode_library_readcnode_library_upload | Rechercher et lire mémoire et bibliothèque, déposer des fichiers | – | – | ✓ | ✓ |
cnode_connector_search | Rechercher dans vos systèmes connectés | – | – | ✓ | ✓ |
cnode_list_agentscnode_ask_agentcnode_consult_agentcnode_consult_team | Agents métier et équipe d’experts | – | – | ✓ | ✓ |
cnode_run_taskcnode_task_status | Tâches : recherche, note de décision, analyse de document, contrôle juridique et conformité | – | – | ✓ | ✓ |
cnode_draft_followupcnode_list_pending_actionscnode_reject_actioncnode_approve_actioncnode_notifications | Brouillons et liens de validation, propositions en attente, notifications | – | – | ✓ | ✓ |
cnode_tasks_listcnode_task_createcnode_task_update | Lister les tâches ; créer une tâche sous forme de brouillon ; proposer une modification d’une tâche – effective seulement après validation dans c:node | – | – | ✓ | ✓ |
cnode_lagebild | État des lieux de votre propre domaine | – | – | ✓ | ✓ |
cnode_admin_usage | Consommation et règles MCP de l’espace de travail | – | – | – | ✓ admins |
Rôles : les lecteurs voient les outils de lecture ; les membres en plus les questions, agents, tâches, brouillons et dépôts ; les admins en plus l’administration. Avec une clé contrat, vous ne voyez que les outils du c:node Graph selon votre profil, plus cnode_profiles et, avec une clé tenant, cnode_brain_bootstrap et cnode_findings. Pour les clés contrat, cnode_graph_ask reste aussi disponible sous son ancien nom cnode_ask jusqu’au 05/01/2027.
approve_url). Rien n’est envoyé ni inscrit avant que vous cliquiez sur « Valider » dans c:node. cnode_approve_action ne renvoie, lui aussi, que ce lien.cnode_models indique les modes et modèles que votre offre débloque.cnode_usage indique où vous en êtes – ou dans c:node, sous Paramètres.
| Ce que vous voyez | Cause | Que faire |
|---|---|---|
401 « c:node MCP braucht eine Anmeldung oder einen Schlüssel » | Pas encore connecté, connexion expirée ou clé invalide. L’en-tête WWW-Authenticate indique sous resource_metadata où le client trouve la connexion – c’est voulu. | Reconnecter (Claude Code : /mcp → cnode → « Authenticate ») ou vérifier la clé. |
invalid_redirect_uri à la connexion | Le client s’enregistre avec une adresse de retour qu’auth.c-node.ai n’accepte pas automatiquement. Sont acceptés Claude, les clients avec métadonnées client (CIMD) et les applications natives avec retour sur localhost, 127.0.0.1 ou [::1], ainsi que Copilot Studio avec retour sur https://global.consent.azure-apim.net/redirect/…. | Mettre à jour Claude Code. Pour d’autres services web, demander un client fixe ou utiliser une clé d’organisation. |
La page de consentement se termine par access_denied | « Refuser » a été cliqué – ou votre compte n’est pas membre de l’espace de travail demandé par le client. | Reconnecter et « Autoriser ». Votre admin ou votre contact c:node configure l’adhésion. |
| La connexion échoue, il n’y a pas encore de compte | Un connecteur ne crée pas de compte. | Créer d’abord un compte c:node ou se faire inviter, puis connecter. |
| Connecté, mais 0 outil | Sur la page de consentement, un espace a été choisi qui n’a pas d’espace de travail c:node – ou MCP y est désactivé. | Reconnecter et choisir le bon espace de travail. Les admins vérifient Paramètres → Clés API & MCP. |
| Un outil manque ou indique ne pas être inclus dans votre offre c:node | Offre, rôle ou droit non accordé à la connexion. | Vérifier droits & outils ; reconnecter si un droit manque. |
| « Limite atteinte » ou « quota épuisé » | Limite par minute et par personne ou 150 % du quota mensuel. | Patienter un instant ou adapter votre offre. |
| « Valider uniquement dans c:node » | Voulu : rien n’est validé via MCP. | Ouvrir le lien approve_url et valider dans c:node. |
Réponses fiables et sources juridiques. Tous les endpoints de cette section nécessitent une clé Contract.
Répond à une question exclusivement à partir des concepts que votre profil autorise. Les citations proviennent uniquement de références vérifiées. Si c:node ne trouve pas de preuve, la réponse le dit au lieu de deviner.
| Paramètre | Description |
|---|---|
q | La question en langage naturel (3 caractères min.). Obligatoire. |
k | Nombre de concepts sur lesquels s’appuie la réponse (1–20, par défaut 6). |
Sans preuve : "grounded": false et la réponse « Cela ne figure pas (encore) dans le graphe de connaissances. » Les affirmations sans appui reçoivent le verdict offen (ouverte).
Mêmes paramètres et même vérification que /v1/ask. La réponse arrive sous forme de Server-Sent Events : des événements token avec des fragments de texte, puis un événement done avec les citations, le verdict et le factscore, et enfin [DONE].
Renvoie les concepts sur lesquels /v1/ask s’appuierait – chacun avec référence, définition, score et couche (macro = c:node Graph, micro = votre tenant) –, mais sans réponse rédigée ni vérification par affirmation. Pour les appelants qui rédigent la réponse avec leur propre modèle ; nettement plus rapide que /v1/ask. Mêmes paramètres que /v1/ask. Compte comme une réponse (facturable si fiable).
Un paragraphe par référence, tous les paragraphes d’une loi ou une recherche plein texte. L’un des trois paramètres est obligatoire.
| Paramètre | Description |
|---|---|
ref | Référence exacte, p. ex. ELI:BSIGesetz§1. |
law | Nom de la loi, p. ex. BSIGesetz – renvoie ses paragraphes. |
q | Recherche plein texte (tous les termes doivent apparaître). |
cite | Citation telle qu’on la tape, par ex. § 309 BGB – renvoie la norme en texte intégral (comme /v1/legal/norm). |
limit · offset | Pagination (1–500, par défaut 50). S’il y a d’autres résultats, next_offset figure dans la réponse. |
Trouve les normes correspondant à une question, un thème ou une citation. Les citations contenues dans la question sont résolues en premier ("match": "citation"), suivies des résultats classés ("match": "search"), chacun avec texte intégral, source et date de mise à jour. missing liste les normes ou lois citées que le corpus ne contient pas.
| Paramètre | Description |
|---|---|
q | Question, thème ou citation, p. ex. Art. 28 DSGVO ou Klauselverbote in AGB. Obligatoire. |
k | Nombre de résultats (1–30, 8 par défaut). |
law | Limiter à une loi, p. ex. BGB. |
Résout une citation telle qu’on la tape – cite=§ 309 BGB, cite=Art. 28 DSGVO – ou prend une ref exacte. Réponse : la norme avec texte intégral, URL source et date de mise à jour, ou honnêtement "found": false avec un reason (no_citation, law_not_held, norm_not_found, not_in_profile). /v1/legal?cite=… renvoie la même chose.
Normes par loi et date de mise à jour par loi – pour savoir ce que couvrent /v1/legal/search et /v1/legal/norm.
Services administratifs issus de XZuFi/LeiKa. rechtsgrundlagen ne contient que des liens vers des lois présentes dans le c:node Graph – rien n’est deviné. Paramètres : ref ou q, plus limit/offset.
Des enregistrements pour la traçabilité : d’où provient une affirmation, qui un acte juridique concerne et quelles sources doivent être mentionnées. Avec Essayer, vous appelez la Sandbox en direct.
Fournit pour une référence le statut de vérification, la licence, une indication d’incertitude et un hash du contenu – conçu pour la journalisation selon l’EU AI Act, art. 12. Paramètre : ref.
Relie un acte juridique de l’UE aux secteurs concernés et aux entreprises inscrites au registre du commerce. Paramètre : act, p. ex. ArtificialIntelligenceAct.
Étend /v1/audit à la dimension régionale : loi → secteur → entreprises concernées → Land → indicateurs régionaux (PIB, taux de chômage, revenus). Chaque chiffre dérivé porte sa chaîne de preuves. Paramètres : act (optionnel), limit (1–100).
Assemble à partir des champs d’une demande un dossier vérifiable : chaque champ avec sa source, le verdict de confiance eIDAS sur le sceau et une chaîne de hash infalsifiable. Si la demande cite un service sans base juridique, c:node la complète à partir du graphe. Les réponses contiennent des données personnelles et ne sont pas mises en cache.
Toutes les sources de données de votre profil avec licence et URL – pour les mentions légales, une liste des sources ou un export.
Un domaine devient un profil d’entreprise fiable : c:node lit les pages publiques, vérifie les mentions légales et le registre du commerce, ancre l’entreprise dans son secteur et fournit des constats sur la réglementation et les appels d’offres en cours – chacun avec sa source.
L’aperçu public : diffuse l’exécution pour un domaine, sans rien enregistrer. Limité à quelques runs par IP et par heure, plus un quota journalier ; le résultat d’un domaine est mis en cache 24 heures et rejoué. Paramètre : domain, p. ex. firma.de ; en option lang (de, en, fr), mode (brief par défaut, swot ou lagebild) et, avec mode=lagebild, goal (gesamt, chancen, pflichten, foerderung, wettbewerb).
Types d’événements dans cet ordre : step, page, feed, impressum, register, profile, anchor, finding, done (en cas d’erreur error), terminé par [DONE].
Exécute le traitement complet et enregistre le profil, les pages et les constats dans le graphe de votre espace dédié. Ensuite, /v1/ask et /v1/findings connaissent votre entreprise. Body : {"domain": "firma.de"}. Délai maximal 90 secondes (504 en cas de dépassement).
En flux : GET /v1/brain/stream?domain=… fournit les mêmes événements que l’aperçu et enregistre à la fin.
Les constats proactifs issus de la dernière exécution : réglementation, appels d’offres, registre et contexte sectoriel, chacun avec ses preuves. S’il n’y a pas encore eu d’exécution, findings est vide et hint indique l’étape suivante.
Avec une clé tenant, /v1/ask, /v1/retrieve, /v1/graph et /v1/findings relient le c:node Graph à votre propre savoir. Avec scopes, vous choisissez quelles couches de votre tenant sont lues en plus : org (par défaut), team:<id>, user:<id>, séparées par des virgules.
Écrit un document ou une note dans votre graphe tenant privé. L’entrée peut aussitôt servir à répondre via /v1/ask. Le c:node Graph lui-même reste inchangé.
Champs : title ou label, text ou content, en option source, ref (identifiant de la source ; une nouvelle ingestion avec la même ref remplace l’entrée) et scope (org, team:<id> ou user:<id>, org par défaut).
Déplace une entrée au sein de votre tenant, par exemple d’une note personnelle vers la mémoire de l’organisation. Corps : {"scope": "org"}. 404 si rien n’est enregistré sous la ref.
Supprime tout ce que vous avez ingéré sous cette ref – texte, alias et embedding –, par exemple pour un effacement RGPD. Les appels répétés renvoient "deleted": 0. Le c:node Graph n’est pas touché.
Votre quota par minute et votre consommation sur une période (since/until, par ex. since=30d) : réponses fournies (answers), dont facturables (billable_answers), retrievals, lookups, ingests, la répartition par canal (by_channel, par ex. api, mcp:claude) et le factscore moyen. detail=true ajoute les entrées détaillées. Appelez-le avec votre clé – sans clé, vous ne voyez que la sandbox.
Termes, relations, domaines et part des termes fiables (verified_pct, ce qu’elle mesure) – pour le graphe que votre profil voit.
Les erreurs sont renvoyées en JSON avec un champ detail.
| Statut | Signification |
|---|---|
400 | Paramètre manquant, p. ex. /v1/legal sans ref, law, q ni cite. |
401 | Clé absente ou invalide pour un endpoint qui exige une clé contrat. |
403 | L’endpoint exige une clé tenant (Company Brain, constats, ingestion) – sans clé ou avec une clé sans tenant. |
404 | Référence ou acte juridique absent du graphe. |
422 | Paramètre invalide, p. ex. q trop court ou k hors plage. |
429 | Limite de débit atteinte. Attendez le nombre de secondes indiqué dans l’en-tête Retry-After. |
503 | Génération de réponses momentanément saturée. Réessayez après Retry-After. |
504 | Le run Brain a dépassé la limite de temps. |
Limite de débit : 120 appels par minute et par clé, pour chaque appel /v1 sauf /v1/health. Chaque réponse porte X-RateLimit-Limit et X-RateLimit-Remaining ; /v1/usage indique aussi où vous en êtes.
Facturation : l’unité est la réponse fiable – une réponse de /v1/ask, /v1/ask/stream ou /v1/retrieve qui s’appuie sur des sources vérifiées. Les réponses sans preuve, les consultations (/v1/legal, /v1/legal/norm, /v1/legal/search, /v1/leistung) et les ingestions sont comptées mais pas facturées comme réponses fiables. Les réponses fiables via la Contract API sont décomptées du quota mensuel de votre formule. Au-delà, chaque réponse fiable coûte 0,04 € HT, plafonnée dans l’offre Starter au coût du passage à Professional. Il n’y a pas de pause à 150 % ici ; la limite de débit s’applique.
Seuls un identifiant client pseudonyme, le chemin et le statut sont journalisés – aucun contenu.