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ă APIScop
POST /v1/legal/searchGă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}/neighborsExtinde 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}/changesEvenimentele și versiunile care se aplică unui nod sau act.
POST /v1/legal/pathsExplică cel mai scurt traseu de relații dintre două noduri.
POST /v1/legal/citations/validateParsează o citare română sau UE și o verifică în graf.
POST /v1/legal/contextConstruiește context compact, citabil, limitat în tokeni.
GET /v1/legal/graph/statsVersiunea 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 și context_blocks sunt gata de afișat lângă un răspuns generat.
  • omissions spune ce a rămas în afara limitelor, iar warnings semnalează 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_INPUTParametri invalizi, cu numele parametrului în format snake_case.
NOT_FOUNDNodul sau actul cerut nu există în versiunea curentă.
AMBIGUOUS_CITATIONCitarea are mai mulți candidați; ei sunt listați.
LIMIT_EXCEEDEDCererea depășește limitele de adâncime, noduri sau tokeni.
INSUFFICIENT_EVIDENCENu există suficiente dovezi pentru un context de încredere.
DEPENDENCY_UNAVAILABLEO 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.