Documentation / Reference API
Conversations
Historique des conversations persistees pour les utilisateurs authentifies. L'ownership est verifie via le sub du JWT (l'email).
Authentifie
Toutes les routes de cette section exigent un JWT bearer valide. Sans token, 401.
Lister
GET/api/v1/conversations
Pagination par curseur. Query params optionnels : before (ISO datetime, exclusif) et limit (1..200, defaut 50).
bash
curl http://localhost:8000/api/v1/conversations?limit=20 \
-H "Authorization: Bearer $BANGRE_JWT"Detail
GET/api/v1/conversations/{id}
Retourne la conversation + la liste complete de ses messages, ordres chronologiquement.
json
{
"conversation": {
"id": "5c2a...",
"title": "Taux de TVA en vigueur",
"domaine": "impots",
"model": "llama3.2:3b",
"message_count": 4,
"last_message_at": "2026-06-08T10:32:00Z",
"created_at": "2026-06-08T10:30:12Z"
},
"messages": [
{ "id": "...", "role": "user", "content": "...", "citations": [], "created_at": "..." },
{ "id": "...", "role": "assistant", "content": "...", "citations": [...], "validation": {"ok": true, "warning": null}, "latency_ms": 842, "model": "llama3.2:3b", "created_at": "..." }
]
}Renommer
PATCH/api/v1/conversations/{id}
bash
curl -X PATCH http://localhost:8000/api/v1/conversations/5c2a... \
-H "Authorization: Bearer $BANGRE_JWT" \
-H "Content-Type: application/json" \
-d '{ "title": "Mes questions TVA" }'Supprimer
DELETE/api/v1/conversations/{id}
Retourne 204 No Content en cas de succes, 404 si la conversation n'existe pas ou n'appartient pas a l'utilisateur.
Shapes
Conversation
iduuidrequired
Identifiant de la conversation.
titlestringrequired
Titre auto (premier message tronque), modifiable via PATCH.
domainestring | nulloptional
Domaine de la conversation, capture au premier message.
modelstring | nulloptional
Modele LLM utilise au premier message.
message_countintrequired
Nombre total de messages (user + assistant).
last_message_atdatetimerequired
Timestamp ISO du dernier message.
created_atdatetimerequired
Date de creation ISO.
Message
iduuidrequired
Identifiant du message.
roleenumrequired
user ou assistant.contentstringrequired
Texte complet du message.
citationsCitation[]optional
Citations attachees au message assistant (vide cote user).
validationobject | nulloptional
Objet
{ ok: bool, warning: string|null }.latency_msint | nulloptional
Latence cote serveur pour la generation assistant.
modelstring | nulloptional
Modele LLM ayant produit le message.
created_atdatetimerequired
Date de creation ISO.