Tyto endpointy popisují účet, ke kterému API klíč patří: kolik má kreditů, do kterých organizací patří a kolik stála konverzace. Endpoint verze vám řekne, jaké vydání AYETO na serveru běží.
Kredity
Všechno, co používá AI model (chat, generování obrázků, řeč, převod dokumentů), se platí v kreditech. Cena každého volání vychází z použitého modelu a z množství zpracovaného vstupu a výstupu; relativní představu o ceně najdete u modelů.
Existují dva druhy zůstatku:
- Osobní kredity patří uživateli. Platí se z nich všechno, co se děje mimo organizaci. Zjistíte je pomocí zjištění zůstatku kreditu.
- Kredity organizace platí práci v organizaci, například požadavek
chatu s
organization_id. Podle toho, jak je organizace nastavená, člen buď čerpá ze sdíleného zůstatku organizace, nebo má v ní individuální rozpočet. Zjistíte je pomocí výpisu členství v organizacích.
Požadavek se odmítne, když je zůstatek, ze kterého by čerpal, vyčerpaný. Kontrola
proběhne před zahájením práce a skutečná cena se účtuje po jejím dokončení, takže
zůstatek může skončit mírně pod nulou. Když zůstatek dojde, požadavek selže s 422
a detailem not enough user credit nebo not enough organization credit.
Kredity se doplňují v aplikaci AYETO.
Zjištění zůstatku kreditu
| Endpoint | POST /api/v3/user_credit/get_self |
| Rozsah | jakýkoli API klíč |
| Limit požadavků | default |
Vrací osobní zůstatek kreditu uživatele API klíče. Zůstatky v organizacích vrací výpis členství v organizacích.
GET /api/v3/user_credit/get_self dál funguje a vrací totéž; obě metody sdílejí
jeden čítač limitu požadavků.
Požadavek
Není potřeba žádné tělo ani parametry. Tělo JSON, pokud nějaké pošlete, se ignoruje.
Odpověď
200 OK s:
| Pole | Typ | Popis |
|---|---|---|
credits |
číslo | Osobní zůstatek kreditu. Může být mírně záporný, viz kredity. |
Chyby
Tento endpoint nemá žádné chyby specifické pro sebe. Chyby autentizace, limitů požadavků a serveru jsou popsány v konvencích.
Příklad
curl -X POST "https://ayeto.ai/api/v3/user_credit/get_self" \
-H "uni-api-key: $AYETO_API_KEY"
{
"credits": 1843.27
}
Výpis členství v organizacích
| Endpoint | POST /api/v3/organization/membership/get_self |
| Rozsah | jakýkoli API klíč |
| Limit požadavků | default |
Vrací organizace, jejichž členem uživatel API klíče je, s rolí uživatele a kredity,
které má uživatel v každé z nich k dispozici. Použijte organization_id odsud jako
organization_id požadavku chatu, chcete-li pracovat, a platit, v rámci
této organizace.
Požadavek
Tělo není potřeba.
Odpověď
200 OK s polem členství, prázdným, když uživatel není členem žádné organizace:
| Pole | Typ | Popis |
|---|---|---|
organization_id |
UUID | Organizace. |
organization_name |
řetězec | Název organizace. |
user_id |
UUID | Uživatel API klíče. |
role |
řetězec | Role uživatele: ayeto-org-admin (administrátor), ayeto-org-member (člen) nebo ayeto-org-guest (host). |
individual_budget |
boolean | true, když má uživatel v organizaci individuální rozpočet; false, když čerpá ze sdíleného zůstatku organizace. |
credits |
číslo | Kredity, které má uživatel v této organizaci k dispozici: individuální rozpočet, když je individual_budget true, jinak sdílený zůstatek organizace. |
is_partner_admin |
boolean | true u administrátorského členství drženého jménem partnera, který organizaci spravuje. |
has_logo |
boolean | Zda má organizace logo. |
logo_id |
UUID nebo null | Identifikátor souboru s logem. |
logo_url |
řetězec | Veřejná URL loga, prázdná, když logo není. |
Chyby
Tento endpoint nemá žádné chyby specifické pro sebe. Chyby autentizace, limitů požadavků a serveru jsou popsány v konvencích.
Příklad
curl -X POST "https://ayeto.ai/api/v3/organization/membership/get_self" \
-H "uni-api-key: $AYETO_API_KEY"
[
{
"organization_id": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"organization_name": "Northwind Trading",
"user_id": "6c5b4a39-2817-4f6e-9d5c-4b3a29180f7e",
"role": "ayeto-org-member",
"individual_budget": false,
"credits": 25210.5,
"is_partner_admin": false,
"has_logo": true,
"logo_id": "0f9e8d7c-6b5a-4938-8271-605f4e3d2c1b",
"logo_url": "https://ayeto.ai/api/v1/public/file/read?id=0f9e8d7c-6b5a-4938-8271-605f4e3d2c1b&secret=3b8f1c2d9e7a4b6c"
}
]
Zjištění nákladů konverzace
| Endpoint | POST /api/v3/usage/cost/conversation |
| Rozsah | ayeto.conversation |
| Limit požadavků | default |
Vrací kredity, které uživatel API klíče utratil v jedné konverzaci: volání modelu u všech jejích zpráv, včetně nástrojů, které používaly AI modely (generování obrázků, čtení dokumentů, řeč). Počítá se jen vlastní útrata uživatele; v konverzaci, které se účastnili i další lidé, je jejich využití vynecháno.
Náklady jsou součtem kreditů zaznamenaných u každého volání modelu v okamžiku jeho vyúčtování, takže odpovídají tomu, co uživatel zaplatil, i když se cena modelu mezitím změnila nebo byl model odebrán.
Konverzace, která neexistuje nebo ve které uživatel nic neutratil, vrací 0.
Požadavek
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
conversation_id |
UUID | Ano | Konverzace. |
Odpověď
200 OK s:
| Pole | Typ | Popis |
|---|---|---|
conversation_id |
UUID | Konverzace z požadavku. |
total_cost |
číslo | Kredity, které uživatel v konverzaci utratil. |
Chyby
| Stav | detail |
Příčina |
|---|---|---|
401 |
API key is invalid |
Klíči chybí rozsah ayeto.conversation (a nejde o klíč se všemi rozsahy), nebo klíč není platný. |
403 |
permission denied |
Účet uživatele nemá povoleno číst data o využití. |
422 |
chyba validace | conversation_id chybí nebo není UUID. |
Chyby autentizace, limitů požadavků a serveru jsou popsány v konvencích.
Příklad
curl -X POST "https://ayeto.ai/api/v3/usage/cost/conversation" \
-H "uni-api-key: $AYETO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"conversation_id": "5e4d3c2b-1a09-4f8e-b7d6-c5b4a3928170"}'
{
"conversation_id": "5e4d3c2b-1a09-4f8e-b7d6-c5b4a3928170",
"total_cost": 12.4816
}
Zjištění verze serveru
| Endpoint | POST /api/v3/version |
| Rozsah | žádný, API klíč není potřeba |
| Limit požadavků | static |
Vrací verzi vydání AYETO, které na serveru běží. Použijte ji pro diagnostiku a pro ověření, že je server dosažitelný.
GET /api/v3/version dál funguje a vrací totéž; obě metody sdílejí jeden čítač limitu
požadavků (1 200 požadavků za minutu na IP adresu), což na kontroly dostupnosti
(health checks) stačí.
Každá odpověď API navíc nese vydání v hlavičce odpovědi app-version.
Požadavek
Není potřeba žádné tělo ani parametry. Tělo JSON, pokud nějaké pošlete, se ignoruje.
Hlavička uni-api-key není potřeba.
Odpověď
200 OK s:
| Pole | Typ | Popis |
|---|---|---|
app_version |
řetězec | Vydání AYETO, například 0.20.7. Tuto verzi uvádějte v žádostech o podporu. |
version |
řetězec | Verze serverového frameworku. |
run_id |
řetězec | Identifikátor běžícího serverového procesu. Mění se při každém restartu a liší se mezi instancemi serveru. |
app_deployment |
řetězec | Označení slotu nasazení, který odpověděl (například BLUE nebo GREEN), UNKNOWN, když není nastaveno. |
Příklad
curl -X POST "https://ayeto.ai/api/v3/version"
{
"version": "2.0.0",
"run_id": "b7c6d5e4-f3a2-4b1c-8d9e-0f1a2b3c4d5e",
"app_version": "0.20.7",
"app_deployment": "BLUE"
}