Endpointy API v1
Reference Codexis AI agent API: volání, parametry, odpovědi a příklady požadavků s autentizací pomocí API klíče.
Referenci rozšířeného rozhraní najdete u REST API v2.
Base URL: https://vm.codexis.ai. Všechny requesty vyžadují hlavičku X-Api-Key. Příklady používají proměnnou CODEXIS_API_KEY.
Virtuální počítač
- GET
/api/v1/vm - POST
/api/v1/vm/start - POST
/api/v1/vm/stop
Chat
- POST
/api/v1/chats - GET
/api/v1/chats - GET
/api/v1/chats/{chatId} - DELETE
/api/v1/chats/{chatId} - POST
/api/v1/chats/{chatId}/stop - GET
/api/v1/chats/{chatId}/messages/{messageId} - GET
/api/v1/chats/{chatId}/messages/{messageId}/events - GET
/api/v1/chats/{chatId}/events - GET
/api/v1/models - GET
/api/v1/jurisdictions - GET
/api/v1/skills - GET
/api/v1/agents
Přílohy
- POST
/api/v1/attachments
Soubory
- POST
/api/v1/files - GET
/api/v1/files/{path} - DELETE
/api/v1/files/{path} - GET
/api/v1/directories - GET
/api/v1/directories/{path} - POST
/api/v1/directories/{path}
Virtuální počítač
Pro zpracování dotazu musí být virtuální počítač ve stavu RUNNING.
GET /api/v1/vm
Vrátí stav virtuálního počítače.
Vrací
{ "status": "RUNNING" }200. status: RUNNING, STOPPED, STARTING, STOPPING.
Příklad požadavku
curl -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/vmPOST /api/v1/vm/start
Spustí virtuální počítač.
Vrací
{ "status": "STARTING" }202. Stav ověřujte přes GET /api/v1/vm do RUNNING.
Příklad požadavku
curl -X POST -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/vm/startPOST /api/v1/vm/stop
Vypne virtuální počítač.
Vrací
{ "status": "STOPPING" }202. Stav ověřujte přes GET /api/v1/vm do STOPPED.
Příklad požadavku
curl -X POST -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/vm/stopČíselníky
Accept-Language: cs, en, sk. Výchozí jazyk popisků: cs.
GET /api/v1/models
Vrátí modely a jejich nastavení.
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,
"disabled": false,
"supportsWebSearch": true,
"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"
}
]
}
]id: hodnota promodel.provider:OPENAI,ANTHROPIC,GOOGLE,TENSOR_X,OPENROUTER,CODEXIS.status: dostupnost poskytovatele,UP,DEGRADED,DOWN,UNKNOWN.default: výchozí model.disabled: model je vypnutý pro nové dotazy.supportsWebSearch: podporawebSearchEnabled.settings: povolené dvojicekeyaoptions[].value. Prodisabledje seznam prázdný.
Příklad požadavku
curl -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/modelsGET /api/v1/jurisdictions
Vrátí dostupné právní řády.
Vrací
[
{ "id": "CZ", "label": "Česká republika" },
{ "id": "SK", "label": "Slovensko" }
]200. Hodnoty id patří do jurisdictions dotazu.
Příklad požadavku
curl -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/jurisdictionsGET /api/v1/skills
Vrátí dovednosti, nejpoužívanější první.
Vrací
[
{
"id": "8f2c9d41-5b7e-4a03-9c66-1d4e8b2a7f50",
"name": "planner",
"fullName": "demo-plugin:planner",
"description": "Plánuje rešerši judikatury"
}
]200. V skillIds lze použít id, name nebo fullName.
Příklad požadavku
curl -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/skillsGET /api/v1/agents
Vrátí agenty.
Vrací
200. Stejná struktura jako dovednosti. agentId přijímá id, name nebo fullName.
Příklad požadavku
curl -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/agentsPřílohy
POST /api/v1/attachments
Nahraje přílohy pro zprávu.
Parametry
multipart/form-data
filespole souborů, povinné, multipart. Opakujte pole pro každý soubor. Každý soubor musí mít název a neprázdný obsah.
Vrací
[
{
"id": "62c96c7a-92f7-4b36-b1b8-6e124bc85502",
"name": "smlouva.pdf",
"size": 284913,
"createdAt": "2026-09-09T09:12:41Z"
}
]201. Pole příloh, i pro jeden soubor. size je v bajtech, createdAt v ISO 8601. ID předejte jako attachmentIds do POST /api/v1/chats.
Odeslání zprávy přesune přílohu do konverzace a spotřebuje její ID. Pro další přiložení soubor nahrajte znovu.
Příklad požadavku
curl -X POST -F "files=@smlouva.pdf" -H "X-Api-Key: $CODEXIS_API_KEY" \
"https://vm.codexis.ai/api/v1/attachments"Soubory
Všechny souborové endpointy vyžadují chatId v query. Cesty patří pracovnímu prostředí dané konverzace.
POST /api/v1/files
Nahraje soubor do konverzace.
Parametry
multipart/form-data
chatIdstring (UUID), povinné, query. Identifikátor konverzace.filesoubor, povinné, multipart. Neprázdný soubor s názvem.destinationstring, volitelné, multipart. Existující cílová složka. Výchozí:/home/codexis.
Vrací
{
"name": "smlouva.pdf",
"path": "/home/codexis/smlouva.pdf",
"size": 284913
}201. path slouží pro download, delete nebo odkaz v textu dotazu se stejným chatId. size je v bajtech.
Příklad požadavku
curl -X POST -F "file=@smlouva.pdf" -H "X-Api-Key: $CODEXIS_API_KEY" \
"https://vm.codexis.ai/api/v1/files?chatId=3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85"GET /api/v1/files/{path}
Stáhne soubor.
Parametry
chatIdstring (UUID), povinné, query. Identifikátor konverzace.pathstring, povinné, path. Cesta z uploadu nebo výpisu složky. Lomítka zachovejte, ostatní speciální znaky URL-enkódujte.
Vrací
200. Binární stream s hlavičkami Content-Type, Content-Length a Content-Disposition.
Příklad požadavku
curl -o smlouva.pdf -H "X-Api-Key: $CODEXIS_API_KEY" \
"https://vm.codexis.ai/api/v1/files/home/codexis/smlouva.pdf?chatId=3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85"GET /api/v1/directories
Vypíše /home/codexis dané konverzace.
Parametry
chatIdstring (UUID), povinné, query. Identifikátor konverzace.
Vrací
200. Stejný formát jako výpis složky.
Příklad požadavku
curl -H "X-Api-Key: $CODEXIS_API_KEY" \
"https://vm.codexis.ai/api/v1/directories?chatId=3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85"GET /api/v1/directories/{path}
Vypíše jednu úroveň složky bez skrytých položek.
Parametry
chatIdstring (UUID), povinné, query. Identifikátor konverzace.pathstring, povinné, path. Cesta složky v pracovním prostředí konverzace.
Vrací
{
"path": "/home/codexis",
"entries": [
{
"name": "smlouva.pdf",
"path": "/home/codexis/smlouva.pdf",
"type": "FILE",
"size": 284913,
"modifiedTime": "2026-09-09T09:12:41Z",
"mimeType": "application/pdf"
}
],
"totalEntries": 1
}200. entries[].path použijte se stejným chatId. entries[].type: FILE, DIRECTORY, SYMLINK, OTHER.
Příklad požadavku
curl -H "X-Api-Key: $CODEXIS_API_KEY" \
"https://vm.codexis.ai/api/v1/directories/home/codexis?chatId=3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85"DELETE /api/v1/files/{path}
Smaže soubor nebo složku.
Parametry
chatIdstring (UUID), povinné, query. Identifikátor konverzace.pathstring, povinné, path. Cesta z uploadu nebo výpisu složky. Lomítka zachovejte, ostatní speciální znaky URL-enkódujte.recursiveboolean, volitelné, query. Smazání složky včetně obsahu. Výchozí:false.
Vrací
204, prázdné tělo. Neprázdná složka vyžaduje recursive=true.
Příklad požadavku
curl -X DELETE -H "X-Api-Key: $CODEXIS_API_KEY" \
"https://vm.codexis.ai/api/v1/files/home/codexis/smlouva.pdf?chatId=3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85"POST /api/v1/directories/{path}
Vytvoří složku. Nadřazená složka musí existovat.
Parametry
chatIdstring (UUID), povinné, query. Identifikátor konverzace.pathstring, povinné, path. Cesta složky v pracovním prostředí konverzace.
Vrací
{
"name": "dokumenty",
"path": "/home/codexis/dokumenty"
}201. path lze použít jako destination uploadu.
Příklad požadavku
curl -X POST -H "X-Api-Key: $CODEXIS_API_KEY" \
"https://vm.codexis.ai/api/v1/directories/home/codexis/dokumenty?chatId=3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85"Konverzace
POST /api/v1/chats
Odešle dotaz.
Parametry
application/json
inputstring, povinné. Neprázdný text dotazu.chatIdstring (UUID), volitelné. Existující konverzace; vynecháním vznikne nová. Existující konverzace zachovávámodel,settings,jurisdictionsawebSearchEnabled.agentIdstring, volitelné.id,namenebofullNamezGET /api/v1/agents. Výchozí: výchozí agent účtu.skillIdsstring[], volitelné.id,namenebofullNamezGET /api/v1/skills.attachmentIdsstring[] (UUID), volitelné. Jednorázová ID zPOST /api/v1/attachments.modelstring, volitelné.idzGET /api/v1/models. Výchozí: model sdefault: true. Neznámé ID vrací400.jurisdictionsstring[], volitelné. HodnotyidzGET /api/v1/jurisdictions.webSearchEnabledboolean, volitelné. Vyžaduje model ssupportsWebSearch: true. Výchozí:false.settingspole objektů, volitelné. DvojicekeyavaluepodlesettingsvGET /api/v1/models.
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": ""
}202 se stavem in_progress, případně 201 se stavem completed.
id: UUID zprávy agenta.chatId: UUID konverzace pro další dotazy.text: dosavadní odpověď v Markdownu. Citace obsahujeparts.parts: strukturované části odpovědi.createdAt: ISO 8601.
Příklad požadavku
curl -X POST -H "X-Api-Key: $CODEXIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input": "Zkontroluj výpovědní lhůty v přiložené smlouvě.", "attachmentIds": ["62c96c7a-92f7-4b36-b1b8-6e124bc85502"]}' \
https://vm.codexis.ai/api/v1/chatsPokračování v konverzaci
Pro pokračování pošlete stejné chatId.
curl -X POST -H "X-Api-Key: $CODEXIS_API_KEY" \
-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
Vrátí konverzace od poslední aktivity.
Parametry
offsetinteger, volitelné, query. Počet přeskočených konverzací, minimum0. Výchozí:0.limitinteger, volitelné, query. Počet výsledků,1až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
}200. status: in_progress při generování odpovědi, jinak completed.
Příklad požadavku
curl -H "X-Api-Key: $CODEXIS_API_KEY" "https://vm.codexis.ai/api/v1/chats?offset=0&limit=50"GET /api/v1/chats/{chatId}
Vrátí konverzaci a zprávy v chronologickém pořadí.
Parametry
chatIdstring (UUID), povinné, path. Identifikátor 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": [] }
]
}200. chat odpovídá položce výpisu konverzací. messages[].role: USER nebo ASSISTANT; odpovědi obsahují parts.
Příklad požadavku
curl -H "X-Api-Key: $CODEXIS_API_KEY" \
https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85DELETE /api/v1/chats/{chatId}
Zastaví běžící odpověď a smaže konverzaci se zprávami.
Parametry
chatIdstring (UUID), povinné, path. Identifikátor konverzace.
Vrací
204, prázdné tělo. Neexistující konverzace: 404.
Příklad požadavku
curl -X DELETE -H "X-Api-Key: $CODEXIS_API_KEY" \
https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85POST /api/v1/chats/{chatId}/stop
Zastaví generování odpovědi. Dokončenou konverzaci ponechá beze změny.
Parametry
chatIdstring (UUID), povinné, path. Identifikátor konverzace.
Vrací
202. Souhrn konverzace; během zastavování může mít status: in_progress.
Příklad požadavku
curl -X POST -H "X-Api-Key: $CODEXIS_API_KEY" \
https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85/stopGET /api/v1/chats/{chatId}/messages/{messageId}
Vrátí aktuální stav odpovědi.
Parametry
chatIdstring (UUID), povinné, path. Identifikátor konverzace.messageIdstring (UUID), povinné, path. Poleidz odpovědi naPOST /api/v1/chats.
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…"
}200. Stejný objekt jako POST /api/v1/chats, dostupný po dobu existence konverzace. Pro průběžné změny použijte SSE.
Příklad požadavku
curl -H "X-Api-Key: $CODEXIS_API_KEY" \
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
SSE stream jedné odpovědi.
Parametry
chatIdstring (UUID), povinné, path. Identifikátor konverzace.messageIdstring (UUID), povinné, path. Poleidz odpovědi naPOST /api/v1/chats.
Vrací
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…"}200, text/event-stream. Událost message obsahuje aktuální odpověď. Událost completed ukončí stream.
Příklad požadavku
curl -N -H "X-Api-Key: $CODEXIS_API_KEY" \
https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85/messages/9c2e5b71-0f4d-4c8a-9a11-6b7e2f0d5c33/eventsGET /api/v1/chats/{chatId}/events
SSE stream konverzace. Zůstává otevřený mezi dotazy.
Parametry
chatIdstring (UUID), povinné, path. Identifikátor konverzace.
Vrací
200, text/event-stream. Události message a completed mají formát streamu odpovědi a týkají se poslední odpovědi v konverzaci.
Příklad požadavku
curl -N -H "X-Api-Key: $CODEXIS_API_KEY" \
https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85/eventsČásti odpovědi
text obsahuje Markdown odpovědi. parts obsahuje její strukturované části v pořadí vzniku.
{
"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.
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.
parts se mění do stavu completed.