Referencia API
REST API AY-Robots žije pod https://www.ay-robots.com/api a v oboch smeroch hovorí JSON. Táto stránka dokumentuje autentifikáciu, konvencie odpovedí a každý endpoint, s úplnou dokumentáciou parametrov pre trasy, ktoré s najväčšou pravdepodobnosťou budete volať programovo.
Naposledy aktualizované 2026-08-09
Autentifikácia
Každý endpoint vyžaduje autentifikáciu, pokiaľ nie je uvedený v sekcii Verejné endpointy. API akceptuje dve formy prihlasovacích údajov a obe prichádzajú rovnakým spôsobom: buď ako cookie relácie, ktorú dashboard aj tak posiela, alebo ako hlavička Authorization s Bearer tokenom.
| Metóda | Ako funguje | Použite ju na |
|---|---|---|
| Relácia prehliadača | Token relácie Supabase vášho prihláseného účtu, poslaný ako cookie alebo ako Bearer token | Samotný dashboard a rýchle experimenty z autentifikovaného kontextu prehliadača |
| API kľúč | Kľúč s predponou ayr_live_, vytvorený v /dashboard/settings a poslaný ako Bearer token | Skripty, servery, CI a všetko, čo nesmie závisieť od prihlásenia v prehliadači |
| MCP | Hostovaný server MCP na https://www.ay-robots.com/api/mcp (Streamable HTTP) | LLM agenti a nástroje, ktoré hovoria Model Context Protocol |
curl https://www.ay-robots.com/api/sessions \
-H 'Authorization: Bearer ayr_live_your_key_here'API kľúče sa vytvárajú a rušia v /dashboard/settings. Zaobchádzajte s nimi ako s heslami: uchovávajte ich na strane servera a rotujte ich vytvorením náhradného kľúča ešte pred zrušením starého. Ak používate desktopové CLI, môže platformu tiež sprístupniť ako lokálny server MCP príkazom: ay-robots mcp.
Odpovede sú vo formáte JSON. Chyby majú konzistentnú formu: objekt JSON s jediným poľom error obsahujúcim ľudsky čitateľnú správu, doručený s vhodným stavovým kódom 4xx alebo 5xx. Úspešné odpovede vracajú zdroj priamo; niekoľko málo endpointov balí zoznamy do pomenovaného poľa, čo príklady nižšie ukazujú tam, kde na tom záleží.
Auth endpointy
Základná práca s účtom a profilom. Tieto sa primárne používajú v samotnom dashboarde, no fungujú s akýmikoľvek platnými prihlasovacími údajmi.
/api/auth/profileBearer token relácie alebo API kľúčVráti profil autentifikovaného používateľa.
/api/auth/profileBearer token relácie alebo API kľúčAktualizuje polia profilu, ako je zobrazované meno a preferencie oznámení.
/api/auth/syncBearer token relácieSynchronizuje používateľa Supabase auth so záznamom používateľa platformy.
/api/auth/check-onboardingBearer token relácieNahlási, či autentifikovaný používateľ dokončil onboarding.
/api/auth/avatarBearer token relácieNahrá nový obrázok avatara pre autentifikovaného používateľa.
Endpointy pre klientov
Všetko, čo majiteľ robota spravuje: registrované roboty, klientsky profil, datasety, faktúry a štatistiky dashboardu.
/api/client/robotsBearer token relácie alebo API kľúč (rola klient)Zobrazí zoznam robotov registrovaných autentifikovaným klientom, najnovšie prvé, až 50 záznamov. Časové značky sú vo formáte ISO 8601; last_online a last_heartbeat sú null, kým sa robot raz nepripojí.
curl https://www.ay-robots.com/api/client/robots \
-H 'Authorization: Bearer ayr_live_your_key_here'[
{
"id": "1f9f4c1e-7f2a-4b7e-9a45-0f4d2b6c8a11",
"name": "Lab SO-100",
"robot_type": "SO-100",
"status": "AVAILABLE",
"control_url": "wss://robots.example.com/so100/control",
"stream_url": "https://robots.example.com/so100/stream",
"hardware_id": "board:local:usb-1",
"last_online": "2026-08-09T10:12:00.000Z",
"last_heartbeat": "2026-08-09T10:12:00.000Z",
"total_hours": 12.5,
"tags": ["lab"],
"notes": null,
"created_at": "2026-07-01T09:00:00.000Z"
}
]/api/client/robotsBearer token relácie alebo API kľúč (rola klient)Zaregistruje nového robota a vráti jeho id. Hardvérové id dosky motora môže patriť len jednému robotovi; kolízia sa odmietne so stavom 409.
/api/client/profileBearer token relácie alebo API kľúč (rola klient)Vráti klientsky profil autentifikovaného používateľa.
/api/client/profileBearer token relácie alebo API kľúč (rola klient)Aktualizuje polia klientskeho profilu.
/api/client/datasetsBearer token relácie alebo API kľúč (rola klient)Zobrazí zoznam cloudových datasetov klienta s počtami epizód a veľkosťami.
/api/client/invoicesBearer token relácie alebo API kľúč (rola klient)Zobrazí zoznam mesačných faktúr klienta.
/api/client/statsBearer token relácie alebo API kľúč (rola klient)Vráti štatistiky používania pre klientsky dashboard.
Endpointy pre operátorov
Strana operátora: profil a dostupnosť, certifikácie, plánovanie a štatistiky zárobkov.
/api/operator/profileBearer token relácie alebo API kľúč (rola operátor)Vráti profil operátora autentifikovaného používateľa.
/api/operator/profileBearer token relácie alebo API kľúč (rola operátor)Vytvorí alebo aktualizuje profil operátora.
/api/operator/available-robotsBearer token relácie alebo API kľúč (rola operátor)Zobrazí zoznam robotov, ktoré sú aktuálne dostupné a zodpovedajú certifikáciám operátora.
/api/operator/certificationsBearer token relácie alebo API kľúč (rola operátor)Zobrazí zoznam žiadostí operátora o certifikáciu a ich stav.
/api/operator/certificationsBearer token relácie alebo API kľúč (rola operátor)Vyžiada certifikáciu pre daný typ robota.
/api/operator/scheduleBearer token relácie alebo API kľúč (rola operátor)Vráti týždenný plán dostupnosti operátora.
/api/operator/scheduleBearer token relácie alebo API kľúč (rola operátor)Aktualizuje týždenný plán dostupnosti.
/api/operator/availabilityBearer token relácie alebo API kľúč (rola operátor)Vráti aktuálnu dostupnosť operátora.
/api/operator/statsBearer token relácie alebo API kľúč (rola operátor)Vráti štatistiky zárobkov a relácií pre dashboard operátora.
Relácie
Relácie sú centrálnym zdrojom platformy: jedna relácia je jedno súvislé teleoperačné pôsobenie medzi operátorom a robotom. Stav relácie prechádza cez PENDING, ACTIVE, PAUSED, COMPLETED a CANCELLED.
/api/sessionsBearer token relácie alebo API kľúčZobrazí zoznam relácií pre autentifikovaného používateľa. Operátori vidia relácie, ktoré viedli; klienti vidia relácie na svojich robotoch. Súbor polí sa medzi oboma pohľadmi mierne líši: klientský pohľad zahŕňa episodes_collected a data_collected_mb, pohľad operátora zahŕňa operator_earnings_cents.
| Name | In | Type | Description |
|---|---|---|---|
| status | query | string | Voliteľné. Filtruje podľa stavu relácie, napríklad ACTIVE alebo COMPLETED. Vynechajte, ak chcete zobraziť všetky. |
| limit | query | number | Voliteľné. Veľkosť stránky, predvolene 50, maximálne 100. |
| offset | query | number | Voliteľné. Posun stránkovania, predvolene 0. |
curl 'https://www.ay-robots.com/api/sessions?status=COMPLETED&limit=10' \
-H 'Authorization: Bearer ayr_live_your_key_here'{
"sessions": [
{
"id": "6b0d2c9a-53f1-4f6e-8f1a-2c9d4e7b5a30",
"status": "COMPLETED",
"started_at": "2026-08-08T14:00:12.000Z",
"ended_at": "2026-08-08T14:47:31.000Z",
"duration_minutes": 47,
"client_charge_cents": 1175,
"episodes_collected": 23,
"data_collected_mb": 210.4,
"rating": 5,
"created_at": "2026-08-08T13:59:58.000Z",
"robot_id": "1f9f4c1e-7f2a-4b7e-9a45-0f4d2b6c8a11",
"robot_name": "Lab SO-100",
"robot_type": "SO-100",
"operator_name": "Jane D."
}
]
}/api/sessionsBearer token relácie alebo API kľúč (rola operátor)Spustí reláciu teleoperácie na dostupnom robotovi. Vyžaduje rolu operátor: klienti nemôžu relácie spúšťať. Operátor môže mať naraz najviac jednu reláciu ACTIVE alebo PAUSED a robot musí mať aktuálne stav AVAILABLE. Pri okamžitom spustení sa robot prepne na IN_SESSION a klient dostane upozornenie.
| Name | In | Type | Description |
|---|---|---|---|
| robotId | body | string | Povinné. Id robota, ktorý sa má ovládať. Robot musí byť AVAILABLE. |
| operatorId | body | string | Voliteľné. Explicitné id operátora; predvolene autentifikovaný operátor. |
| scheduledFor | body | string (ISO 8601) | Voliteľné. Naplánuje reláciu na budúci čas namiesto okamžitého spustenia. |
curl -X POST https://www.ay-robots.com/api/sessions \
-H 'Authorization: Bearer ayr_live_your_key_here' \
-H 'Content-Type: application/json' \
-d '{"robotId": "1f9f4c1e-7f2a-4b7e-9a45-0f4d2b6c8a11"}'{
"sessionId": "6b0d2c9a-53f1-4f6e-8f1a-2c9d4e7b5a30",
"status": "ACTIVE"
}/api/sessions/[id]Bearer token relácie alebo API kľúčVráti jednu reláciu s jej detailmi.
/api/sessions/[id]Bearer token relácie alebo API kľúčAktualizuje životný cyklus relácie: pozastavenie, obnovenie, ukončenie a súvisiace akcie.
/api/sessions/[id]/extendBearer token relácie alebo API kľúč (klient, vlastník relácie)Vyžiada predĺženie relácie. Volať to môže len klient, ktorý reláciu vlastní, a relácia musí byť ACTIVE. Žiadosť sa zaznamená ako udalosť relácie a operátor dostane oznámenie; samotné predĺženie nastane, keď na to operátor zareaguje.
| Name | In | Type | Description |
|---|---|---|---|
| id | path | string | Id relácie. |
| additionalMinutes | body | number | Požadovaná dĺžka predĺženia v minútach. |
curl -X POST https://www.ay-robots.com/api/sessions/6b0d2c9a-53f1-4f6e-8f1a-2c9d4e7b5a30/extend \
-H 'Authorization: Bearer ayr_live_your_key_here' \
-H 'Content-Type: application/json' \
-d '{"additionalMinutes": 30}'{
"message": "Extension request sent to operator"
}/api/sessions/[id]/messagesBearer token relácie alebo API kľúčZobrazí zoznam chatových správ relácie.
/api/sessions/[id]/messagesBearer token relácie alebo API kľúčOdošle chatovú správu v relácii.
/api/sessions/[id]/rateBearer token relácie alebo API kľúč (klient)Ohodnotí dokončenú reláciu na škále od 1 do 5 hviezdičiek, s voliteľným komentárom.
/api/sessions/exportBearer token relácie alebo API kľúčExportuje dáta relácie.
Platby
Všetok pohyb peňazí prebieha cez Stripe. Fakturácia klientov používa zákazníka Stripe s uloženým spôsobom platby; výplaty operátorov používajú Stripe Connect. Samotná platforma nikdy neukladá údaje o karte ani bankových účtoch.
/api/stripe/customerBearer token relácie (rola klient)Vytvorí alebo vráti zákazníka Stripe používaného na fakturáciu klienta.
/api/stripe/connectBearer token relácie (rola operátor)Vráti stav účtu Stripe Connect operátora.
/api/stripe/connectBearer token relácie (rola operátor)Spustí onboarding Stripe Connect pre výplaty operátorovi.
/api/stripe/setup-intentBearer token relácie (rola klient)Vytvorí Stripe SetupIntent na uloženie spôsobu platby.
/api/stripe/portalBearer token relácie (rola klient)Vytvorí reláciu fakturačného portálu Stripe na správu spôsobov platby a faktúr.
/api/stripe/payoutBearer token relácie (rola operátor)Vráti informácie o výplate pre autentifikovaného operátora.
/api/stripe/payoutBearer token relácie (rola operátor)Vyžiada výplatu nazbieraných zárobkov. Minimálna výplata je 10,00 EUR.
/api/stripe/webhookPodpis webhooku StripePrijíma udalosti webhooku Stripe. Volá ho Stripe, nie klienti API.
Verejné endpointy
Tieto endpointy nevyžadujú žiadnu autentifikáciu. Je bezpečné volať ich z monitoringu, marketingových stránok alebo stavovej sondy.
/api/healthKontrola zdravia pre API a jeho pripojenie k databáze. Vráti 200, keď je oboje v poriadku; ak kontrola databázy zlyhá, vráti sa rovnaká štruktúra so status a db nastavenými na error a stavom HTTP 503.
curl https://www.ay-robots.com/api/health{
"status": "ok",
"db": "ok",
"timestamp": "2026-08-09T10:12:00.000Z"
}/api/robots/[id]Vráti verejné informácie o podporovanom modeli robota.
/api/public/pricingVráti aktuálne verejné cenové plány.
/api/contactOdošle správu z kontaktného formulára. Správa sa najprv uloží a potom doručí e-mailom, takže dočasný výpadok pošty ju nestratí: v takom prípade odpoveď hlási stored true a delivered false a doručenie sa prevádzkovo znovu skúša.
| Name | In | Type | Description |
|---|---|---|---|
| name | body | string | Povinné. Vaše meno. |
| body | string | Povinné. Platná e-mailová adresa na odpoveď. | |
| category | body | string | Povinné. Jedna z: General Inquiry, Bug Report, Feature Request, Sales & Pricing, Partnership, Career/Jobs, Technical Support, Billing & Payments, Press & Media, Other. |
| subject | body | string | Povinné. Krátky predmet. |
| message | body | string | Povinné. Text správy. |
curl -X POST https://www.ay-robots.com/api/contact \
-H 'Content-Type: application/json' \
-d '{
"name": "Jane Doe",
"email": "jane@example.com",
"category": "Technical Support",
"subject": "SO-100 pairing question",
"message": "My arm shows as offline after pairing."
}'{
"success": true,
"message": "Message sent successfully",
"id": "b1f2c3d4-0000-0000-0000-000000000000",
"stored": true,
"delivered": true
}/api/robot-requestVyžiada podporu pre typ robota, ktorý ešte nie je na platforme.
/api/statsVráti verejné štatistiky platformy.
Ako AY-Robots zabezpečuje účty a živé ovládanie robotov: autentifikácia Supabase, model rolí, API kľúče, ochrana relácií, audítny záznam a šifrovanie.
Ako fungujú relácie AY-Robots: cyklus od PENDING po COMPLETED, vysvetlenie každej udalosti aktivity, chat relácie, hodnotenia, predĺženia a tréningové dáta.