API développeur
Une API HTTP permet d'intégrer WivenLLM à vos applications : alimenter des espaces, poser des questions, gérer les utilisateurs, exploiter les conversations.
Disponible en déploiement serveur ou hébergé.
Authentification
Créez une clé dans Réglages → Clés d'API. Elle n'est affichée qu'à la
création.
Chaque requête porte la clé dans l'en-tête Authorization :
curl https://votre-instance/api/v1/workspaces \
-H "Authorization: Bearer VOTRE_CLE_API"
Une clé donne un accès complet à l'API. Créez-en une par intégration, révoquez ce qui ne sert plus, et ne les publiez jamais dans du code partagé. Créations et suppressions de clés sont journalisées.
Documentation interactive
Une documentation d'API interactive est servie par l'instance elle-même. Elle liste tous les points d'entrée avec leurs paramètres et permet de les essayer. C'est la référence à jour de votre version.
Elle peut être désactivée en production par configuration.
Principaux points d'entrée
Toutes les adresses sont relatives à /api.
Espaces de travail
| Méthode | Chemin | Rôle |
|---|---|---|
GET |
/v1/workspaces |
Lister les espaces |
POST |
/v1/workspace/new |
Créer un espace |
GET |
/v1/workspace/{slug} |
Détail d'un espace |
POST |
/v1/workspace/{slug}/update |
Modifier ses réglages |
POST |
/v1/workspace/{slug}/update-embeddings |
Ajouter ou retirer des documents |
POST |
/v1/workspace/{slug}/update-pin |
Épingler ou désépingler un document |
DELETE |
/v1/workspace/{slug} |
Supprimer un espace |
Conversation
| Méthode | Chemin | Rôle |
|---|---|---|
POST |
/v1/workspace/{slug}/chat |
Poser une question, réponse complète |
POST |
/v1/workspace/{slug}/stream-chat |
Idem, réponse en flux continu |
GET |
/v1/workspace/{slug}/chats |
Historique de l'espace |
POST |
/v1/workspace/{slug}/vector-search |
Recherche documentaire seule, sans génération |
Exemple :
curl -X POST https://votre-instance/api/v1/workspace/dossier-dupont/chat \
-H "Authorization: Bearer VOTRE_CLE_API" \
-H "Content-Type: application/json" \
-d '{
"message": "Quel est le délai de résiliation du bail ?",
"mode": "query"
}'
La réponse contient le texte généré et les sources utilisées.
vector-search est utile lorsque vous voulez seulement retrouver les passages
pertinents et les traiter vous-même, sans passer par un modèle.
Fils de discussion
| Méthode | Chemin | Rôle |
|---|---|---|
POST |
/v1/workspace/{slug}/thread/new |
Créer un fil |
POST |
/v1/workspace/{slug}/thread/{threadSlug}/chat |
Écrire dans un fil |
POST |
/v1/workspace/{slug}/thread/{threadSlug}/stream-chat |
Idem, en flux continu |
GET |
/v1/workspace/{slug}/thread/{threadSlug}/chats |
Historique du fil |
DELETE |
/v1/workspace/{slug}/thread/{threadSlug} |
Supprimer le fil |
Les fils permettent de maintenir plusieurs conversations indépendantes pour des utilisateurs finaux différents au sein d'un même espace.
Documents
| Méthode | Chemin | Rôle |
|---|---|---|
POST |
/v1/document/upload |
Téléverser un fichier |
POST |
/v1/document/upload-link |
Importer une URL |
POST |
/v1/document/raw-text |
Injecter du texte brut |
GET |
/v1/documents |
Lister les documents |
GET |
/v1/document/accepted-file-types |
Formats acceptés |
POST |
/v1/document/create-folder |
Créer un dossier |
POST |
/v1/document/move-files |
Déplacer des documents |
Rappel : téléverser ne rend pas un document interrogeable. Il faut ensuite l'ajouter à un espace via
update-embeddings.
Administration
| Méthode | Chemin | Rôle |
|---|---|---|
GET |
/v1/admin/users |
Lister les utilisateurs |
POST |
/v1/admin/users/new |
Créer un utilisateur |
POST |
/v1/admin/invite/new |
Créer une invitation |
GET |
/v1/admin/workspace-chats |
Conversations de l'instance |
POST |
/v1/admin/workspaces/{id}/update-users |
Gérer les membres d'un espace |
Widgets
Création, consultation et suivi des widgets et de leurs conversations.
Système
Informations sur l'instance, nombre de vecteurs, export des conversations.
Compatibilité OpenAI
Un jeu de points d'entrée reproduit l'interface du standard OpenAI :
POST /v1/openai/chat/completionsPOST /v1/openai/embeddingsGET /v1/openai/models
L'intérêt : une application déjà écrite pour ce standard fonctionne avec WivenLLM en changeant l'adresse de base et la clé. Le nom du modèle correspond à l'espace de travail à interroger, ce qui permet de bénéficier de son contexte documentaire.
C'est le chemin le plus court pour brancher un outil existant sur votre base documentaire privée.
Bonnes pratiques d'intégration
Un espace par usage. Isolez les espaces exposés à une application des espaces utilisés par vos collaborateurs.
Un fil par utilisateur final. Si votre application sert plusieurs personnes, créez un fil par personne : les contextes ne se mélangent pas.
Traitez le mode. Le paramètre mode (chat ou query) est décisif pour une
intégration : query évite les réponses inventées quand la base ne contient pas
l'information.
Gérez les erreurs et la latence. Une réponse peut prendre plusieurs secondes, davantage avec un agent. Prévoyez des délais d'attente adaptés et un traitement des échecs du fournisseur de modèle.
Utilisez le flux continu pour toute interface où un humain attend : la réponse s'affiche à mesure, l'attente perçue est bien moindre.
Exploitez les sources. Les réponses renvoient les extraits utilisés : affichez-les, c'est ce qui rend l'intégration vérifiable.
