Vissza Dokumentáció

REST API · SDK · MCP

Fejlesztői dokumentáció

A JuriSafe 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 JuriSafe 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 JuriSafe 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 JuriSafe két 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 jurisafe_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 jsafe_apikey_…. Használata:

Authorization: Bearer jsafe_apikey_xxxxxxxxxxxxxxxxxxxx

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

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.

REST API #

Alap URL: https://api.jurisafeai.com (a https://app.jurisafeai.com hoszt ugyanezt szolgálja ki). 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://api.jurisafeai.com/api/chat \
  -H "Authorization: Bearer jsafe_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.

Egy kérdés - egy válasz (programozott hozzáférés)

POST/api/v1/ask

Nem-streamelt változat: egyetlen JSON-válaszban adja vissza a kész választ és a hivatkozásokat - ez a legegyszerűbb integrációs felület (ezt hívja az Office-bővítmény is). Pro+ funkció, és ugyanabból a csomag-keretből fogyaszt, mint a webalkalmazás.

curl -X POST https://api.jurisafeai.com/api/v1/ask \
  -H "Authorization: Bearer jsafe_apikey_..." \
  -H "Content-Type: application/json" \
  -d '{
    "question": "Mennyi a felmondási idő 5 év után?",
    "preset": "munkajog",
    "jurisdiction": "HU"
  }'

Válasz: {"answer": "…", "citations": [{"short_ref": "Mt.", "locator": "69. §", …}]}. Mezők: question (kötelező; input néven is elfogadott), preset és jurisdiction opcionális. Hibák: 401 hiányzó/érvénytelen kulcs, 402 a csomag nem tartalmaz API-hozzáférést (category: api_plan_required; a /api/plan megmondja, miért), 429 elfogyott a lekérdezési keret, 400 üres kérdés.

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-

Ügyek — egy ügy, időrendben

Ugyanazok a rekordok, összerakva: egy ügyfél beszélgetései, okiratai és határidői egyetlen idővonalon. Az okirat azon a beszélgetésen keresztül talál az ügyhöz, amelyikben készült. A __unfiled__ az ügyfélhez még nem rendelt anyag.

MethodPathVálasz
GET/api/mattersügyenként: {client_id, name, conversations, documents, deadlines, last_activity, next_deadline}
GET/api/matters/{client_id}/timeline{upcoming[], history[], counts}upcoming a legközelebbi elöl, history a legfrissebb elöl
const overview = await be.matters.list();
const kovacs  = await be.matters.timeline("kovacs-vs-nagy");
kovacs.upcoming[0];  // { kind: "deadline", due_date: "2026-09-14", days_left: 7, … }

Az iroda közös memóriája

Az iroda állandó gyakorlata, amit minden tag minden beszélgetése megkap — a /api/memory személyes párja. Bármelyik tag hozzáadhat; más bejegyzését törölni, vagy az egészet kikapcsolni, csak tulajdonos/admin tud. Csapat nélküli fióknál minden végpont 404.

MethodPathBody / válasz
GET/api/team/memory{enabled, items[], role, can_manage, max_items} — minden bejegyzés by_email-lel
POST/api/team/memory{text} — bármelyik tag
DELETE/api/team/memory/{id}sajátot bárki, másét tulajdonos/admin
PATCH/api/team/memory{enabled} — tulajdonos/admin; kikapcsolva a bejegyzések megmaradnak
await be.teamMemory.add("A felszólításaink 8 napos teljesítési határidőt adnak.");
// mostantól minden tag minden válaszában és okiratában számít

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/keysúj API kulcs

Webhookok #

Ahelyett hogy lekérdeznéd: a JuriSafe szól. Regisztrálj egy https végpontot, válaszd ki az eseményeket, és minden küldemény aláírva érkezik.

Események

EseményMikor
answer.completedkész egy válasz (chat vagy /api/v1/ask): answer_id, source, conversation_id, a hivatkozott jogszabályhelyek, confidence
document.generatedelkészült egy okirat: doc_id, title, formats, verdict
document.readyugyanez, a korábbi néven
deadline.approaching7/3/1/0 nappal a határidő előtt
law.changedmegváltozott egy jogszabály, amire a fiók hivatkozott
Adatvédelem. A küldemény azonosítókat és metaadatot visz — a választ, az okirat szövegét és az ügyfél nevét soha. A tartalmat a hitelesített API-n kéred le, ha kell.

Végpontok kezelése

MethodPathLeírás
GET/api/v1/webhooksvégpontok, események, újrapróbálási szabály
POST/api/v1/webhooks{url, events?} — a válasz egyszer tartalmazza a secret-et
GET/api/v1/webhooks/{id}egy végpont
PATCH/api/v1/webhooks/{id}{enabled?, url?, events?} — szüneteltetés, új cím, új események; a titok és a napló marad
DELETE/api/v1/webhooks/{id}-
POST/api/v1/webhooks/{id}/testmost küld egy test eseményt, és megmondja, mit felelt a fogadó
GET/api/v1/webhooks/{id}/deliverieskézbesítési napló, legfrissebb elöl

Létrehozni, új címre állítani és tesztelni Pro csomaggal lehet, mint minden programozott hívást; listázni, szüneteltetni és törölni mindig. Egy fiók csak a saját végpontjait látja. A korábbi /api/webhooks útvonal (ezt hívják az SDK-k) változatlanul működik.

curl -X POST https://api.jurisafeai.com/api/v1/webhooks \
  -H "Authorization: Bearer jsafe_apikey_..." \
  -H "Content-Type: application/json" \
  -d '{"url": "https://praxis.example.com/jurisafe-hook",
       "events": ["answer.completed", "document.generated"]}'

Aláírás és visszajátszás elleni védelem

Minden küldemény aláírt. Az aláírt szöveg "<t>.<body>", így az időbélyeg is védett, és egy elfogott küldemény később nem játszható vissza:

X-JuriSafe-Event: answer.completed
X-JuriSafe-Delivery: 5f3c9a1e0b7d4c22
X-JuriSafe-Attempt: 1
X-JuriSafe-Signature: t=1757260800,v1=<hex hmac-sha256>

{"id":"5f3c9a1e0b7d4c22","event":"answer.completed","created_at":"2026-09-14T09:00:00+00:00",
 "data":{"answer_id":"b71e04d2c9a83f15","source":"api.v1.ask","conversation_id":null,
         "answer_chars":312,"citations":[{"short_ref":"Mt.","locator":"69. § (1) bek."}],
         "confidence":"high"}}

Ellenőrizd a nyers törzzsel (nem újraszerializált objektummal), és utasítsd el, ha t 5 percnél régebbi. Minden próbálkozás friss időbélyeggel, újra aláírva megy, a X-JuriSafe-Delivery azonosító viszont ugyanaz marad: a már feldolgozott küldeményt eldobhatod.

from jurisafe_sdk import JuriSafeClient, verify_webhook

be = JuriSafeClient("https://api.jurisafeai.com", api_key="jsafe_apikey_...")
hook = be.webhooks.create(
    "https://praxis.example.com/jurisafe-hook",
    ["answer.completed", "document.generated"],
)
secret = hook["secret"]  # csak most látszik: tárold el


def receive(raw_body: str, headers: dict) -> bool:
    return verify_webhook(secret, raw_body, headers["X-JuriSafe-Signature"])
import { verifyWebhookSignature } from "./jurisafe_sdk";

const ok = await verifyWebhookSignature(secret, rawBody, req.headers.get("x-jurisafe-signature"));
if (!ok) return new Response("bad signature", { status: 400 });

Újrapróbálás és kézbesítési napló

Hálózati hiba, 5xx, 408, 425 és 429 esetén újrapróbáljuk, egyre hosszabb várakozással: 30 mp, 2 perc, 8 perc, 32 perc — összesen 5 próbálkozás. Minden más válasz végleges (a 4xx a fogadó elutasítása). Minden próbálkozás bekerül a végpont naplójába (az utolsó 50): státusz vagy hiba, időtartam, a következő próbálkozás ideje. Az API-n és a Fiók → Fejlesztőknek oldalon látod.

curl https://api.jurisafeai.com/api/v1/webhooks/5f3c9a1e/deliveries \
  -H "Authorization: Bearer jsafe_apikey_..."

Csak nyilvános címek

Csak nyilvánosan feloldható https cím adható meg: a privát és loopback címek elutasítva (SSRF).

Az ellenőrzés minden próbálkozáskor újra lefut: a névfeloldás után minden címnek nyilvánosnak kell lennie, és a kapcsolat arra a címre megy, amelyet ellenőriztünk. Átirányítást legfeljebb háromszor követünk, és minden lépést ugyanígy ellenőrzünk.

Tesztkörnyezet (sandbox) #

Egy jsafe_sandbox_… kulccsal az integráció előfizetés nélkül megépíthető: a /api/v1 végpontok rögzített, valósághű demóválaszokat adnak, ugyanazokkal a mezőkkel, mint élesben.

  • Nem hívja a modellt, és nem fogyaszt keretet. A kérés egyetlen végpontig sem jut el: a hitelesítés válaszol helyette.
  • Egyértelműen jelölt. Minden válasz "sandbox": true mezőt és X-JuriSafe-Sandbox: 1 fejlécet visz.
  • Saját, szűk korlát: kulcsonként 10 kérés percenként.
  • Bármely csomagon igényelhető (fiókonként legfeljebb 3) a Fiók → Fejlesztőknek oldalon.
MethodPathSandbox-válasz
POST/api/v1/askrögzített válasz valódi jogszabályhelyekkel (felmondási idő, késedelmi kamat, GDPR, minden más)
GET/api/v1/webhooksegy demóvégpont a naplójával
POST/api/v1/webhooksellenőrzi a kérést, de semmit nem tárol és semmit nem küld
GET/api/v1/webhooks/{id}egy demóvégpont a naplójával
PATCH/api/v1/webhooks/{id}-
DELETE/api/v1/webhooks/{id}-
POST/api/v1/webhooks/{id}/testaláírt mintaküldemény a demótitokkal, a saját ellenőrződ kipróbálásához
GET/api/v1/webhooks/{id}/deliveriesdemó kézbesítési napló (egy sikeres és egy újrapróbált küldemény)

Minden más /api/v1 útvonal 404 (sandbox_unsupported), a /api/v1-en kívüliek 403 (sandbox_scope). A /api/v1/openapi.json és a /api/v1/postman.json sandbox kulccsal is olvasható.

curl -X POST https://api.jurisafeai.com/api/v1/ask \
  -H "Authorization: Bearer $JURISAFE_SANDBOX_KEY" \
  -H "Content-Type: application/json" \
  -d '{"question": "Mennyi a felmondási idő 5 év után?"}'
import os

import httpx

r = httpx.post(
    "https://api.jurisafeai.com/api/v1/ask",
    headers={"Authorization": f"Bearer {os.environ['JURISAFE_SANDBOX_KEY']}"},
    json={"question": "Mennyi a felmondási idő 5 év után?"},
)
assert r.headers["X-JuriSafe-Sandbox"] == "1"
print(r.json()["answer"])

OpenAPI + Postman #

A nyilvános felület gépileg olvasható leírása: csak az API-kulccsal hívható végpontok, belső és admin útvonalak nélkül. Kulcs nélkül is letölthető.

MethodPathLeírás
GET/api/v1/openapi.jsonOpenAPI 3.1 séma, erőforrásonként címkézve; a webhooks része a küldeményeket írja le
GET/api/v1/postman.jsonPostman-gyűjtemény (v2.1) ugyanabból a sémából: importáld, add meg az apiKey változót (éles vagy sandbox kulcs), és küldheted
GET/api/v1kiindulópont: séma, SDK-k, műveletek
curl -s https://api.jurisafeai.com/api/v1/openapi.json | jq '.paths | keys'
curl -s -o jurisafe.postman.json https://api.jurisafeai.com/api/v1/postman.json

A böngészőnek szóló útvonalakat is tartalmazó teljes lista a Swagger UI-ban látható; integrációhoz a fenti, verziózott sémát használd.

Python SDK #

Egyetlen fájl, csak a httpx könyvtárat igényli. Letölthető: jurisafe_sdk.py (későbbi verziókban PyPI csomag).

pip install httpx
# helyezd a jurisafe.py fájlt a projekted mellé, majd:
from jurisafe_sdk import JuriSafeClient

Egyszerű kérdés

from jurisafe_sdk import JuriSafeClient

be = JuriSafeClient("https://api.jurisafeai.com", api_key="jsafe_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). Letölthető: jurisafe_sdk.ts (későbbi verziókban npm csomag).

Egyszerű kérdés

import { JuriSafeClient } from "./jurisafe_sdk";

const be = new JuriSafeClient("https://api.jurisafeai.com", {
  apiKey: "jsafe_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 JuriSafe 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-jurisafe": {
      "command": "python",
      "args": ["/absolute/path/to/jurisafe_mcp_server.py"],
      "env": {
        "BE_BASE_URL": "https://api.jurisafeai.com",
        "JURISAFE_API_KEY":  "jsafe_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-keresés (saját beszélgetések + iratok)
be_list_presets-praxis-területek
be_generate_documentinstructions, preset?jogi irat készítése (felszólítás, szerződés, beadvány…)
be_list_documents-a felhasználó iratainak listája
be_get_documentdoc_id, fmt?irat tartalmának letöltése (md/html/pdf/docx)
be_storage_modemode?tárolási mód olvasása/beállítása (central | blockchain)
be_deadlinedate, n_days, mode?határidő számítása — naptári / munkanap / törvénykezési nap (a július 15 – augusztus 20 szünetet kihagyja); determinisztikus, nem a modell
be_is_workdaydatemunkanap-e egy ISO dátum Magyarországon
be_interestprincipal, date, n_days, rate_pct?késedelmi kamat a tőkére
be_list_deadlinesa hívó nyilvántartott határidői
be_create_deadlinedue_date, label, conv_id?határidő felvétele (a dátumot előbb a be_deadline számolja)
be_list_conversationsa hívó beszélgetései, legfrissebb elöl
be_get_conversationconv_idegy beszélgetés a teljes előzménnyel
be_list_templateselérhető okirat-sablonok
be_get_templatekeyegy sablon nyers markdown váza a kitöltendő mezőkkel
be_save_documentdoc_id, markdowndokumentum felülírása; az előző szöveg verzióként megmarad
be_memoryaction, text?, item_id?, shared?állandó tények: list / add / delete / share
be_modelsmodellszintek (Scriba / Praetor / Kúria) és gondolkodási szintek
be_firm_memoryaction, text?, item_id?az iroda állandó gyakorlata: lista / hozzáadás / törlés / be-ki
be_mattersclient_id?, limit?egy ügy időrendben (beszélgetések, okiratok, határidők) — vagy az összes ügy áttekintése
be_webhooksaction, url?, events?, endpoint_id?kimenő webhookok: lista / hozzáadás / törlés / szünet / teszt
be_whoamifiók és csomag — megmondja, MIÉRT ad 402-t a többi eszköz

A programozott hozzáférés a Pro csomagtól él: alacsonyabb csomagon minden eszköz 402-t ad, kivéve a be_whoami-t, amely megmondja, miért. A script letölthető: jurisafe_mcp_server.py.

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
Sandbox kulcs10 / perckulcsonként; nem hívja a modellt, nem fogy a keret

Hibák + retry #

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

KódcategoryMit jelent
401-nincs bejelentkezve / érvénytelen API kulcs
402api_plan_requiredAPI-kulccsal hívva, de a csomag nem tartalmaz API-hozzáférést (Pro alatt); ilyenkor csak a /api/health, a /api/plan és a /api/auth/me válaszol
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
403sandbox_scopesandbox kulccsal a /api/v1-en kívüli útvonal
429sandbox_rate_limitelfogyott a sandbox kulcs percenkénti kerete
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ág - GET /api/auth/me/export visszaad egy ZIP-et a felhasználó beszélgetéseivel, dokumentumaival, ügyfeleivel, határidőivel.
  • Törléshez való jog - DELETE /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és - PATCH /api/conversations/{id}/title, PATCH /api/conversations/{id}/pin, lomtár + restore.