API v1
API publique
Pour les banques, les IMF et les plateformes de création d'entreprise. Authentification par clé d'API à portées, mesure par appel, et les mêmes gardes que l'interface — l'API n'est pas un chemin de contournement.
Une règle qui gouverne toute l’API
Aucun appel ne peut faire déposer une requête sans l'approbation explicite d'un avocat habilité. La garde vit dans la machine à états, pas dans le gestionnaire de route : l'interface web, la commande WhatsApp et cet endpoint traversent le même contrôle, il n'y a donc qu'un seul endroit où la règle peut être vraie — et un seul endroit où elle pourrait être cassée.
Authentification
curl -X POST https://<instance>/api/v1/agents/A1_RESEARCH/run \
-H "Authorization: Bearer avr_live_XXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-d '{
"jurisdictionCode": "CI",
"locale": "fr",
"input": { "question": "Quelles conditions rendent une créance exigible ?" }
}'Les clés sont créées dans Réglages → API et portent des portées explicites. Seul le préfixe est stocké en clair ; la clé complète n'est affichée qu'une fois, à la création.
Points de terminaison
| Chemin | Portée | Description | |
|---|---|---|---|
| POST | /api/v1/matters | matters:write | Ouvrir un dossier avec ses parties et sa juridiction. |
| GET | /api/v1/matters/{id} | matters:read | État du dossier, délais, pièces, état de la procédure de recouvrement. |
| POST | /api/v1/agents/{agent}/run | agents:run | Exécuter un agent. La sortie passe la barrière de vérification avant de revenir, et la réponse porte le compte de citations résolues et retirées. |
| POST | /api/v1/recovery/{matterId}/advance | recovery:write | Faire avancer la machine à états de l'injonction de payer. Refuse toute transition dont la garde n'est pas satisfaite — l'absence de signature avocat comprise. |
| POST | /api/v1/verify | verify | Passer un texte quelconque par la barrière et récupérer les résolutions. Utilisable seul, sans dossier. |
| GET | /api/v1/authority/resolve?citation= | authority:read | Résoudre une citation unique : instrument, article, licence, source, état d'ingestion. |
| GET | /api/v1/certificates/{serial} | certificates:read | Récupérer un certificat de vérification et son maillon de chaîne. |
| GET | /api/v1/procedure/delais?jurisdiction=&procedure= | procedure:read | Les règles de délai applicables, avec leur autorité et leur état de validation par panel. |
Ce que renvoie une exécution
{
"runId": "…",
"status": "COMPLETED" | "NEEDS_APPROVAL" | "BLOCKED",
"text": "…",
"verify": {
"authorityCount": 4,
"resolvedCount": 4,
"unlicensedCount": 0,
"strippedCount": 0,
"resolvability": 1
},
"degraded": false,
"needsApproval": true
}Codes de blocage
- APPROVAL_REQUIRED
- CREANCE_NOT_ESTABLISHED
- DOCUMENT_MISSING
- DATE_MISSING
- MISSING_FIELDS
- NO_FORMAT
- NO_SUCH_TRANSITION
Un blocage n'est pas une erreur : c'est une exécution qui s'est arrêtée là où la procédure l'exige, et elle est enregistrée comme telle avec son motif.