API Knowledge
Ajoutez des connaissances à vos minds via des fichiers, des mots-clés ou des liens.
Ajoutez des connaissances à vos minds via trois méthodes : Fichier, Mot-clé ou Lien. Les connaissances sont traitées, embarquées et récupérées automatiquement pendant les conversations.
Remarque : Les opérations de liste, d'ajout et de suppression sont disponibles via l'API v1. L'enrichissement de connaissances via recherche par mots-clés est également pris en charge via le même endpoint d'ajout.
Lister les éléments de connaissance
Récupère tous les éléments de connaissance d'un mind.
Endpoint : GET /api/v1/sparks/{sparkId}/knowledge
En-têtes :
Authorization: Bearer minds_your_api_key
Exemple :
curl -X GET "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge" \
-H "Authorization: Bearer minds_your_api_key"
Réponse :
{
"success": true,
"data": {
"items": [
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"description": "Company Employee Handbook 2025",
"link": null,
"filePath": "portfolio/user-id/1234567890_handbook.pdf",
"isWatched": false,
"createdAt": "2025-12-10T12:00:00.000Z",
"updatedAt": "2025-12-10T12:00:00.000Z"
}
],
"total": 1
}
}
| Champ | Type | Description |
|---|---|---|
data.items | array | Tableau d'objets éléments de connaissance |
data.total | number | Nombre total d'éléments de connaissance pour ce mind |
Téléversement de fichiers
Téléversez des documents ou des images directement vers un mind.
Endpoint : POST /api/v1/sparks/{sparkId}/knowledge
Content-Type : multipart/form-data
| Champ | Type | Requis | Description |
|---|---|---|---|
file | file | Oui | Fichier à téléverser (max 50 Mo) |
description | string | Oui | Description du contenu |
Formats pris en charge :
- Documents : PDF, DOCX, DOC, TXT, MD, RTF, CSV, JSON, XML
- Images : JPG, JPEG, PNG, GIF, WEBP
Exemple :
curl -X POST "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge" \
-H "Authorization: Bearer minds_your_api_key" \
-F "file=@./handbook.pdf" \
-F "description=Company Employee Handbook 2025"
Réponse : 201 Created
{
"success": true,
"data": {
"id": "660e8400-e29b-41d4-a716-446655440001",
"description": "Company Employee Handbook 2025",
"filePath": "portfolio/user-id/1234567890_handbook.pdf",
"createdAt": "2025-12-10T12:00:00.000Z"
}
}
Recherche par mots-clés
Ajoutez des connaissances en recherchant des mots-clés sur le web. Interroge Exa et YouTube, extrait le contenu et l'ajoute à la base de connaissances du mind.
Endpoint : POST /api/v1/sparks/{sparkId}/knowledge
Content-Type : application/json
Envoyez un corps JSON avec un tableau keywords (au lieu de link/file) pour déclencher l'enrichissement par recherche web.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
keywords | string | Oui | Mots-clés à rechercher (max 35) |
regeneratePrompt | boolean | Non | Régénère le system prompt après (par défaut : true) |
Exemple :
curl -X POST "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{"keywords": ["solar panel efficiency", "photovoltaic trends"]}'
Réponse : 202 Accepted
{
"success": true,
"data": {
"sparkId": "660e8400-e29b-41d4-a716-446655440000",
"keywords": ["solar panel efficiency", "photovoltaic trends"],
"queued": true,
"regeneratePrompt": true,
"message": "Knowledge enrichment queued with 2 keyword(s)."
}
}
Remarque : Opération asynchrone. Le traitement s'exécute en arrière-plan et peut prendre plusieurs minutes.
Lien
Ajoutez des connaissances depuis une URL. Prend en charge les pages web, les vidéos YouTube et les articles de recherche.
Endpoint : POST /api/v1/sparks/{sparkId}/knowledge
Content-Type : application/json
| Paramètre | Type | Requis | Description |
|---|---|---|---|
link | string | Oui | URL vers le contenu web |
description | string | Oui | Description du contenu |
Exemple :
curl -X POST "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{"link": "https://example.com/article", "description": "Industry trends article"}'
Réponse : 201 Created
{
"success": true,
"data": {
"id": "660e8400-e29b-41d4-a716-446655440001",
"link": "https://example.com/article",
"description": "Industry trends article",
"createdAt": "2025-12-10T12:00:00.000Z"
}
}
Types de liens pris en charge :
- Pages web (contenu extrait via scraping)
- Vidéos YouTube (transcriptions extraites automatiquement)
- Articles de recherche (arxiv, etc.)
Watch (mise à jour automatique)
Les éléments de connaissance de type lien peuvent être « watched » pour vérifier automatiquement les mises à jour de contenu sur un cycle hebdomadaire. Lorsque des changements sont détectés, les connaissances sont retraitées et re-embarquées.
Le Watch est géré via l'interface produit. Le statut Watch est visible lorsque vous listez les éléments de connaissance via l'API (champ isWatched).
Remarque : Le Watch n'est disponible que pour les connaissances de type lien, pas pour les fichiers ni les recherches par mots-clés.
Mettre à jour un élément de connaissance
Met à jour la description d'un élément de connaissance existant.
Endpoint : PUT /api/v1/sparks/{sparkId}/knowledge/{itemId}
En-têtes :
Authorization: Bearer minds_your_api_key
Content-Type: application/json
Corps de la requête :
{
"description": "Updated description for this knowledge item"
}
| Paramètre | Type | Requis | Description |
|---|---|---|---|
description | string | Oui | Description mise à jour (ne doit pas être vide) |
Exemple :
curl -X PUT "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge/{itemId}" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{"description": "Updated handbook description"}'
Réponse :
{
"success": true,
"data": {
"id": "660e8400-e29b-41d4-a716-446655440001",
"description": "Updated handbook description",
"link": null,
"filePath": "portfolio/user-id/1234567890_handbook.pdf",
"isWatched": false,
"createdAt": "2025-12-10T12:00:00.000Z",
"updatedAt": "2025-12-15T08:30:00.000Z"
}
}
Réponses d'erreur
400 Bad Request — Aucun champ valide à mettre à jour ou description vide
401 Unauthorized — Clé API invalide ou manquante
404 Not Found — Élément de connaissance ou mind non trouvé
Enrichir via des mots-clés (convenance)
Alias pratique pour l'enrichissement de connaissances par mots-clés.
Endpoint : POST /api/v1/sparks/{sparkId}/knowledge/enrich
Équivaut à POST /api/v1/sparks/{sparkId}/knowledge avec un corps keywords. Voir Recherche par mots-clés pour tous les détails.
Exemple :
curl -X POST "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge/enrich" \
-H "Authorization: Bearer minds_your_api_key" \
-H "Content-Type: application/json" \
-d '{"keywords": ["solar panel efficiency", "photovoltaic trends"]}'
Supprimer un élément de connaissance
Supprime définitivement un élément de connaissance et toutes les données associées (embeddings, patterns, fichiers).
Endpoint : DELETE /api/v1/sparks/{sparkId}/knowledge/{itemId}
En-têtes :
Authorization: Bearer minds_your_api_key
Exemple :
curl -X DELETE "https://getminds.ai/api/v1/sparks/{sparkId}/knowledge/{itemId}" \
-H "Authorization: Bearer minds_your_api_key"
Réponse : 204 No Content (corps vide en cas de succès)
Ce qui est supprimé
- L'enregistrement de l'élément de connaissance
- Tous les embeddings vectoriels associés
- Tous les patterns associés
- Le fichier téléversé depuis le stockage (si basé sur un fichier)
Avertissement : Cette action est irréversible.
Fonctionnement du traitement
- Upload — Le contenu est stocké et l'API renvoie un succès
- Extraction — Un traitement en arrière-plan extrait le texte (scraping, transcriptions, OCR, vision)
- Embedding — Le contenu est converti en embeddings vectoriels
- Retrieval — Pendant le chat, les connaissances pertinentes sont récupérées automatiquement par recherche sémantique
Erreurs
| Code | Message | Cause |
|---|---|---|
| 400 | Link and description are required | Champs requis manquants |
| 400 | Keywords array is required | Mots-clés vides ou manquants |
| 400 | File too large | Le fichier dépasse la limite de 50 Mo |
| 400 | Can only watch link-based knowledge | Tentative de watch sur un fichier |
| 404 | Spark not found or access denied | ID de spark invalide ou pas d'accès |
| 415 | Unsupported Content-Type | En-tête Content-Type incorrect |