CODEXIS AI

Endpointy API v1

Referencia Codexis AI agent API: volania, parametre, odpovede a príklady požiadaviek s autentizáciou pomocou API kľúča.

Referenciu rozšíreného rozhrania nájdete pri REST API v2.

Base URL: https://vm.codexis.ai. Všetky požiadavky vyžadujú hlavičku X-Api-Key. Príklady používajú premennú CODEXIS_API_KEY.

Autentizácia a HTTP chyby.

Virtuálny stroj

Chat

Prílohy

Súbory

Virtuálny počítač

Pre spracovanie požiadavky musí byť virtuálny počítač v stave RUNNING.

GET /api/v1/vm

Vráti stav virtuálneho počítača.

Vracia

{ "status": "RUNNING" }

200. status: RUNNING, STOPPED, STARTING, STOPPING.

Príklad požiadavky

curl -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/vm

POST /api/v1/vm/start

Spustí virtuálny počítač.

Vracia

{ "status": "STARTING" }

202. Stav overujte cez GET /api/v1/vm do RUNNING.

Príklad požiadavky

curl -X POST -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/vm/start

POST /api/v1/vm/stop

Vypne virtuálny počítač.

Vracia

{ "status": "STOPPING" }

202. Stav overujte cez GET /api/v1/vm do STOPPED.

Príklad požiadavky

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ýchodiskový jazyk popiskov: cs.

GET /api/v1/models

Vráti modely a ich nastavenia.

Vracia

[
  {
    "id": "GPT_5_6_TERRA",
    "label": "GPT-5.6 Terra",
    "description": "Vyvážená konfigurácia GPT-5.6 medzi inteligenciou a cenou.",
    "provider": "OPENAI",
    "status": "UP",
    "default": true,
    "disabled": false,
    "supportsWebSearch": true,
    "settings": [
      {
        "key": "reasoningEffort",
        "label": "Úroveň uvažovania",
        "options": [
          { "value": "LOW", "label": "Nízka" },
          { "value": "MEDIUM", "label": "Stredná" },
          { "value": "HIGH", "label": "Vysoká" }
        ],
        "defaultValue": "MEDIUM"
      }
    ]
  }
]
  • id: hodnota pre model.
  • provider: OPENAI, ANTHROPIC, GOOGLE, TENSOR_X, OPENROUTER, CODEXIS.
  • status: dostupnosť poskytovateľa, UP, DEGRADED, DOWN, UNKNOWN.
  • default: východiskový model.
  • disabled: model je vypnutý pre nové otázky.
  • supportsWebSearch: podpora webSearchEnabled.
  • settings: povolené dvojice key a options[].value. Pre disabled je zoznam prázdny.

Príklad požiadavky

curl -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/models

GET /api/v1/jurisdictions

Vráti dostupné právne poriadky.

Vracia

[
  { "id": "CZ", "label": "Česká republika" },
  { "id": "SK", "label": "Slovensko" }
]

200. Hodnoty id patria do jurisdictions otázky.

Príklad požiadavky

curl -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/jurisdictions

GET /api/v1/skills

Vráti schopnosti, najpoužívanejšie prvé.

Vracia

[
  {
    "id": "8f2c9d41-5b7e-4a03-9c66-1d4e8b2a7f50",
    "name": "planner",
    "fullName": "demo-plugin:planner",
    "description": "Plánuje rešerš judikatúry"
  }
]

200. V skillIds možno použiť id, name alebo fullName.

Príklad požiadavky

curl -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/skills

GET /api/v1/agents

Vráti agentov.

Vracia

200. Rovnaká štruktúra ako schopnosti. agentId prijíma id, name alebo fullName.

Príklad požiadavky

curl -H "X-Api-Key: $CODEXIS_API_KEY" https://vm.codexis.ai/api/v1/agents

Prílohy

POST /api/v1/attachments

Nahrá prílohy pre správu.

Parametre

multipart/form-data

  • files pole súborov, povinné, multipart. Opakujte pole pre každý súbor. Každý súbor musí mať názov a neprázdny obsah.

Vracia

[
  {
    "id": "62c96c7a-92f7-4b36-b1b8-6e124bc85502",
    "name": "zmluva.pdf",
    "size": 284913,
    "createdAt": "2026-09-09T09:12:41Z"
  }
]

201. Pole príloh, aj pre jeden súbor. size je v bajtoch, createdAt v ISO 8601. ID odovzdajte ako attachmentIds do POST /api/v1/chats.

Odoslanie správy presunie prílohu do konverzácie a spotrebuje jej ID. Pre ďalšie priloženie súbor nahrajte znova.

Príklad požiadavky

curl -X POST -F "files=@zmluva.pdf" -H "X-Api-Key: $CODEXIS_API_KEY" \
  "https://vm.codexis.ai/api/v1/attachments"

Súbory

Všetky súborové endpointy vyžadujú chatId v query. Cesty patria pracovnému prostrediu danej konverzácie.

POST /api/v1/files

Nahrá súbor do konverzácie.

Parametre

multipart/form-data

  • chatId string (UUID), povinné, query. Identifikátor konverzácie.
  • file súbor, povinné, multipart. Neprázdny súbor s názvom.
  • destination string, voliteľné, multipart. Existujúci cieľový priečinok. Východiskový: /home/codexis.

Vracia

{
  "name": "zmluva.pdf",
  "path": "/home/codexis/zmluva.pdf",
  "size": 284913
}

201. path slúži pre download, delete alebo odkaz v texte otázky s rovnakým chatId. size je v bajtoch.

Príklad požiadavky

curl -X POST -F "file=@zmluva.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}

Stiahne súbor.

Parametre

  • chatId string (UUID), povinné, query. Identifikátor konverzácie.
  • path string, povinné, path. Cesta z uploadu alebo výpisu priečinka. Lomky zachovajte, ostatné špeciálne znaky URL-enkódujte.

Vracia

200. Binárny stream s hlavičkami Content-Type, Content-Length a Content-Disposition.

Príklad požiadavky

curl -o zmluva.pdf -H "X-Api-Key: $CODEXIS_API_KEY" \
  "https://vm.codexis.ai/api/v1/files/home/codexis/zmluva.pdf?chatId=3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85"

GET /api/v1/directories

Vypíše /home/codexis danej konverzácie.

Parametre

  • chatId string (UUID), povinné, query. Identifikátor konverzácie.

Vracia

200. Rovnaký formát ako výpis priečinka.

Príklad požiadavky

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ň priečinka bez skrytých položiek.

Parametre

  • chatId string (UUID), povinné, query. Identifikátor konverzácie.
  • path string, povinné, path. Cesta priečinka v pracovnom prostredí konverzácie.

Vracia

{
  "path": "/home/codexis",
  "entries": [
    {
      "name": "zmluva.pdf",
      "path": "/home/codexis/zmluva.pdf",
      "type": "FILE",
      "size": 284913,
      "modifiedTime": "2026-09-09T09:12:41Z",
      "mimeType": "application/pdf"
    }
  ],
  "totalEntries": 1
}

200. entries[].path použite s rovnakým chatId. entries[].type: FILE, DIRECTORY, SYMLINK, OTHER.

Príklad požiadavky

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}

Zmaže súbor alebo priečinok.

Parametre

  • chatId string (UUID), povinné, query. Identifikátor konverzácie.
  • path string, povinné, path. Cesta z uploadu alebo výpisu priečinka. Lomky zachovajte, ostatné špeciálne znaky URL-enkódujte.
  • recursive boolean, voliteľné, query. Zmazanie priečinka vrátane obsahu. Východisková hodnota: false.

Vracia

204, prázdne telo. Neprázdny priečinok vyžaduje recursive=true.

Príklad požiadavky

curl -X DELETE -H "X-Api-Key: $CODEXIS_API_KEY" \
  "https://vm.codexis.ai/api/v1/files/home/codexis/zmluva.pdf?chatId=3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85"

POST /api/v1/directories/{path}

Vytvorí priečinok. Nadradený priečinok musí existovať.

Parametre

  • chatId string (UUID), povinné, query. Identifikátor konverzácie.
  • path string, povinné, path. Cesta priečinka v pracovnom prostredí konverzácie.

Vracia

{
  "name": "dokumenty",
  "path": "/home/codexis/dokumenty"
}

201. path možno použiť ako destination uploadu.

Príklad požiadavky

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"

Konverzácie

POST /api/v1/chats

Odošle otázku.

Parametre

application/json

  • input string, povinné. Neprázdny text otázky.
  • chatId string (UUID), voliteľné. Existujúca konverzácia; vynechaním vznikne nová. Existujúca konverzácia zachováva model, settings, jurisdictions a webSearchEnabled.
  • agentId string, voliteľné. id, name alebo fullName z GET /api/v1/agents. Východiskový: východiskový agent účtu.
  • skillIds string[], voliteľné. id, name alebo fullName z GET /api/v1/skills.
  • attachmentIds string[] (UUID), voliteľné. Jednorazové ID z POST /api/v1/attachments.
  • model string, voliteľné. id z GET /api/v1/models. Východiskový: model s default: true. Neznáme ID vracia 400.
  • jurisdictions string[], voliteľné. Hodnoty id z GET /api/v1/jurisdictions.
  • webSearchEnabled boolean, voliteľné. Vyžaduje model s supportsWebSearch: true. Východisková hodnota: false.
  • settings pole objektov, voliteľné. Dvojice key a value podľa settings v GET /api/v1/models.

Vracia

{
  "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 so stavom in_progress, prípadne 201 so stavom completed.

  • id: UUID správy agenta.
  • chatId: UUID konverzácie pre ďalšie otázky.
  • text: doterajšia odpoveď v Markdowne. Citácie obsahuje parts.
  • parts: štruktúrované časti odpovede.
  • createdAt: ISO 8601.

Príklad požiadavky

curl -X POST -H "X-Api-Key: $CODEXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input": "Skontroluj výpovedné lehoty v priloženej zmluve.", "attachmentIds": ["62c96c7a-92f7-4b36-b1b8-6e124bc85502"]}' \
  https://vm.codexis.ai/api/v1/chats

Pokračovanie v konverzácii

Pre pokračovanie pošlite rovnaké 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 čo záruky?"}' \
  https://vm.codexis.ai/api/v1/chats

GET /api/v1/chats

Vráti konverzácie od poslednej aktivity.

Parametre

  • offset integer, voliteľné, query. Počet preskočených konverzácií, minimum 0. Východiskový: 0.
  • limit integer, voliteľné, query. Počet výsledkov, 1 až 200. Východiskový: 50.

Vracia

{
  "chats": [
    {
      "chatId": "3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85",
      "title": "Výpovedné lehoty v zmluve",
      "status": "completed",
      "createdAt": "2026-07-30T09:14:22Z",
      "modifiedAt": "2026-07-30T09:16:03Z",
      "model": "GPT_5_6_TERRA",
      "pinned": false,
      "webSearchEnabled": false,
      "jurisdictions": ["SK"]
    }
  ],
  "offset": 0,
  "limit": 50,
  "totalCount": 1
}

200. status: in_progress pri generovaní odpovede, inak completed.

Príklad požiadavky

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áti konverzáciu a správy v chronologickom poradí.

Parametre

  • chatId string (UUID), povinné, path. Identifikátor konverzácie.

Vracia

{
  "chat": { "chatId": "3f8b1a20-…", "title": "Výpovedné lehoty v zmluve", "status": "completed" },
  "messages": [
    { "id": "71d3…", "role": "USER", "status": "completed", "text": "Skontroluj výpovedné lehoty…" },
    { "id": "9c2e…", "role": "ASSISTANT", "status": "completed", "text": "Výpovedné lehoty v zmluve…", "parts": [] }
  ]
}

200. chat zodpovedá položke výpisu konverzácií. messages[].role: USER alebo ASSISTANT; odpovede obsahujú parts.

Príklad požiadavky

curl -H "X-Api-Key: $CODEXIS_API_KEY" \
  https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85

DELETE /api/v1/chats/{chatId}

Zastaví prebiehajúcu odpoveď a zmaže konverzáciu so správami.

Parametre

  • chatId string (UUID), povinné, path. Identifikátor konverzácie.

Vracia

204, prázdne telo. Neexistujúca konverzácia: 404.

Príklad požiadavky

curl -X DELETE -H "X-Api-Key: $CODEXIS_API_KEY" \
  https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85

POST /api/v1/chats/{chatId}/stop

Zastaví generovanie odpovede. Dokončenú konverzáciu ponechá bez zmeny.

Parametre

  • chatId string (UUID), povinné, path. Identifikátor konverzácie.

Vracia

202. Súhrn konverzácie; počas zastavovania môže mať status: in_progress.

Príklad požiadavky

curl -X POST -H "X-Api-Key: $CODEXIS_API_KEY" \
  https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85/stop

GET /api/v1/chats/{chatId}/messages/{messageId}

Vráti aktuálny stav odpovede.

Parametre

  • chatId string (UUID), povinné, path. Identifikátor konverzácie.
  • messageId string (UUID), povinné, path. Pole id z odpovede na POST /api/v1/chats.

Vracia

{
  "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ýpovedné lehoty v zmluve sú nastavené takto…"
}

200. Rovnaký objekt ako POST /api/v1/chats, dostupný počas existencie konverzácie. Pre priebežné zmeny použite SSE.

Príklad požiadavky

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-6b7e2f0d5c33

GET /api/v1/chats/{chatId}/messages/{messageId}/events

SSE stream jednej odpovede.

Parametre

  • chatId string (UUID), povinné, path. Identifikátor konverzácie.
  • messageId string (UUID), povinné, path. Pole id z odpovede na POST /api/v1/chats.

Vracia

event: message
data: {"id":"9c2e5b71-…","chatId":"3f8b1a20-…","status":"in_progress","text":"Výpovedné lehoty"}

event: completed
data: {"id":"9c2e5b71-…","chatId":"3f8b1a20-…","status":"completed","text":"Výpovedné lehoty v zmluve sú nastavené takto…"}

200, text/event-stream. Udalosť message obsahuje aktuálnu odpoveď. Udalosť completed ukončí stream.

Príklad požiadavky

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/events

GET /api/v1/chats/{chatId}/events

SSE stream konverzácie. Zostáva otvorený medzi otázkami.

Parametre

  • chatId string (UUID), povinné, path. Identifikátor konverzácie.

Vracia

200, text/event-stream. Udalosti message a completed majú formát streamu odpovede a týkajú sa poslednej odpovede v konverzácii.

Príklad požiadavky

curl -N -H "X-Api-Key: $CODEXIS_API_KEY" \
  https://vm.codexis.ai/api/v1/chats/3f8b1a20-77c4-4c19-8d2e-1b9a4e6f0c85/events

OpenAPI špecifikácia

openapi.yaml