Aller au contenu principal

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​

EndpointRôleAuthentification
POST /public/legal/askPoser une question juridique, recevoir une réponse avec les articles citésAucune
POST /public/legal/searchRechercher les articles pertinents, sans génération de texteAucune
GET /public/legal/doc/{id}Lire le contenu d'un article à partir de son identifiantAucune

Les endpoints publics ne demandent ni compte ni jeton. Les futurs endpoints authentifiés sont en préparation : voir Authentification.

Vous utilisez un assistant IA ?

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é.

Exception : les erreurs de format (HTTP 422)

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.

CasCodeForme du corps
Le fournisseur du modèle ou de l'indexation répond en erreurPUBLIC_LEGAL_PROVIDER_5XXEnveloppe habituelle : success: false, error.code, error.message_fr, error.details.
Le service démarre ou n'est pas encore prêtPUBLIC_LEGAL_SERVICE_UNAVAILABLEForme 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.