API

Réponses JSON. Sans clé : 30 requêtes par minute et par adresse IP. Avec une clé d'API personnelle gratuite : 300 requêtes par minute.

MéthodeRouteDescription
GET/api/v1/corpus/search?q=…Corpus JURIS LIMEN (Cour de cassation), classé par pertinence, avec facettes. Paramètres : chamber, publication, solution, year_from, year_to, sort (pertinence ou date), page, page_size.
GET/api/v1/caselaw/search?q=…Jurisprudence. Paramètres : jurisdiction (cc, ca, tj, tcom), operator, date_start, date_end, publication, sort, page, page_size.
GET/api/v1/caselaw/decision/{id}Décision complète.
GET/api/v1/legislation/search?q=…Codes et lois. Paramètres : article, code, date (AAAA-MM-JJ), scope (codes ou lois), page.
GET/api/v1/legislation/article/{LEGIARTI…}Article, période de validité et versions successives.
GET/api/v1/caselaw/administrative?q=…Jurisprudence administrative (Conseil d'État, CAA, TA). Paramètres : sort (date), page.
GET/api/v1/caselaw/constitutional?q=…Décisions du Conseil constitutionnel. Paramètres : sort (date), page.
GET/api/v1/caselaw/lf-decision/{CETATEXT…|CONSTEXT…}Texte intégral d'une décision publiée sur Légifrance.
GET/api/v1/collective-agreements?q=…Conventions collectives et accords de branche.
GET/api/v1/eu?q=…Droit de l'Union (EUR-Lex). Paramètres : type (REG, DIR, DEC, JUDG, répétable), page, page_size.
GET/api/v1/scholarship?q=…Doctrine en accès libre. Paramètres : source (hal ou theses), sort, page, page_size.
POST/api/v1/citations/verifyCorps JSON : { "text": "…", "date": "AAAA-MM-JJ" }.
GET/api/v1/companies/search?q=…Entreprises par nom, SIREN ou SIRET.
GET/api/v1/bodacc?q=…Annonces BODACC par SIREN ou nom.
GET/api/v1/statusSources configurées.
GET/api/v1/openapi.jsonDescription OpenAPI 3.1 de toutes les routes.

Description OpenAPI

Toutes les routes, leurs paramètres et leurs erreurs sont décrits au format OpenAPI 3.1 : /api/v1/openapi.json. Importez cette adresse dans Postman, Insomnia, Bruno ou un générateur de client (openapi-generator), ou donnez-la à votre agent IA.

Authentification (facultative)

L'API reste ouverte sans clé. Pour relever votre quota à 300 requêtes par minute, créez une clé personnelle dans votre espace compte (section « Clés d'API », 5 clés au plus) et transmettez-la dans l'un de ces en-têtes :

Authorization: Bearer jl_votre_cle
X-API-Key: jl_votre_cle

La clé n'est affichée qu'une fois, à sa création ; seule son empreinte est conservée. Une clé invalide ou révoquée renvoie 401.

curl -H "Authorization: Bearer jl_votre_cle" "https://juris-limen.vercel.app/api/v1/legislation/search?article=1240&code=Code%20civil"

Exemples

curl "https://juris-limen.vercel.app/api/v1/legislation/search?article=1240&code=Code%20civil&date=2015-06-01"
curl -X POST "https://juris-limen.vercel.app/api/v1/citations/verify" \
  -H "Content-Type: application/json" \
  -d '{"text":"Vu l\u0027article L. 1235-3 du code du travail..."}'

Erreurs

Les erreurs renvoient { "error": { "code", "message", "source" } } avec le statut HTTP correspondant : 400 requête invalide, 401 clé d'API invalide ou révoquée, 404 introuvable, 429 quota atteint, 502 ou 504 source officielle indisponible, 503 source non configurée.