Documentation / Ressources
Erreurs et statuts
Reference des codes HTTP retournes par l'API, du format JSON des erreurs et des rate limits actuellement en place.
Codes HTTP
| Code | Sens | Cas typique |
|---|---|---|
| 200 | OK | Reponse normale (lectures, chat termine, etc.). |
| 201 | Created | Creation reussie (business inquiry). |
| 204 | No Content | Suppression reussie (conversation deleted). |
| 400 | Bad Request | Validation metier explicite (ex. ISO datetime invalide). |
| 401 | Unauthorized | JWT absent, mal forme, signature invalide, expire. |
| 403 | Forbidden | Role JWT insuffisant pour cette route. |
| 404 | Not Found | Ressource inexistante ou non possedee par l'utilisateur. |
| 409 | Conflict | Conflit metier (ex. doublon document). |
| 422 | Unprocessable Entity | Validation pydantic (champs manquants, type incorrect). |
| 429 | Too Many Requests | Quota IP depasse (cf. rate limits). |
| 500 | Internal Server Error | Bug serveur, voir logs FastAPI. |
Format des erreurs
Pour les erreurs metier classiques (4xx / 5xx hors validation), FastAPI repond avec { "detail": "message" }.
json
{ "detail": "conversation introuvable" }Pour les erreurs de validation pydantic (statut 422), detail est un tableau structure avec localisation et type :
json
{
"detail": [
{
"type": "missing",
"loc": ["body", "message"],
"msg": "Field required"
}
]
}Rate limits
| Endpoint | Limite |
|---|---|
| POST /api/v1/business/inquiry | 5 par heure et par IP |
| POST /api/v1/chat-rag/stream | Aucun en MVP, monitore via audit log |
| Routes admin | Aucune limite cote API, controle par role |