Skip to content

Référence API ​

L'API publique Humind vous permet de pousser votre catalogue dans Humind depuis n'importe quelle stack. Authentification par clé API unique par environnement, JSON sur HTTPS, JSON en retour. Aucun SDK à installer, pas de Shopify requis. Des webhooks optionnels pushent les notifications jusqu'à vous au lieu de poller.

C'est la voie d'intégration si vous n'êtes pas sur Shopify. Si vous y êtes, installez plutôt l'app Humind sur le Shopify App Store : tout se synchronise automatiquement et vous pouvez ignorer cette section.

Ce que vous pouvez faire ​

  • Products : créer, mettre à jour, lister, archiver vos produits et leurs variants. Voir Products.
  • Groupes de produits : relier les produits d'une même famille grâce à des axes d'options stables. Voir Groupes de produits.
  • Collections : regrouper des produits en collections pour que l'assistant affine ses recommandations. Voir Collections.
  • Knowledge : pousser FAQ, guides de tailles, politiques de retour et autre contenu free-form sur lequel l'assistant peut s'appuyer. Voir Knowledge.
  • Translations : patcher titres, descriptions et handles par langue, une locale à la fois, comme sub-resource sur les produits, collections et entrées knowledge. Voir Products / Translations, Collections / Translations, Knowledge / Translations.
  • Variants : gérer un seul variant produit sans renvoyer le produit complet. Voir Products / Variants.
  • Imports : uploads NDJSON bulk pour le sync initial de gros catalogues. Voir Imports.
  • Webhooks : s'abonner aux events imports (import.completed, import.failed). Voir Webhooks.
  • Conversations : exporter les transcriptions de conversations, les tags et les événements d'interaction (ajout au panier, clics) pour l'analytics ou votre data warehouse. Voir Conversations.
  • Settings : lire et mettre à jour les settings marchand de votre boutique (widget, comportement IA, modération, et plus). Voir Settings.
  • Analytics : récupérer les KPIs et les top questions groupées, les mêmes chiffres que votre dashboard. Voir Analytics.
  • Serveur MCP : connecter Claude ou tout agent IA compatible MCP directement à votre boutique. Voir Serveur MCP.

Base URL ​

https://api.thehumind.com/public/v1

Tous les endpoints sont versionnés sous /public/v1. Les breaking changes sortent sous un nouveau préfixe (/public/v2) et la version précédente reste vivante pendant la fenêtre de migration. Voir Versioning.

Quick start ​

Vous avez déjà une clé ? Poussez votre premier produit :

bash
curl -X POST https://api.thehumind.com/public/v1/products \
  -H "Authorization: Bearer hmd_live_REPLACE_WITH_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "SKU-123",
    "title": "Crème hydratante",
    "handle": "creme-hydratante",
    "status": "active",
    "default_language": "fr",
    "variants": [
      { "external_id": "SKU-123-50ML", "title": "50 ml", "price": 29.90, "currency": "EUR" }
    ]
  }'

Vous récupérez 201 Created pour les nouveaux produits, 200 OK quand vous mettez à jour un existant (matché par external_id). La réponse contient l'objet produit complet, incluant le humind_id qu'Humind a assigné.

Sandbox : utilisez une clé API hmd_test_* depuis votre dashboard pour développer sur des données de test sans toucher à votre catalogue live. Voir Authentication.

Pas encore de clé ? Voir Authentication pour en générer une depuis votre dashboard.

Spécification OpenAPI ​

La spec complète machine-readable est téléchargeable ici :

Importez-la dans Postman, Insomnia, Bruno ou n'importe quel client OpenAPI 3.0 pour obtenir une collection pré-construite de tous les endpoints avec exemples de payloads.

Vue d'ensemble des routes ​

Tous les paths sont relatifs à https://api.thehumind.com/public/v1. Chaque requête d'écriture nécessite un header Idempotency-Key. Voir les pages par ressource pour les schémas complets, les exemples et les tables d'erreurs.

RessourceMéthodePathScopeRôle
ProductsPOST/productscatalog:writeCréer ou upserter un produit
ProductsPOST/products/batchcatalog:writeUpserter jusqu'à 500 produits
ProductsGET/productscatalog:readLister les produits
ProductsGET/products/{id}catalog:readRécupérer un produit
ProductsPUT/products/{id}catalog:writeRemplacer un produit
ProductsPATCH/products/{id}catalog:writeMettre à jour partiellement un produit
ProductsDELETE/products/{id}catalog:writeArchiver ou hard-delete un produit
ProductsPUT/products/{id}/variants/{external_id}catalog:writeUpserter un variant
ProductsDELETE/products/{id}/variants/{external_id}catalog:writeSupprimer un variant
ProductsPUT/products/{id}/translations/{lang}catalog:writeUpserter une traduction
ProductsDELETE/products/{id}/translations/{lang}catalog:writeSupprimer une traduction
Groupes de produitsPOST/product-groupscatalog:writeCréer ou upserter un groupe de produits
Groupes de produitsPOST/product-groups/batchcatalog:writeUpserter jusqu'à 500 groupes
Groupes de produitsGET/product-groupscatalog:readLister les groupes
Groupes de produitsGET/product-groups/{id}catalog:readRécupérer un groupe
Groupes de produitsPUT/product-groups/{id}catalog:writeRemplacer un groupe
Groupes de produitsPATCH/product-groups/{id}catalog:writeMettre à jour partiellement un groupe
Groupes de produitsDELETE/product-groups/{id}catalog:writeSupprimer un groupe et ses appartenances
CollectionsPOST/collectionscatalog:writeCréer ou upserter une collection
CollectionsPOST/collections/batchcatalog:writeUpserter jusqu'à 500 collections
CollectionsGET/collectionscatalog:readLister les collections
CollectionsGET/collections/{id}catalog:readRécupérer une collection
CollectionsPUT/collections/{id}catalog:writeRemplacer une collection
CollectionsPATCH/collections/{id}catalog:writeMettre à jour partiellement une collection
CollectionsDELETE/collections/{id}catalog:writeArchiver ou hard-delete une collection
CollectionsPUT/collections/{id}/translations/{lang}catalog:writeUpserter une traduction
CollectionsDELETE/collections/{id}/translations/{lang}catalog:writeSupprimer une traduction
KnowledgePOST/knowledgeknowledge:writeCréer ou upserter une entrée knowledge
KnowledgePOST/knowledge/batchknowledge:writeUpserter jusqu'à 500 entrées
KnowledgeGET/knowledgeknowledge:readLister les entrées knowledge
KnowledgeGET/knowledge/{id}knowledge:readRécupérer une entrée
KnowledgePUT/knowledge/{id}knowledge:writeRemplacer une entrée
KnowledgePATCH/knowledge/{id}knowledge:writeMettre à jour partiellement une entrée
KnowledgeDELETE/knowledge/{id}knowledge:writeArchiver ou hard-delete une entrée
KnowledgePUT/knowledge/{id}/translations/{lang}knowledge:writeUpserter une traduction
KnowledgeDELETE/knowledge/{id}/translations/{lang}knowledge:writeSupprimer une traduction
KnowledgePOST/knowledge/{id}/file-upload-urlknowledge:writeGénérer une URL SAS pour upload
KnowledgePOST/knowledge/{id}/file-upload-completedknowledge:writeFinaliser l'upload d'un fichier
ImportsPOST/importsimports:writeCréer un import + récupérer l'URL d'upload
ImportsGET/imports/{sync_id}imports:writePoller le status d'un import
ImportsPOST/imports/{sync_id}/startimports:writeDémarrer le traitement d'un import uploadé
ImportsPOST/imports/{sync_id}/cancelimports:writeAnnuler un import pending ou en cours
WebhooksPOST/webhooks/endpointswebhooks:manageEnregistrer un endpoint
WebhooksGET/webhooks/endpointswebhooks:manageLister les endpoints
WebhooksGET/webhooks/endpoints/{id}webhooks:manageRécupérer un endpoint
WebhooksPATCH/webhooks/endpoints/{id}webhooks:manageMettre à jour un endpoint
WebhooksDELETE/webhooks/endpoints/{id}webhooks:manageSupprimer un endpoint
WebhooksPOST/webhooks/endpoints/{id}/rotate-secretwebhooks:manageFaire tourner le secret de signature
WebhooksGET/webhooks/deliverieswebhooks:manageLister les deliveries récentes
WebhooksGET/webhooks/deliveries/{id}webhooks:manageInspecter une delivery
ConversationsGET/conversationsconversations:readLister les conversations
ConversationsGET/conversations/{id}conversations:readRécupérer une conversation
SettingsGET/settingssettings:readLire tous les settings
SettingsGET/settings/schemasettings:readLire le schéma des settings
SettingsPATCH/settingssettings:writeMettre à jour un ou plusieurs settings
AnalyticsGET/analytics/kpisanalytics:readRécupérer les KPIs
AnalyticsGET/analytics/top-questionsanalytics:readRécupérer les top questions groupées

SDKs ​

Aucun aujourd'hui. L'API est conçue pour être suffisamment plate pour que n'importe quel client HTTP fonctionne :

  • cURL pour les one-shots et scripts shell
  • fetch dans Node, navigateurs, Deno, Bun
  • requests en Python
  • http.Client en Go
  • N'importe quel autre client JSON-over-HTTPS

Si vous aimeriez un SDK typé dans votre langage préféré, contactez le support. Dites-nous quel langage compte le plus pour vous.

Statut & changelog ​

Pour aller plus loin ​

  • Authentication : générer, utiliser et faire tourner les clés.
  • Conventions : format des requêtes, identifiants, idempotency, versioning.
  • Errors : format d'erreur, codes HTTP, codes d'erreur Humind.
  • Rate limits : limites par clé actuelles, la réponse 429, backoff.
  • Products : pousser votre catalogue.
  • Groupes de produits : relier les alternatives d'une même famille produit.
  • Collections : grouper les produits pour des recommandations plus fines.
  • Knowledge : pousser le contenu sur lequel l'assistant ancre ses réponses.
  • Imports : ingestion NDJSON async pour gros catalogues.
  • Webhooks : recevez des deliveries signées d'events au lieu de poller.
  • Conversations : exportez les transcriptions de conversations et les événements d'interaction.
  • Settings : lisez et mettez à jour la configuration de votre boutique.
  • Analytics : récupérez les KPIs et les top questions groupées.
  • Serveur MCP : connectez un agent IA directement à votre boutique.

Released under the proprietary Humind license.