Documentation
Documentation / Reference API

Documents

Catalogue des textes officiels indexes par Bangré. Sert a hydrater les citations renvoyees par le chat ou a explorer le corpus.

Ces routes exigent un JWT (compte actif) dans le header Authorization: Bearer <token>, obtenu via POST /api/v1/auth/login. Seul le fichier PDF d'un document (/documents/{id}/file) reste accessible par lien direct, pour que les citations du chat s'ouvrent dans le navigateur.

Lister les documents

GET/api/v1/documents

Reponse paginee. Tri par date_promulgation decroissante.

Query params

domaine
stringoptional
Filtre sur le domaine metier (impots, douanes...).
doc_type
stringoptional
Filtre sur le type (loi, decret, arrete, circulaire, code).
statut
stringoptional
Filtre sur le statut (en_vigueur, abroge, modifie).
q
stringoptional
Recherche libre sur le titre (ILIKE).
page
intoptional
Defaut 1, >= 1.
page_size
intoptional
Defaut 20, max 100.

Exemples

curl -H "Authorization: Bearer $KNOWB_JWT" \
  "http://localhost:8000/api/v1/documents?domaine=impots&statut=en_vigueur&page=1&page_size=20"

Reponse

json
{
  "items": [
    {
      "id": "f3a0c1...",
      "title": "Loi n° 058/2017/AN portant Code general des impots",
      "doc_type": "loi",
      "domaine": "impots",
      "numero_officiel": "058/2017/AN",
      "date_promulgation": "2017-12-20",
      "date_entree_vigueur": "2018-01-01",
      "statut": "en_vigueur",
      "url_source": "https://...",
      "abroge_par": null,
      "chunks_count": 1248
    }
  ],
  "total": 47,
  "page": 1,
  "page_size": 20
}

Detail d'un document

GET/api/v1/documents/{id}
bash
curl -H "Authorization: Bearer $KNOWB_JWT" \
  http://localhost:8000/api/v1/documents/f3a0c1f4-2b9e-4b3a-8a3e-9b1c8f4e1d22

Retourne le meme schema LegalDocument que les items de la liste, ou 404 si l'identifiant est inconnu.

Forme LegalDocument

id
uuidrequired
Identifiant stable du document.
title
stringrequired
Titre officiel complet.
doc_type
enumrequired
Type de texte : loi, decret, arrete, circulaire, code, constitution.
domaine
enumrequired
impots, douanes, travail, civil, penal, foncier, etc.
numero_officiel
stringrequired
Numero du Journal Officiel, ex. 058/2017/AN.
date_promulgation
daterequired
Date de promulgation (ISO 8601).
date_entree_vigueur
daterequired
Date d'entree en vigueur (ISO 8601).
statut
enumrequired
en_vigueur, abroge, modifie.
url_source
stringrequired
URL du PDF Journal Officiel.
abroge_par
uuid | nulloptional
Document qui abroge celui-ci, si applicable.
chunks_count
intrequired
Nombre de chunks indexes dans Milvus.