Przejdź do głównej zawartości

Gaius-Lex API

Witaj w dokumentacji API Gaius-Lex - zaawansowanej platformy AI do analizy prawnej.

Przegląd​

API Gaius-Lex udostępnia szereg endpointów podzielonych na kategorie:

  • Documents - Przesyłanie i odczyt dokumentów organizacji (/api/v1/upload, /api/v1/external/documents/{file_id}); pliki widoczne dla agenta, z pobieraniem oryginałów, opisuje Agent API (v2) (/api/v2/files)
  • Search - Wyszukiwanie w źródłach prawnych (/api/v1/search, /api/v1/available-sources)
  • Answer - Odpowiedzi na pytania prawne z opcją uproszczenia; tryb webhook i polling (/api/v1/answer)
  • OCR - Asynchroniczne rozpoznawanie tekstu (/api/v1/ocr/poll)
  • Anonymization - Synchroniczna anonimizacja tekstu (/api/v1/anonymization)
  • Document Verification - Asynchroniczna weryfikacja cytowań i źródeł (/api/v1/doc-verification/poll)
  • Contract Analysis - Analiza abuzywności, tez, zgodności z regułami (/api/v1/abusivity, /api/v1/theses-analysis, /api/v1/alignment, /api/v1/rule-analysis/poll)
  • Company Registry - Wyszukiwanie w KRS i po NIP (/api/v1/krs, /api/v1/krs-text-analysis, /api/v1/krs-agreement)
  • Tools - Narzędzia Gaius i narzędzia organizacji, uruchamiane asynchronicznie (/api/v1/tool-api)
  • API Keys - Zarządzanie kluczami API organizacji (/core_api/api-key/create)

Agenta prawnego opisuje folder Agent API (v2) w referencji API (/api/v2/chat-sessions).

Autentykacja​

Wszystkie endpointy wymagają autoryzacji za pomocą nagłówka Authorization:

Authorization: Api-Key <TWÓJ_KLUCZ_API>

W przypadku braku lub nieprawidłowego klucza API większość endpointów zwraca 401.

Bazowy URL​

https://api.gaius-lex.pl

Sposób działania​

Większość endpointów działa asynchronicznie (webhook + polling):

  1. Wysyłasz żądanie POST na endpoint główny (np. POST /api/v1/answer) lub na endpoint poll (np. POST /api/v1/answer/poll)
  2. Otrzymujesz request_id (status 202)
  3. Odpytujesz endpoint GET .../poll/{request_id}
  4. Pobierasz wynik analizy (status 200)

Endpointy synchroniczne (POST /api/v1/anonymization, wyszukiwanie KRS) zwracają wynik od razu.

Agent API (v2)​

Agent prawny działa w sesjach rozmowy, z tym samym kluczem API:

  1. POST /api/v2/chat-sessions/ tworzy sesję. Z polem first_turn od razu uruchamia agenta i zwraca 202; active_turn_id wskazuje trwającą turę.
  2. GET /api/v2/chat-sessions/{session_id}/turns/{turn_id}/events przesyła postęp tury jako server-sent events. Każde zdarzenie zawiera pełną, aktualną wersję wiadomości lub tury. Po zerwaniu połączenia wznów je nagłówkiem Last-Event-ID.
  3. POST /api/v2/chat-sessions/{session_id}/turns wysyła kolejną wiadomość. Na pytanie agenta odpowiadasz przez .../questions/{message_id}/answers albo odrzucasz je przez .../reject.

GET /api/v2/chat-sessions/{session_id} zwraca całą historię sesji, a GET /api/v2/chat-sessions/{session_id}/files pliki, które agent w niej utworzył lub zmienił, z linkami do pobrania. DELETE /api/v2/chat-sessions/{session_id} usuwa sesję. Sesje należą do klucza API, który je utworzył.

Skille do wybrania w polu skills tury zwraca GET /api/v2/skills (podaj path i title bez zmian), a profile agenta do pola profile_id zwraca GET /api/v1/agent-profiles.

Pliki​

Agent pracuje na dysku konta klucza (/data/user_data) i w folderach mu udostępnionych (/data/shared). Te same pliki są dostępne przez API:

  • GET /api/v2/files?path=/data/user_data&recursive=true zwraca listę plików stronicowaną przez offset, count i next_cursor. Każdy plik ma id (UUID), rozmiar, typ i datę zmiany.
  • GET /api/v2/files/{file_id}/content pobiera plik z właściwym Content-Type. Pliki DOCX i PDF zapisane przez agenta oraz pliki tekstowe są zwracane bez zmian. Wgrane PDF-y i skany, których oryginał nie jest przechowywany, są zwracane jako DOCX z rozpoznanym tekstem.
  • Plik zapisany przez agenta pojawia się w turze jako artefakt file_preview. Jego pole file_uuid to file_id pliku. Ścieżkę agenta (np. /data/user_data/opinia.md) zamienia na plik GET /api/v2/files/by-path?path=....
  • POST /api/v2/files wgrywa pliki do wybranego folderu (path). Parametr on_conflict określa, co się dzieje, gdy w folderze jest już plik o tej nazwie: rename (domyślnie) dodaje do nazwy datę, replace zastępuje istniejący plik, a fail zwraca 409 i niczego nie zapisuje.
  • Status wgrywania i file_id zapisanych plików zwraca GET /api/v2/files/uploads/{request_id}, zarówno po POST /api/v2/files, jak i po POST /api/v1/upload.
  • PATCH /api/v2/files/{file_id} zmienia nazwę pliku lub przenosi go do innego folderu (plik zachowuje id), a DELETE /api/v2/files/{file_id} trwale go usuwa. POST /api/v2/folders tworzy folder, a DELETE /api/v2/folders?path=... usuwa folder razem z zawartością. Zmieniać można tylko pliki na dysku konta (/data/user_data); foldery w /data/shared są tylko do odczytu.

Odpowiedzi agenta zawierają znaczniki cytowań, np. [SA1]. Klucz w nawiasie wskazuje źródło w metadata.citations wiadomości. W plikach zapisywanych przez agenta znaczniki są zastępowane sygnaturą lub tytułem źródła.

Narzędzia​

Każde narzędzie z aplikacji (12 wbudowanych narzędzi Gaius i opublikowane narzędzia organizacji) ma własny endpoint /api/v1/tool-api/{tool_id}. Uruchamiasz je asynchronicznie i odpytujesz o wynik. Opis, katalog narzędzi i przykłady są na stronie Narzędzia.

Dokumentacja endpointów (/info)​

Każdy endpoint API ma bliźniaczy GET <endpoint>/info, np. GET /api/v1/search/info. Zwraca opis endpointu oraz JSON Schema wejścia (input_schema) i wyjścia (output_schema). Szczegóły są na stronie Narzędzia.

Rozpocznij​

Przejdź do referencji API albo do Agent API (v2), aby zobaczyć szczegóły endpointów.