L'API publique PaieNova
L'API publique donne accès, par HTTP, à l'assistant juridique PaieNova : la même source que l'assistant en ligne et que le serveur MCP.
Ce qui est disponible aujourd'hui
| Endpoint | Rôle | Authentification |
|---|---|---|
POST /public/legal/ask | Poser une question juridique, recevoir une réponse avec les articles cités | Aucune |
POST /public/legal/search | Rechercher les articles pertinents, sans génération de texte | Aucune |
GET /public/legal/doc/{id} | Lire le contenu d'un article à partir de son identifiant | Aucune |
Les endpoints publics ne demandent ni compte ni jeton. Les futurs endpoints authentifiés sont en préparation : voir Authentification.
Si vous voulez interroger PaieNova depuis Claude, ChatGPT ou Cursor, vous n'avez pas besoin d'appeler l'API : branchez le serveur MCP, qui s'appuie sur ces mêmes endpoints.
URL de base
https://api.paienova.com/ai-platform-service/api/v1
Tous les chemins de cette section sont relatifs à cette URL de base.
Format des requêtes et des réponses
- Requêtes et réponses en JSON, encodage UTF-8.
- Textes en français.
- Chaque réponse suit la même enveloppe :
{
"success": true,
"data": { },
"error": null
}
En cas d'erreur, success vaut false, data vaut null et error décrit
le problème :
{
"success": false,
"data": null,
"error": {
"code": "PUBLIC_LEGAL_QUESTION_TOO_SHORT",
"message_fr": "Question trop courte (min 3 caractères).",
"details": {}
}
}
code est stable et fait pour vos programmes ; message_fr est fait pour
être affiché.
Une requête dont le JSON ne respecte pas le schéma (champ inconnu, type
incorrect, champ obligatoire absent) est rejetée avant le traitement, avec
le code HTTP 422 et une forme différente, sans le champ success :
{
"error": "validation_error",
"message": "Request validation failed",
"details": [
{
"type": "extra_forbidden",
"loc": ["body", "tenant_id"],
"msg": "Extra inputs are not permitted",
"input": "x"
}
]
}
Testez donc le code HTTP avant de lire le corps de la réponse.
Indisponibilité temporaire (HTTP 503)
Deux cas renvoient 503. Réessayez après quelques secondes, avec un délai
croissant entre les tentatives.
| Cas | Code | Forme du corps |
|---|---|---|
| Le fournisseur du modèle ou de l'indexation répond en erreur | PUBLIC_LEGAL_PROVIDER_5XX | Enveloppe habituelle : success: false, error.code, error.message_fr, error.details. |
| Le service démarre ou n'est pas encore prêt | PUBLIC_LEGAL_SERVICE_UNAVAILABLE | Forme différente, sans success : {"error": {"code": 503, "message": {"code": "PUBLIC_LEGAL_SERVICE_UNAVAILABLE", "message_fr": "..."}, "path": "..."}}. |
Pour être robuste, testez d'abord le code HTTP, puis cherchez le code
d'erreur dans error.code ou dans error.message.code.
Limites d'usage
Les endpoints publics sont limités par adresse IP, par minute et par jour.
Au-delà, la réponse est un code HTTP 429 avec l'en-tête Retry-After
(en secondes) : attendez ce délai avant de réessayer.
Le compteur de limite est tenu sur une empreinte de votre adresse IP, pas sur l'adresse en clair.
Cadre d'utilisation
Les réponses sont une information juridique générale, fondée sur les
textes cités. Elles ne constituent pas un conseil juridique, fiscal ou
comptable personnalisé. Chaque réponse porte un disclaimer qui le rappelle :
si vous affichez les réponses à vos utilisateurs, affichez aussi ce disclaimer.