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 id de document et 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 sourcecurl -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 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. Les propositions sont une fonction d’organisation.
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 Studio → MCP dans l’application — voir Intégrations et MCP. Elle s’authentifie avec la même clé API.