Lire un article
GET /public/legal/doc/{id}
Renvoie le contenu d'un article du corpus à partir de son identifiant stable,
tel que renvoyé par /search (results[].id) ou par
/ask (citations[].id). Aucune génération de
texte.
Authentification : aucune. Portée : Bénin (BJ) uniquement.
Requête
L'identifiant contient des espaces et un deux-points : encodez-le dans l'URL.
curl "https://api.paienova.com/ai-platform-service/api/v1/public/legal/doc/CGI%3AArt.%20241%20CGI?country_iso=BJ"
| Paramètre | Emplacement | Obligatoire | Description |
|---|---|---|---|
id | chemin | oui | Identifiant <document_type>:<article_code>@<version> tel que renvoyé par /ask ou /search, encodé. Sans suffixe @<version>, la version servie par défaut est renvoyée (aujourd'hui le texte officiel pour CGI:Art. 241 CGI). |
country_iso | requête | non (BJ) | Code pays ISO à 2 lettres. |
Réponse
Réponse réelle à la requête ci-dessus (HTTP 200, serveur de développement, 24/09/2026). C'est le texte officiel de l'article (source_type: "officiel") :
{
"success": true,
"data": {
"id": "CGI:Art. 241 CGI@73939cf4",
"title": "Art. 241 CGI (Code General des Impots BJ 2026)",
"text": "Article 241 : Le taux de la taxe sur la valeur ajoutée est fixé à 18%.",
"url": null,
"metadata": {
"document_type": "CGI",
"article_code": "Art. 241 CGI",
"country_iso": "BJ",
"page": 116,
"source_type": "officiel",
"legal_status": "in_force",
"effective_date": "2026-01-01",
"superseded_by": null,
"source_law_ref": null,
"corpus_version": "73939cf4-c6f3-40aa-9f40-8554c70e457f"
},
"disclaimer": "⚠️ Information juridique générale fournie à titre informatif, sur la base du corpus légal indexé (...). Elle ne constitue pas un conseil juridique, fiscal ou comptable personnalisé. (...)"
},
"error": null
}
Champ de data | Description |
|---|---|
id | L'identifiant de la version renvoyée, avec son suffixe @<version>. |
title | Titre de l'article. |
text | Le contenu indexé de l'article. |
url | Lien vers la source officielle quand il existe, souvent null. |
metadata | Informations sur la source, à titre indicatif (voir ci-dessous). |
disclaimer | Rappel juridique, toujours présent. |
Les clés de metadata décrivent la source (type de document, statut
juridique, version du corpus, texte de loi d'origine). Elles évoluent avec le
travail sur la version en vigueur des textes : ne construisez pas de logique
qui dépend d'une clé précise. source_type distingue le texte officiel
(officiel) d'une synthèse attestée par l'équipe PaieNova
(synthese_attestee) : l'exemple ci-dessus est le texte officiel.
Erreurs
| HTTP | error.code | Cause |
|---|---|---|
| 400 | PUBLIC_LEGAL_DOC_ID_INVALID | Identifiant sans le séparateur : (format attendu <document_type>:<article_code>). |
| 400 | PUBLIC_LEGAL_INVALID_COUNTRY | country_iso mal formé. |
| 404 | Aucun article ne correspond à cet identifiant. | |
| 429 | PUBLIC_LEGAL_RATE_LIMITED | Limite d'usage atteinte. Attendez la durée de l'en-tête Retry-After. |
Exemple réel d'erreur 429 :
{
"success": false,
"data": null,
"error": {
"code": "PUBLIC_LEGAL_RATE_LIMITED",
"message_fr": "Trop de requêtes. Réessayez dans 60s.",
"details": { "retry_after": 60 }
}
}
details.retry_after et l'en-tête Retry-After donnent le délai d'attente
en secondes ; il varie selon la fenêtre de limite atteinte.