API — Recettes
Ces exemples supposent que vous avez défini BQP_BASE et BQP_KEY depuis le
Démarrage rapide. Chaque appel envoie Authorization: Bearer $BQP_KEY.
Importer un document et discuter dessus
# 1. créer une source de données → renvoie son idcurl -s "$BQP_BASE/v1/datasources" \ -H "Authorization: Bearer $BQP_KEY" -H "Content-Type: application/json" \ -d '{"name":"Politiques"}'# → { "id": "DS_ID", ... }
# 2. importer un PDF (multipart) → 202 Accepted avec un document + un id de tâchecurl -s "$BQP_BASE/v1/datasources/DS_ID/documents" \ -H "Authorization: Bearer $BQP_KEY" \ -F "file=@manuel.pdf"# → { "document_id": "DOC_ID", "job_id": "JOB_ID" }
# 3. interroger jusqu'à la fin du traitement (statut : parsing → embedding → tagging → "ready")curl -s "$BQP_BASE/v1/documents/DOC_ID" -H "Authorization: Bearer $BQP_KEY"# → { ..., "status": "ready" } # "failed" = échec du traitement (voir le champ "error")
# 4. poser une question fondée, limitée à la source de donnéescurl -s "$BQP_BASE/v1/chat" \ -H "Authorization: Bearer $BQP_KEY" -H "Content-Type: application/json" \ -d '{"message":"Quelle est notre politique de remboursement ?","datasource_ids":["DS_ID"]}'# → { "session_id": "...", "answer": "...", "trace": [ ...preuves... ], "model": "..." }trace contient les appels d’outils et les passages derrière la réponse — les preuves. Passez la
session_id renvoyée à l’appel suivant pour poursuivre la même conversation.
Exécuter une proposition encadrée
# choisir un conseiller auquel des sources de données sont rattachéescurl -s "$BQP_BASE/v1/personas" -H "Authorization: Bearer $BQP_KEY"
# 1. demander une recommandation (le conseiller la rédige)curl -s "$BQP_BASE/v1/proposals" \ -H "Authorization: Bearer $BQP_KEY" -H "Content-Type: application/json" \ -d '{"persona_id":"PERSONA_ID","situation":"Devrions-nous augmenter les prix de 10 % le trimestre prochain ?"}'# → { "id": "PROP_ID", "status": "proposed", "recommendation": "...", "evidence": [...] }
# 2a. un validateur l'approuve…curl -s "$BQP_BASE/v1/proposals/PROP_ID/verdict" \ -H "Authorization: Bearer $BQP_KEY" -H "Content-Type: application/json" \ -d '{"verdict":"approved","reason":"Conforme à la stratégie"}'
# 2b. … ou demande au conseiller de l'affiner (régénère, reste "proposed")curl -s "$BQP_BASE/v1/proposals/PROP_ID/regenerate" \ -H "Authorization: Bearer $BQP_KEY" -H "Content-Type: application/json" \ -d '{"suggestions":"Sois plus prudent sur l attrition ; commence par une recommandation go/no-go claire."}'verdict vaut approved ou rejected, et une décision est définitive. Décider exige un validateur ou un
admin ; demander, non. C’est une fonction d’organisation (l’application présente ce flux comme
faisant partie de Décisions).
Connecter un client IA externe (MCP)
Pour que Claude Desktop, Cursor ou un autre client MCP interroge vos connaissances directement, utilisez la configuration client prête à l’emploi sous Connexions dans l’application — voir Connexions. Elle s’authentifie avec la même API key.