Vissza az alkalmazáshoz

Fejlesztői dokumentáció

A be magyar jogi AI nyilvános API-jának, SDK-inak és MCP-kiszolgálójának teljes leírása — másolható minták minden végponthoz.

63indexelt jogszabály
3joghatóság
3SDK / protokoll
SSEstreaming chat

Áttekintés #

A be egy magyar jogi asszisztens: hatályos jogszabályok (Ptk., Btk., Mt., Áfa, GDPR, …) közötti hibrid (BM25 + dense) visszakeresés, jogszabályhely-pontos idézés, és tool-hívó ügynök, ami dokumentumot is generál (felszólítás, meghatalmazás, kereset stb.).

A nyilvános felület három formában érhető el:

  • HTTP REST API — minden ami a böngészőben működik, az itt is. SSE chat-stream, CRUD végpontok beszélgetésekre / ügyfelekre / határidőkre / dokumentumokra.
  • Hivatalos SDK-k — Python és JavaScript/TypeScript csomagok, zero-config kapcsolódás.
  • MCP server — autonóm ügynökök (Claude Desktop, Cursor, custom orchestrator) közvetlenül beépíthetik a be eszközeit.

Stabil végpontok kezdődnek /api/ prefixxel. Minden válasz JSON; a chat text/event-stream (SSE).

OpenAPI explorer. Az automatikusan generált Swagger UI elérhető a /openapi-ui címen (ReDoc: /openapi-redoc; nyers séma: /openapi.json). Ez az oldal a kézzel írt, kontextusos referencia — a Swagger a gép-olvasható alternatíva.

Jogi lefedettség #

A korpusz három joghatóságot fed le. A GET /api/presets végpont és a chat felület Praxis menüje mutatja, melyik gyakorlati területre milyen jogszabály-csoportot ajánl a rendszer.

🇭🇺

Magyar jog

33 alap törvény

Civil, eljárási, büntetőjog, munkajog, adójog, közbeszerzés, adatvédelem, ingatlan, banki, versenyjog, fogyasztóvédelem, szellemi alkotások — NJT-ből ingestálva.

🇪🇺

EU jog

14 jogszabály

GDPR, Brüsszel Ia/IIb, Róma I/II, öröklési rendelet, európai insolvencia, HÉA-irányelv, Charter — EUR-Lex-ből.

🌐

Nemzetközi jog

16 instrumentum

EJEE, Convention 108+, Budapesti egyezmény, UDHR, ICCPR, CRC, CISG, New York 1958, Római Statútum, Apostille — Európa Tanács, ENSZ és Hága.

🗺️

Más államok joga jövőbeli

DE · AT · RO · SK · …

A rendszer ISO országkód szerint képes további joghatóságokat is kezelni. Új jogrendszer iránti igény az üzemeltetőhöz nyújtható be.

Magyar jog részletes lista

Civil/kötelmi (Ptk., Ctv., Vht., Cstv.), eljárás (Pp., Be., Kp., Ákr.), büntetőjog (Btk., Szabs.), munkajog (Mt., Tbj.), adójog (Szja, Áfa, Tao, Art., Air.), közbeszerzés (Kbt.), adatvédelem (Info tv.), ingatlan (Inytv., Földforgalmi), banki (Hpt.), versenyjog (Tpvt.), fogyasztóvédelem (Fgytv.), szellemi alkotások (Szjt., Vt., Szt.).

EU jog részletes lista

GDPR (32016R0679), Brüsszel Ia (1215/2012), Brüsszel IIb (1111/2019), Róma I (593/2008), Róma II (864/2007), Öröklési rendelet (650/2012), Európai insolvencia (848/2015), HÉA-irányelv (2006/112), Fogyasztói jog irányelv (2011/83), Digitális tartalom irányelv (2019/770), Áruk adásvétele irányelv (2019/771), Üzleti titok irányelv (2016/943), Szabad mozgás irányelv (2004/38), Alapjogi Charta.

Nemzetközi jog részletes lista

16 fő instrumentum, amelyekre magyar gyakorlat rendszeresen hivatkozik:

  • Európa Tanács: EJEE (ETS 5), Convention 108+ (ETS 108), Budapesti Egyezmény (ETS 185).
  • ENSZ alapjogi: UDHR, ICCPR (PPJNE), ICESCR (GSZKJE), CRC (gyermekjogi), CEDAW, CRPD.
  • ENSZ kereskedelmi: CISG (Bécsi Vételi Egyezmény), New York-i Egyezmény (1958), VCLT (Bécsi Egyezmény a szerződések jogáról).
  • Nemzetközi büntető / humanitárius: Római Statútum (ICC), IV. Genfi Egyezmény.
  • Nemzetközi magánjog (Hága): Apostille (HCCH 28), Gyermekelviteli Egyezmény.

Új joghatóság iránti igény

A rendszer támogatja további országkódok kezelését (pl. DE, AT, RO, SK). Egy új jogrendszer bekapcsolása a hivatalos forrás (állami közlöny / hatósági korpusz) elemzését igényli; ilyen igényt az üzemeltető fogad be. A nyelvi normalizáció jelenleg magyar-első — több nyelvre kiterjesztés a roadmapen.

Lekérdezés API-n keresztül

GET /api/presets                 # praxis-területek (csaladjog, vallalkozoi, …)
GET /api/statute?law=GDPR&section=6  # joghatóság-független cite lookup
GET /api/search?q=fogyasztóvédelem  # FTS keresés a felhasználó saját adataiban

Hitelesítés #

A be három hitelesítési módot ismer:

1. Cookie session (böngészős használat)

A /api/auth/login végpont sikeres válasza beállítja a be_session cookie-t (httpOnly, SameSite=Lax). Ez az SPA + dokumentációs oldalak alapesete.

2. Személyes API kulcs

Kulcs igénylése: /settings oldalon a „API kulcsok" szekcióban. A kulcs formája be_apikey_…. Használata:

Authorization: Bearer be_apikey_xxxxxxxxxxxxxxxxxxxx

Az API kulccs hívott végpontok a felhasználó kvótájához számítódnak (lásd Rate limit).

3. x402 fizetési token (autonóm ügynököknek)

Ld. lent: x402 fizetés.

CSRF: A cookie-alapú állapotot módosító kéréseknek Origin vagy Referer fejlécet kell tartalmaznia, ami a deployment hostjával egyezik. A Bearer-tokenes kérések ettől mentesülnek.

x402 — fizetés ügynököknek stub #

A x402 mintát követjük autonóm ügynökök által történő pay-per-call elszámolásra. A funkció üzemeltetői beállítás kérdése — ha a deploymentnél aktív, az alábbi folyamat lép életbe.

Folyamat

  1. Ügynök hívja az endpoint-ot fizetési token nélkül.
  2. A szerver HTTP 402-val válaszol, és a WWW-Authenticate: x402 fejléc, valamint a JSON body közli az árat és a settlement endpoint-ot:
HTTP/1.1 402 Payment Required
WWW-Authenticate: x402 realm="be-beai", price="120 HUF/1k_output_tokens", settlement="/api/x402/settle"
Content-Type: application/json

{
  "detail": "Fizetés szükséges (x402). Lásd: /docs#x402",
  "category": "payment_required",
  "x402": {
    "scheme": "x402",
    "price": { "currency": "HUF", "per_1k_output_tokens": 120 },
    "settlement_endpoint": "/api/x402/settle",
    "docs": "/docs#x402",
    "ttl_seconds": 600
  }
}
  1. Ügynök elvégzi az elszámolást, és újrahívja az endpoint-ot a kapott tokennel:
POST /api/chat
X-PAYMENT: x402_…<settlement-receipt>…
Content-Type: application/json

{"messages":[{"role":"user","content":"Mi a Ptk. 6:155. § szerinti késedelmi kamat?"}]}
A fizetési oldal jelenleg beta — a hivatkozott settlement endpoint visszaadja a hivatalos árképzést és a settlement-szolgáltató kapcsolati adatait. Éles ügynök-integráció előtt vegyék fel a kapcsolatot az üzemeltetővel.

Mely végpontok eshetnek a fizetési séma alá: /api/chat, /api/conversations*, /api/statute, /api/search. Bejelentkezett felhasználók (cookie) és személyes API-kulcsosok ettől mentesek — ők a saját kvótájuk alapján férnek hozzá.

REST API #

Alap URL: https://<your-be-host>. Az alábbi a leggyakoribb végpontok kivonata; a teljes, mindig naprakész lista a beépített OpenAPI explorer-ben érhető el.

Chat (SSE)

POST/api/chat
curl -N -X POST https://be.example.com/api/chat \
  -H "Authorization: Bearer be_apikey_..." \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [{"role":"user","content":"Mi a felmondási idő?"}],
    "preset": "munkajog",
    "conversation_id": "c-001"
  }'

Válasz: text/event-stream. Az SSE-eseményeket data: {…}\n\n formátumban kapod; data: [DONE] zár.

Statute lookup

GET/api/statute?law=Ptk.&section=6:8.%20%C2%A7

Conversations

MethodPathLeírás
GET/api/conversationsaktív beszélgetések, pinned-first
GET/api/conversations/{id}egy beszélgetés teljes payload-ja
PATCH/api/conversations/{id}/title{title} — sticky átnevezés
PATCH/api/conversations/{id}/pin{pinned: bool}
DELETE/api/conversations/{id}soft-delete (lomtár)
DELETE/api/conversations/{id}?hard=truevégleges törlés
POST/api/conversations/{id}/restorelomtárból visszaállítás
GET/api/conversations/trashedtörölt elemek
GET/api/conversations/{id}/export.pdfPDF
GET/api/conversations/{id}/export.docxDOCX

Deadlines + Clients + Templates

MethodPathBody
GET/api/deadlines
POST/api/deadlines{due_date, label, conv_id?}
GET/api/deadlines.icsICS naptár letöltés
GET/api/clients
POST/api/clients{id, name}
GET/api/templates

Auth

MethodPathLeírás
POST/api/auth/register{email, password}
POST/api/auth/login{email, password} — limit: 10/perc IP-nként
POST/api/auth/logoutcookie törlés
GET/api/auth/meaktuális user + kvóta
GET/api/auth/me/exportGDPR ZIP-export
DELETE/api/auth/mefiók törlés — {password, confirm:"TÖRLÉS"}
POST/api/auth/keysúj API kulcs

Python SDK #

Egyetlen fájl, csak a httpx könyvtárat igényli. Az aktuális be_sdk.py az üzemeltetőtől beszerezhető (későbbi verziókban PyPI csomag).

pip install httpx
# helyezd a be_sdk.py fájlt a projekted mellé, majd:
from be_sdk import BeClient

Egyszerű kérdés

from be_sdk import BeClient

be = BeClient("https://be.example.com", api_key="be_apikey_...")

answer = be.ask("Mi a Ptk. 6:155. § szerinti késedelmi kamat?")
print(answer)

Stream

for ev in be.chat_stream(
    messages=[{"role": "user", "content": "Készíts fizetési felszólítást."}],
    preset="vallalkozoi",
):
    if ev["type"] in ("text", "final") and ev.get("text"):
        print(ev["text"], end="", flush=True)

Erőforrás-helperek

convs = be.conversations.list()
pdf_bytes = be.conversations.export_pdf("c-001")

be.deadlines.create(due_date="2026-06-15", label="Fellebbezés")
ics = be.deadlines.ics()

be.clients.create(client_id="kovacs-bt", name="Kovács Bt.")
statute = be.statute(law="Ptk.", section="6:155. §")

JavaScript / TypeScript SDK #

Zero-dependency. Működik böngészőben, Node 18+, Deno, Bun és edge runtime-okban (Cloudflare Workers, Vercel Edge). A be-sdk.ts fájl az üzemeltetőtől beszerezhető (későbbi verziókban npm csomag).

Egyszerű kérdés

import { BeClient } from "./be-sdk";

const be = new BeClient("https://be.example.com", {
  apiKey: "be_apikey_...",
});

const answer = await be.ask("Mi a felmondási idő munkáltatói felmondásnál?");
console.log(answer);

Stream

for await (const ev of be.chatStream({
  messages: [{ role: "user", content: "Készíts felszólítást." }],
  preset: "vallalkozoi",
})) {
  if (ev.type === "text" || ev.type === "final") {
    process.stdout.write(ev.text ?? "");
  }
}

Erőforrás-helperek

const convs = await be.conversations.list();
const pdf = await be.conversations.exportPdf("c-001"); // ArrayBuffer

await be.deadlines.create("2026-06-15", "Fellebbezés");
const ics = await be.deadlines.ics(); // string

await be.clientFolders.create("kovacs-bt", "Kovács Bt.");
const statute = await be.statute("Ptk.", "6:155. §");

MCP server #

A Model Context Protocol kompatibilis kiszolgáló — autonóm ügynökök közvetlenül a be eszközeit hívhatják.

Telepítés

pip install mcp httpx

Claude Desktop konfiguráció

~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "be-beai": {
      "command": "python",
      "args": ["/absolute/path/to/be_mcp_server.py"],
      "env": {
        "BE_BASE_URL": "https://be.example.com",
        "BE_API_KEY":  "be_apikey_..."
      }
    }
  }
}

Elérhető tool-ok

ToolParaméterLeírás
be_askquestion, preset?egy lépéses kérdés-válasz
be_find_statutelaw, sectionjogszabályhely lekérése
be_search_corpusquery, limit?kereszt-kereses
be_list_presetspraxis-területek

A be_mcp_server.py script az üzemeltetőtől beszerezhető.

Rate limit + kvóta #

Az alábbi alapértelmezett limitek és kvóták érvényesek a publikus deploymentre. Üzleti felhasználói csomag esetén az értékek emelhetők — egyeztetés az üzemeltetővel.

RétegAlapértékMegjegyzés
IP rate limit (chat)30 / percegy IP-címről percenként ennyi üzenet
IP rate limit (login)10 / percbrute-force védelem
Bejelentkezési zár (account)5 hibás → 15 percsikeres bejelentkezés nullázza
Anonim üzenetkeret3 / napbejelentkezés nélküli próba
Regisztrált üzenetkeret10 / napingyenes regisztrált csomag
Üzleti / dedikált csomagegyediegyeztetés alapján
Body cap (/api/*)25 MBkérésenként
Upload cap (per file)10 MBfájlonként

Hibák + retry #

Minden hiba JSON, két stabil mezővel: detail (HU üzenet) és category (programozható kód).

KódcategoryMit jelent
401nincs bejelentkezve / érvénytelen API kulcs
402payment_requiredx402 fizetés szükséges
403csrfcross-origin state-changing kérés
413body_too_largekérés mérete meghaladja a body cap-et
429ip_rate_limitIP rate limit lejárt; retry_after_s mező megadja
SSE event type: errorrate_limit / upstream_unavailable / auth / timeoutprovider-szintű hibák a chat-stream során

GDPR + adat-export #

Felhasználói jogosultságok:

  • Hozzáférés / hordozhatóságGET /api/auth/me/export visszaad egy ZIP-et a felhasználó beszélgetéseivel, dokumentumaival, ügyfeleivel, határidőivel.
  • Törléshez való jogDELETE /api/auth/me body: {password, confirm: "TÖRLÉS"}. Rendszergazda jogosultságú fiókok ezen a végponton nem törölhetők — ilyen igényt az üzemeltetőhöz kell benyújtani.
  • HelyesbítésPATCH /api/conversations/{id}/title, PATCH /api/conversations/{id}/pin, lomtár + restore.