Přehled endpointů
Reference všech volání Codexis AI agent API. Cesty jsou relativní k https://vm.codexis.ai a každé volání nese hlavičku X-Api-Key. Vytvoření klíče, chybové kódy a bezpečnostní zásady popisuje Integrace přes API.
Virtuální stroj
- GET
/api/v1/vmvrátí stav virtuálního počítače. - POST
/api/v1/vm/startnastartuje virtuální počítač. - POST
/api/v1/vm/stopvypne virtuální počítač.
Chat
- POST
/api/v1/chatspošle dotaz agentovi. - GET
/api/v1/chatsvypíše vaše konverzace. - GET
/api/v1/chats/{chatId}vrátí konverzaci i s průběhem. - DELETE
/api/v1/chats/{chatId}smaže konverzaci. - POST
/api/v1/chats/{chatId}/stopzastaví rozepsanou odpověď. - GET
/api/v1/chats/{chatId}/messages/{messageId}vyzvedne odpověď na dotaz. - GET
/api/v1/chats/{chatId}/messages/{messageId}/eventsstreamuje odpověď průběžně. - GET
/api/v1/chats/{chatId}/eventsstreamuje dění celé konverzace. - GET
/api/v1/modelsvrátí dostupné modely a jejich volby. - GET
/api/v1/jurisdictionsvrátí dostupné právní řády. - GET
/api/v1/skillsvrátí vaše dovednosti. - GET
/api/v1/agentsvrátí vaše agenty.
Soubory
- POST
/api/v1/filesnahraje soubor do pracovního prostoru agenta. - GET
/api/v1/files/{path}stáhne soubor z pracovního prostoru. - DELETE
/api/v1/files/{path}smaže soubor nebo složku z pracovního prostoru. - GET
/api/v1/directories/{path}vypíše obsah složky. - POST
/api/v1/directories/{path}založí složku v pracovním prostoru.
Virtuální počítač
Agent běží na virtuálním počítači, který je jen váš. Dotaz zpracuje, když je počítač ve stavu RUNNING.
GET /api/v1/vm
Vrátí stav virtuálního počítače, na kterém běží váš agent.
Parametry
Žádné.
Vrací
{ "status": "RUNNING" }Stav je jedna z hodnot RUNNING, STOPPED, STARTING, STOPPING.
Příklad požadavku
curl -H "X-Api-Key: api-…" https://vm.codexis.ai/api/v1/vmPOST /api/v1/vm/start
Nastartuje virtuální počítač.
Parametry
Žádné.
Vrací
{ "status": "STARTING" }Odpovědí je 202. Přechod do stavu RUNNING trvá desítky sekund, ověřte si ho voláním GET /api/v1/vm.
Příklad požadavku
curl -X POST -H "X-Api-Key: api-…" https://vm.codexis.ai/api/v1/vm/startPOST /api/v1/vm/stop
Vypne virtuální počítač.
Parametry
Žádné.
Vrací
{ "status": "STOPPING" }Odpovědí je 202. Samotné vypnutí chvíli trvá.
Příklad požadavku
curl -X POST -H "X-Api-Key: api-…" https://vm.codexis.ai/api/v1/vm/stopČíselníky
Hodnoty, které přijímá POST /api/v1/chats, si nemusíte pamatovat — API je umí vyjmenovat. Popisky ctí hlavičku Accept-Language (cs, en, sk); bez ní přijdou česky.
GET /api/v1/models
Vrátí jazykové modely, kterými může konverzace odpovídat, včetně voleb, které každý model přijímá.
Parametry
Žádné.
Vrací
[
{
"id": "GPT_5_6_TERRA",
"label": "GPT-5.6 Terra",
"description": "Vyvážená konfigurace GPT-5.6 mezi inteligencí a cenou.",
"provider": "OPENAI",
"status": "UP",
"default": true,
"deprecated": false,
"settings": [
{
"key": "reasoningEffort",
"label": "Úroveň uvažování",
"options": [
{ "value": "LOW", "label": "Nízká" },
{ "value": "MEDIUM", "label": "Střední" },
{ "value": "HIGH", "label": "Vysoká" }
],
"defaultValue": "MEDIUM"
}
]
}
]idstring. Hodnota pro polemodelpři posílání dotazu.providerstring. Jedna z hodnotOPENAI,ANTHROPIC,GOOGLE.statusstring. Aktuální dostupnost poskytovatele:UP,DEGRADED,DOWN,UNKNOWN.defaultboolean. Model použitý, kdyžmodelv dotazu vynecháte.deprecatedboolean. Model je na odchodu; zůstává funkční, ale nevybírejte ho pro nové integrace.settingspole objektů. Volby, které model přijímá. Vybrané hodnoty posíláte jakosettingsdotazu,keyaoptions[].valuepřesně tak, jak tu stojí. Zastaralé modely žádné volby nenabízejí.
Příklad požadavku
curl -H "X-Api-Key: api-…" https://vm.codexis.ai/api/v1/modelsGET /api/v1/jurisdictions
Vrátí právní řády, ve kterých agent umí hledat.
Parametry
Žádné.
Vrací
[
{ "id": "CZ", "label": "Česká republika" },
{ "id": "SK", "label": "Slovensko" }
]Hodnotu id posíláte v poli jurisdictions dotazu.
Příklad požadavku
curl -H "X-Api-Key: api-…" https://vm.codexis.ai/api/v1/jurisdictionsGET /api/v1/skills
Vrátí dovednosti dostupné na vašem účtu, nejpoužívanější první.
Parametry
Žádné.
Vrací
[
{
"id": "8f2c9d41-5b7e-4a03-9c66-1d4e8b2a7f50",
"name": "planner",
"fullName": "demo-plugin:planner",
"description": "Plánuje rešerši judikatury"
}
]V poli skillIds dotazu můžete použít id, name i fullName.
Příklad požadavku
curl -H "X-Api-Key: api-…" https://vm.codexis.ai/api/v1/skillsGET /api/v1/agents
Vrátí agenty dostupné na vašem účtu.
Parametry
Žádné.
Vrací
Stejný tvar jako u dovedností: id, name, fullName a description. V poli agentId dotazu můžete použít kteroukoli z prvních tří hodnot.
Příklad požadavku
curl -H "X-Api-Key: api-…" https://vm.codexis.ai/api/v1/agentsSoubory
POST /api/v1/files
Nahraje soubor do pracovního prostoru agenta, aby na něj šlo odkázat v dotazu.
Parametry
Tělo požadavku je multipart/form-data.
filesoubor, povinné. Obsah nahrávaného souboru. Soubor musí mít název a nějaký obsah.destinationstring, volitelné. Cílová složka v pracovním prostoru. Výchozí je složka pro nahrané soubory.temporaryboolean, volitelné. Odloží soubor stranou místo do zvolené složky. Výchozí:false. Nelze poslat spolu sdestination, jinak přijde 400.
Vrací
{
"name": "smlouva.pdf",
"path": "/uploads/smlouva.pdf",
"size": 284913
}Odpovědí je 201. Hodnotu path předáváte v poli filePaths při posílání dotazu, size je velikost v bajtech.
Příklad požadavku
curl -X POST -H "X-Api-Key: api-…" \
-F "file=@smlouva.pdf" \
https://vm.codexis.ai/api/v1/filesOdkládací soubory
Posíláte-li dokument, který má agent jen jednorázově posoudit a nemá zůstat mezi vašimi soubory, přidejte temporary=true. Soubor se uloží do vlastní podsložky .tmp, takže opakované nahrání stejného názvu nic nepřepíše.
curl -X POST -H "X-Api-Key: api-…" \
-F "file=@smlouva.pdf" \
-F "temporary=true" \
https://vm.codexis.ai/api/v1/filesVrácenou cestu použijete v filePaths úplně stejně jako u běžného nahrání.
Odkládací soubory se samy nemažou
Složka .tmp nemá žádnou dobu platnosti a nic ji neuklízí. Až soubor přestanete potřebovat, smažte ho voláním DELETE /api/v1/files/{path}, jinak vám v pracovním prostoru zůstane napořád.
GET /api/v1/files/{path}
Stáhne soubor z pracovního prostoru. Obsah se streamuje, takže velikost souboru nehraje roli.
Parametry
path, povinné, v cestě. Cesta souboru tak, jak ji vrací nahrání (path) nebo výpis složky (entries[].path). Připojuje se za/api/v1/filesi s lomítky, nic se nekóduje.
Vrací
Binární obsah souboru s jeho skutečným Content-Type, délkou v Content-Length a názvem v Content-Disposition (UTF-8, takže diakritika v názvech funguje).
404, na této cestě žádný soubor není.400, cesta vede na složku.403, cesta míří mimo váš pracovní prostor.
Příklad požadavku
curl -H "X-Api-Key: api-…" -o smlouva.pdf \
https://vm.codexis.ai/api/v1/files/home/codexis/uploads/smlouva.pdfGET /api/v1/directories/{path}
Vypíše obsah složky pracovního prostoru — jednu úroveň, bez skrytých souborů a bez obsahu souborů. Bez cesty (GET /api/v1/directories) vypíše domovskou složku.
Parametry
path, volitelné, v cestě. Cesta složky, připojená za/api/v1/directoriesi s lomítky. Výchozí je domovská složka.
Vrací
{
"path": "/home/codexis/uploads",
"entries": [
{
"name": "smlouva.pdf",
"path": "/home/codexis/uploads/smlouva.pdf",
"type": "FILE",
"size": 284913,
"modifiedTime": "2026-07-30T09:12:41Z",
"mimeType": "application/pdf"
}
],
"totalEntries": 1
}entries[].typestring. Jedna z hodnotFILE,DIRECTORY,SYMLINK,OTHER.entries[].pathstring. Cesta použitelná pro stažení, přiložení k dotazu i smazání.- Do podsložky se zanoříte dalším voláním s její cestou.
Příklad požadavku
curl -H "X-Api-Key: api-…" \
https://vm.codexis.ai/api/v1/directories/home/codexis/uploadsDELETE /api/v1/files/{path}
Smaže soubor nebo složku z pracovního prostoru agenta.
Parametry
path, povinné, v cestě. Cesta mazaného souboru nebo složky, připojená za/api/v1/filesi s lomítky. Berte ji z polepathodpovědi na nahrání nebo z výpisu složky.recursiveboolean, volitelné, v adrese. Povolí smazat i složku, ve které něco je. Výchozí:false.
Vrací
Odpovědí je 204 s prázdným tělem.
404, na této cestě nic není.409, mažete složku, ve které něco je, a neposlali jsterecursive=true.403, cesta míří mimo váš pracovní prostor.
Příklad požadavku
curl -X DELETE -H "X-Api-Key: api-…" \
https://vm.codexis.ai/api/v1/files/home/codexis/uploads/smlouva.pdfSložku i s obsahem smažete takto:
curl -X DELETE -H "X-Api-Key: api-…" \
"https://vm.codexis.ai/api/v1/files/home/codexis/davka-2026-07?recursive=true"POST /api/v1/directories/{path}
Založí složku na zadané cestě. Hodí se, když si dávku dokumentů chcete nahrát do vlastní složky.
Parametry
path, povinné, v cestě. Cesta nové složky, připojená za/api/v1/directoriesi s lomítky. Nadřazená složka už musí existovat.
Vrací
{
"name": "davka-2026-07",
"path": "/home/codexis/davka-2026-07"
}Odpovědí je 201. Vrácenou cestu můžete rovnou použít jako destination při nahrávání souborů.
409, složka na této cestě už existuje.404, nadřazená složka neexistuje.403, cesta míří mimo váš pracovní prostor.
Příklad požadavku
curl -X POST -H "X-Api-Key: api-…" \
https://vm.codexis.ai/api/v1/directories/home/codexis/davka-2026-07Konverzace
POST /api/v1/chats
Pošle dotaz agentovi, buď do nové konverzace, nebo do existující.
Parametry
Tělo požadavku je JSON.
inputstring, povinné. Text dotazu. Jediné pole, které musíte poslat.chatIdstring, volitelné. UUID konverzace, do které se dotaz přidá. Výchozí je nová konverzace. Při pokračování semodel,settings,jurisdictionsawebSearchEnabledpřebírají z konverzace.agentIdstring, volitelné. Agent, který má odpovědět, zadaný svým ID, názvem nebo celým názvem. Nabídku vracíGET /api/v1/agents. Výchozí je váš výchozí agent.skillIdspole řetězců, volitelné. Dovednosti, které má mít agent pro tento dotaz k dispozici, zadané svými ID, názvy nebo celými názvy. Nabídku vracíGET /api/v1/skills.filePathspole řetězců, volitelné. Cesty souborů z pracovního prostoru, které se k dotazu přiloží. Hodnoty berte z polepathv odpovědi na nahrání souboru.modelstring, volitelné. Jazykový model, hodnotaidzGET /api/v1/models, třebaGPT_5_6_TERRAneboCLAUDE_SONNET_5. Výchozí je model označený v nabídce jakodefault. Neznámý model vrátí 400 se seznamem platných hodnot.jurisdictionspole řetězců, volitelné. Právní řády, ve kterých má agent hledat, hodnotyidzGET /api/v1/jurisdictions.webSearchEnabledboolean, volitelné. Povolí agentovi hledat i na internetu. Výchozí:false.settingspole objektů, volitelné. Doladění modelu, stejné volby jako v aplikaci. Které volby model přijímá, říká polesettingsvGET /api/v1/models.keystring. Název volby.valuestring. Hodnota volby.
Vrací
{
"id": "9c2e5b71-0f4d-4c8a-9a11-6b7e2f0d5c33",
"chatId": "3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85",
"status": "in_progress",
"createdAt": "2026-07-30T09:14:22Z",
"model": "GPT_5_6_SOL",
"text": ""
}Odpověď 202 přijde okamžitě, ještě než agent domyslí. Stihne-li agent odpovědět rovnou, přijde 201 se stavem completed.
idstring. UUID odpovědi agenta. Spolu schatIdjím odpověď vyzvednete.chatIdstring. UUID konverzace. Pošlete-li ho v dalším dotazu, konverzace pokračuje.statusstring. Jedna z hodnotin_progressacompleted. Se stavemcompletedje text odpovědi celý.textstring. Text odpovědi napsaný zatím.modelstring. Jazykový model, kterým konverzace odpovídá.createdAtstring. Čas vzniku odpovědi ve formátu ISO 8601.partspole objektů. Z čeho se odpověď skládá, v pořadí, jak vznikala. Popisují je Části odpovědi.
Příklad požadavku
curl -X POST -H "X-Api-Key: api-…" \
-H "Content-Type: application/json" \
-d '{"input": "Zkontroluj výpovědní lhůty v přiložené smlouvě.", "filePaths": ["/uploads/smlouva.pdf"]}' \
https://vm.codexis.ai/api/v1/chatsPokračování v konverzaci
Chcete-li se doptat, pošlete další dotaz se stejným chatId. Agent zná celý předchozí průběh.
curl -X POST -H "X-Api-Key: api-…" \
-H "Content-Type: application/json" \
-d '{"chatId": "3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85", "input": "A co záruky?"}' \
https://vm.codexis.ai/api/v1/chatsGET /api/v1/chats
Vypíše vaše konverzace, připnuté první a pak od nejnovější.
Parametry
offsetčíslo, volitelné, v adrese. Kolik konverzací přeskočit. Výchozí:0.limitčíslo, volitelné, v adrese. Kolik konverzací vrátit, nejvýše 200. Výchozí:50.
Vrací
{
"chats": [
{
"chatId": "3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85",
"title": "Výpovědní lhůty ve smlouvě",
"status": "completed",
"createdAt": "2026-07-30T09:14:22Z",
"modifiedAt": "2026-07-30T09:16:03Z",
"model": "GPT_5_6_TERRA",
"pinned": false,
"webSearchEnabled": false,
"jurisdictions": ["CZ"]
}
],
"offset": 0,
"limit": 50,
"totalCount": 1
}status je in_progress, dokud konverzace odpovídá, jinak completed.
Příklad požadavku
curl -H "X-Api-Key: api-…" "https://vm.codexis.ai/api/v1/chats?offset=0&limit=50"GET /api/v1/chats/{chatId}
Vrátí konverzaci i s celým dosavadním průběhem.
Parametry
chatIdstring, povinné, v cestě. UUID konverzace.
Vrací
{
"chat": { "chatId": "3f8b1a20-…", "title": "Výpovědní lhůty ve smlouvě", "status": "completed" },
"messages": [
{ "id": "71d3…", "role": "USER", "status": "completed", "text": "Zkontroluj výpovědní lhůty…" },
{ "id": "9c2e…", "role": "ASSISTANT", "status": "completed", "text": "Výpovědní lhůty ve smlouvě…", "parts": [] }
]
}chatobjekt. Stejný souhrn jako ve výpisu konverzací.messagespole objektů. Průběh v pořadí, jak vznikal.rolejeUSER, neboASSISTANT; odpovědi agenta nesou iparts.
Příklad požadavku
curl -H "X-Api-Key: api-…" \
https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85DELETE /api/v1/chats/{chatId}
Smaže konverzaci i s jejími odpověďmi. Probíhající odpověď se před smazáním zastaví.
Parametry
chatIdstring, povinné, v cestě. UUID konverzace.
Vrací
Odpovědí je 204 s prázdným tělem. Neexistující konverzace vrátí 404.
Příklad požadavku
curl -X DELETE -H "X-Api-Key: api-…" \
https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85POST /api/v1/chats/{chatId}/stop
Zastaví odpověď, kterou konverzace právě píše. U konverzace, která nic nepíše, se nic nestane a vrátí se její aktuální stav.
Parametry
chatIdstring, povinné, v cestě. UUID konverzace.
Vrací
Odpovědí je 202 se souhrnem konverzace ve stejném tvaru jako ve výpisu. Zastavení může ještě chvíli dobíhat, takže status může být stále in_progress.
Příklad požadavku
curl -X POST -H "X-Api-Key: api-…" \
https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85/stopGET /api/v1/chats/{chatId}/messages/{messageId}
Vyzvedne odpověď na dotaz.
Parametry
chatIdstring, povinné, v cestě. UUID konverzace, ze které odpověď je. Berte ho z polechatIdodpovědi na dotaz.messageIdstring, povinné, v cestě. UUID odpovědi agenta. Berte ho z poleidodpovědi na dotaz.
Vrací
{
"id": "9c2e5b71-0f4d-4c8a-9a11-6b7e2f0d5c33",
"chatId": "3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85",
"status": "completed",
"createdAt": "2026-07-30T09:14:22Z",
"model": "GPT_5_6_SOL",
"text": "Výpovědní lhůty ve smlouvě jsou nastavené takto…"
}Stejný objekt jako POST /api/v1/chats, s textem dopsaným podle stavu. Odpověď se píše postupně, proto se na ni chodíte dívat opakovaně, rozumný interval je pět až deset sekund. K vyzvednutí zůstává, dokud konverzace existuje.
Příklad požadavku
curl -H "X-Api-Key: api-…" \
https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85/messages/9c2e5b71-0f4d-4c8a-9a11-6b7e2f0d5c33GET /api/v1/chats/{chatId}/messages/{messageId}/events
Streamuje jednu odpověď průběžně přes Server-Sent Events, místo opakovaného vyzvedávání.
Parametry
chatIdstring, povinné, v cestě. UUID konverzace.messageIdstring, povinné, v cestě. UUID odpovědi agenta.
Vrací
Proud text/event-stream. Každá událost message nese aktuální podobu odpovědi ve stejném tvaru jako POST /api/v1/chats; poslední událost se jmenuje completed a stream jí končí.
event: message
data: {"id":"9c2e5b71-…","chatId":"3f8b1a20-…","status":"in_progress","text":"Výpovědní lhůty"}
event: completed
data: {"id":"9c2e5b71-…","chatId":"3f8b1a20-…","status":"completed","text":"Výpovědní lhůty ve smlouvě jsou nastavené takto…"}Příklad požadavku
curl -N -H "X-Api-Key: api-…" \
https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85/messages/9c2e5b71-0f4d-4c8a-9a11-6b7e2f0d5c33/eventsGET /api/v1/chats/{chatId}/events
Streamuje dění celé konverzace přes Server-Sent Events. Zůstává otevřený i mezi dotazy, hodí se pro integraci, která konverzaci sleduje dlouhodobě.
Parametry
chatIdstring, povinné, v cestě. UUID konverzace.
Vrací
Proud text/event-stream ve stejném tvaru jako u streamu jedné odpovědi: událost message pro každou změnu poslední odpovědi v konverzaci a completed, jakmile je hotová.
Příklad požadavku
curl -N -H "X-Api-Key: api-…" \
https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85/eventsČásti odpovědi
Pole parts popisuje, z čeho se odpověď skládá, v pořadí, jak vznikala. Zatímco text je hotový text, parts ukazují i cestu k němu: co si agent nastudoval, co spustil a odkud čerpal. Potřebujete-li jen odpověď, vystačíte si s text a parts můžete ignorovat.
{
"partId": "b1f0c4d2-77a5-4e3b-9c81-2d5f6a0e4b19",
"type": "TEXT",
"content": "<p>Výpovědní lhůta je <a href=\"https://next.codexis.cz/doc/CR26785_2026_01_01\">tříměsíční</a>…</p>",
"citations": [
{
"citationId": "c1",
"source": { "type": "URL", "url": "https://next.codexis.cz/doc/CR26785_2026_01_01" }
}
]
}Každá část má partId (UUID) a type. Podle typu se liší, která další pole nesou obsah:
TEXT— kus odpovědi.contentje HTML a citace už má vsazené uvnitř jako odkazy na zdroj. Tytéž zdroje najdete rozepsané vcitations.REASONING— úvaha agenta, také jako HTML vcontent.TOOL— agent spustil nástroj.toolNameříká který,toolCallIdje identifikátor spuštění astatejeho stav.WEB_SEARCH— hledání na internetu.queryje hledaný dotaz,sourcesnalezené zdroje. JakotoolNamepřijdeweb_search.SKILL— agent použil dovednost.AGENT— odpověď zpracoval jiný agent.FILE— do odpovědi vstoupil soubor z pracovního prostoru.
Další pole:
statestring. Stav u částí, které něco spouštějí. Jedna z hodnotPENDING,COMPLETE,ERROR.citationspole objektů. Citace v této části. Každá mácitationIdasource.sourcespole objektů. Zdroje, se kterými část pracovala. Každý mátype(URLneboFILE) a podle nějurl, nebopath.
Části přibývají postupně
Dokud je odpověď ve stavu in_progress, parts se dopisují a jejich obsah se mění. Ustálí se ve chvíli, kdy odpověď přejde do stavu completed.
OpenAPI specifikace
Strojově čitelné schéma celého API najdete v openapi.yaml. Načtete ho do Postmanu, Insomnie nebo generátoru klientů.
Jak zacházet s klíčem a co znamenají chybové kódy, popisuje Integrace přes API.