Reference

Changelog

Významné změny AYETO API.

Zobrazit jako Markdown

Zde jsou uvedeny změny, které se dotýkají klientů API, od nejnovějších. Uvádějí se i přírůstky, které nemění stávající chování (nové volitelné pole, nový endpoint), abyste viděli, co je nově k dispozici.

2026-10-03

  • Chybně utvořené dotazy na seznamy se odmítají s 422 a srozumitelným detail místo 500: podmínka, která nemá 3 ani 4 prvky, prvek filters, který není pole ani objekt, objekt skupiny bez klíče nebo s několika klíči, skupina AND / OR, jejíž hodnota není neprázdné pole, skupiny vnořené hlouběji než do 32 úrovní, záporné limit_from a limit_to nižší než limit_from.
  • Odpovědi 429 omezovače požadavků mají tělo {"detail": "Too many requests"} jako všechny ostatní chyby (klíč reason zmizel); Retry-After se nemění.
  • Na chybějící rozsah API klíče se všude odpovídá 401 API key is invalid.
  • Endpointy .../get a .../delete přijímají id i v těle JSON {"id": "<uuid>"}; parametr dotazu entity_id dál funguje. Když chybí obojí, nebo jde o dvě různá id, vrací se 422. Tělo, které jim posíláte, musí být JSON.
  • Nové POST /user_credit/get_self a POST /version (GET dál funguje a sdílí limit požadavků); /version má limit požadavků úrovně static (1 200 požadavků za minutu).
  • POST /ai_tool/get_all už nevrací skryté ani zastaralé nástroje.
  • Nový POST /conversation/count (rozsah ayeto.conversation, stejné tělo jako /conversation/find).
  • Náklady konverzace (POST /usage/cost/conversation) jsou součtem skutečně účtovaných kreditů, ne přepočtem podle aktuálních cen; zahrnují textové tokeny obrázkových modelů a už neselhávají s 404 u modelů, které byly mezitím odebrány.
  • Chat s modelem, který neumí streamovat, odpověď uloží a vrátí (dříve se odpověď modelu ztratila a požadavek vracel zprávu uživatele).
  • Přílohy chatu se kontrolují a ukládají ještě před vším ostatním: příloha odmítnutá s 422 (file is too large, kvóta úložiště, neplatná data) už po sobě nenechává zprávu uživatele. Chybně utvořený base64 vrací 422 invalid base64 data in attachment '<filename>' (nebo invalid data URI in attachment '<filename>') místo 500. Pole size u příloh už není povinné a ignoruje se.
  • Navazující zpráva chatu ke konverzaci vytvořené v organizaci běží v této organizaci, když požadavek žádnou organizaci neuvádí (účtuje se tam, vyžaduje se členství); uvedení jiné organizace vrací 422 the conversation belongs to another organization. Konverzace jiného uživatele se odmítne s 403 dřív, než se uloží jakákoli příloha.
  • Strukturovaný stream chatu (runner_version "2") už neposílá nepoužívané pole iteration.
  • Booster databáze: vytvoření záznamu s klíčem, který už existuje, vrací 422 a record with key '<key>' already exists místo 500; limit_from bez limit_to vrací až 100 záznamů od limit_from (limit_from musí být menší než 1000); chybně utvořené filtry AND / OR vracejí 422 místo 500.
  • Data loader: nepodporované typy souborů vracejí 422 unsupported file type '<mime>' a neúčtují se.
  • Workflow: soubor uvedený svým id ve vstupu běhu zůstává uživateli a už se nemaže spolu s během (soubory poslané jako base64 dál patří běhu).

2026-10-02

  • Pravidla kolekcí booster databáze platí jen pro panely v režimu veřejné databáze; v soukromém režimu se ignorují. Uživatelé, se kterými je panel sdílen jen pro čtení, teď mohou zapisovat jeho záznamy a brát zámky (v obou režimech).
  • POST /tts/mp3 vyžaduje nový rozsah ayeto.tts a POST /data-loader/load nový rozsah ayeto.data_loader. Stávající API klíče dostaly oba rozsahy; klíče vytvořené spárováním desktopového klienta (jen ayeto.connector) už tyto endpointy volat nemohou.
  • POST /tts/mp3 a POST /data-loader/load přijímají volitelné organization_id: požadavek běží v organizaci a účtuje se z kreditu uživatele v ní (jen administrátoři a členové; hosté a nečlenové dostanou 403).
  • POST /tts/mp3 vrací 422 s not enough user credit / not enough organization credit, když dojde kredit, místo 500 Failed to generate audio.
  • Chat odmítne model vypnutý administrátory (požadovaný přímo nebo jako model asistenta) s 422 model is disabled a automatický model bez dostupného modelu s 422 model is not available; model is deprecated se vrací dřív, než se na konverzaci sáhne.
  • Čtení konverzace jiného uživatele přes /conversation/get (odmítnuté s 404) už neaktualizuje její pole accessed.
  • Hlavička language požadavku API už nemění preferovaný jazyk uživatele v aplikaci AYETO (dříve ho každý požadavek uložil a požadavek bez hlavičky ho vrátil na angličtinu).
  • POST /assistant/avatar/get přijímá API klíče s novým rozsahem ayeto.assistant, který lze nyní vybrat při vytváření klíče (pokrývá i /assistant/find).
  • Nová dokumentace API v3, která nahrazuje dřívější poznámky k betaverzi.
  • Workflow jsou dostupná v API: čtení, spouštění, streamování běhů, schvalování, úpravy, publikování, export a import (ayeto.workflow, ayeto.workflow.write).
  • Soukromé API booster databáze s vlastními rozsahy (ayeto.booster.database, ayeto.booster.database.write).