API-ul bazei de date LexSignify integrează Legislația României și a UE direct în aplicația ta.
API-ul LexSignify expune, prin rute JSON autentificate, căutarea în legislația României și a Uniunii Europene, citirea actelor și a articolelor la data cerută, istoricul modificărilor, verificarea citărilor și construirea de context juridic, cu sursa fiecărui fapt, din care aplicația ta poate formula răspunsuri.
Prezentare
Baza de date LexSignify expune un subgraf juridic: noduri (acte, unități structurale, anexe, evenimente, decizii, acte UE), relații tipizate între ele și sursa fiecărui fapt. Toate operațiile sunt read-only și deterministe pentru aceeași versiune a grafului și aceiași parametri.
Cheia API
Aplicația ta se autentifică cu o cheie API, trimisă la fiecare cerere în antetul Authorization: Bearer.
- Cheia are forma
lcx_<cheia-ta>și se păstrează ca un secret: nu o pune în cod public sau în fișiere pe care le partajezi. - Fiecare cheie are permisiuni pe operații și limite de trafic proprii.
- Adresa de bază a API-ului este
https://api.lexsignify.ro/v1/legal/, iar descrierea OpenAPI este la/v1/legal/openapi.json. - Cheia se creează și se gestionează din contul tău LexSignify.
# Exemplu: context juridic prin HTTP
POST /v1/legal/context
Authorization: Bearer lcx_…
Content-Type: application/json
{
"query": "Se aplică retroactiv legea contravențională mai favorabilă?",
"jurisdictions": ["ro"],
"effective_at": "2026-09-30",
"token_budget": 4000
}Operații
Fiecare operație are o rută sub /v1/legal/.
| Rută API | Scop |
|---|---|
POST /v1/legal/search | Găsește noduri și un subgraf relevant pentru o întrebare sau o citare. |
GET /v1/legal/nodes/{id} | Citește un nod stabil și proveniența lui, la o dată. |
GET /v1/legal/nodes/{id}/neighbors | Extinde relațiile unui nod, în limite de adâncime și tip. |
GET /v1/legal/acts/{id}/structure | Întoarce arborele actului până la nivelul cerut. |
GET /v1/legal/acts/{id}/changes | Evenimentele și versiunile care se aplică unui nod sau act. |
POST /v1/legal/paths | Explică cel mai scurt traseu de relații dintre două noduri. |
POST /v1/legal/citations/validate | Parsează o citare română sau UE și o verifică în graf. |
POST /v1/legal/context | Construiește context compact, citabil, limitat în tokeni. |
GET /v1/legal/graph/stats | Versiunea grafului, acoperirea și limitele în vigoare. |
Parametri comuni
Parametrii circulă în format snake_case, la fel prin MCP și prin API.
effective_at- Data juridică: forma aplicabilă la această dată. Implicit, azi.
known_at- Momentul cunoașterii, pentru audit retrospectiv.
jurisdictions- ro, eu sau ambele.
relation_types- Lista relațiilor permise la traversare.
max_depth- Adâncimea traversării. Implicit 2, maximum 4.
max_nodes- Numărul maxim de noduri returnate. Implicit 40.
token_budget- Bugetul de tokeni pentru contextul returnat.
include_text- none, excerpt sau full, în limitele disponibile.
confidence_min- Pragul minim de încredere pentru relații.
reviewed_only- Doar relațiile revizuite.
Răspunsul LegalSubgraph
Toate operațiile de interogare întorc aceeași formă. Fiecare nod include identificatorul, tipul, eticheta, citarea canonică, intervalul, sursa și motivul includerii. Fiecare relație include direcția, tipul, intervalul, dovada, metoda de extracție și încrederea.
citationsșicontext_blockssunt gata de afișat lângă un răspuns generat.omissionsspune ce a rămas în afara limitelor, iarwarningssemnalează relațiile incerte sau datele lipsă.- Textul juridic din context este delimitat și marcat ca date. Nu trebuie interpretat de agent ca instrucțiune.
// Structura LegalSubgraph (valori ilustrative)
{
"graph_version": 42,
"effective_at": "2026-09-30",
"nodes": [ … ], // id, tip, citare, interval, sursă
"edges": [ … ], // direcție, tip, dovadă, încredere
"citations": [ … ],
"context_blocks": [ … ],
"omissions": [ … ], // ce a rămas în afara bugetului
"warnings": [ … ],
"usage": { "context_tokens_estimated": … }
}Erori
Erorile sunt structurate, cu cod stabil și mesaj sigur, fără detalii interne.
INVALID_INPUT | Parametri invalizi, cu numele parametrului în format snake_case. |
|---|---|
NOT_FOUND | Nodul sau actul cerut nu există în versiunea curentă. |
AMBIGUOUS_CITATION | Citarea are mai mulți candidați; ei sunt listați. |
LIMIT_EXCEEDED | Cererea depășește limitele de adâncime, noduri sau tokeni. |
INSUFFICIENT_EVIDENCE | Nu există suficiente dovezi pentru un context de încredere. |
DEPENDENCY_UNAVAILABLE | O dependență a serviciului nu răspunde; poți reîncerca. |
FAQ
Care e diferența dintre uneltele MCP și rutele API?
Niciuna ca rezultat. Aceleași nouă operații sunt expuse identic: ca unelte MCP pentru agenți și ca rute REST pentru aplicații. Aceiași parametri produc același rezultat, indiferent de transport.
Cum mă autentific?
Cu o cheie API, trimisă în antetul Authorization: Bearer. Fiecare cheie are permisiuni pe operații și limite de trafic proprii.
Operațiile modifică datele din graf?
Nu. Toate operațiile sunt read-only și deterministe pentru aceeași versiune a grafului și aceiași parametri.
Cum aleg data la care se aplică textul juridic?
Cu parametrul effective_at: primești forma aplicabilă la acea dată, iar implicit este azi. Cu known_at poți face un audit retrospectiv, adică vezi ce se știa la un anumit moment.
Pot limita cât text primesc?
Da. Parametrii token_budget, max_nodes, max_depth și include_text (none, excerpt sau full, în limitele disponibile) controlează dimensiunea răspunsului. Ce rămâne în afara limitelor apare în omissions.
Ce se întâmplă dacă nu există un răspuns sigur?
Primești o eroare structurată, cu cod stabil și mesaj sigur, fără detalii interne. De exemplu AMBIGUOUS_CITATION listează candidații, iar INSUFFICIENT_EVIDENCE spune că nu sunt dovezi suficiente.
Cum raportez o problemă la suport?
Fiecare răspuns are un request_id și versiunea grafului. Trimite-le împreună cu descrierea problemei.
