API referenca
API REST za AY-Robots je dosegljiv na https://www.ay-robots.com/api in v obe smeri govori JSON. Ta stran dokumentira avtentikacijo, konvencije odgovorov in vsako končno točko, s popolno dokumentacijo parametrov za poti, ki jih boste najverjetneje klicali programsko.
Nazadnje posodobljeno 2026-08-09
Avtentikacija
Vsaka končna točka zahteva avtentikacijo, razen če je navedena v razdelku Javno. API sprejema dve obliki poveril, obe pa prispeta na enak način: bodisi kot piškotek seje, ki ga nadzorna plošča tako ali tako pošlje, bodisi kot glava Authorization z žetonom Bearer.
| Metoda | Kako deluje | Uporabite za |
|---|---|---|
| Seja brskalnika | Žeton seje Supabase vašega prijavljenega računa, poslan kot piškotek ali kot žeton Bearer | Samo nadzorno ploščo in hitre poskuse iz avtenticiranega konteksta brskalnika |
| API ključ | Ključ s predpono ayr_live_, ustvarjen v /dashboard/settings in poslan kot žeton Bearer | Skripte, strežnike, CI in vse, kar ne sme biti odvisno od prijave v brskalniku |
| MCP | Gostovani strežnik MCP na https://www.ay-robots.com/api/mcp (Streamable HTTP) | Agente LLM in orodja, ki govorijo Model Context Protocol |
curl https://www.ay-robots.com/api/sessions \
-H 'Authorization: Bearer ayr_live_your_key_here'API ključi se ustvarjajo in prekličejo v /dashboard/settings. Obravnavajte jih kot gesla: hranite jih na strani strežnika, rotirajte pa tako, da najprej ustvarite nadomestni ključ, preden prekličete starega. Če uporabljate namizni CLI, lahko ta platformo izpostavi tudi kot lokalni strežnik MCP z ukazom: ay-robots mcp.
Odgovori so v obliki JSON. Napake imajo dosledno obliko: objekt JSON z enim poljem error, ki vsebuje berljivo sporočilo, dostavljeno z ustrezno statusno kodo 4xx ali 5xx. Uspešni odgovori vrnejo vir neposredno; nekaj končnih točk sezname zavije v poimenovano polje, kar spodnji primeri prikažejo, kjer je to pomembno.
Končne točke Auth
Infrastruktura računa in profila. Te končne točke uporablja predvsem sama nadzorna plošča, delujejo pa s katerim koli veljavnim poverilom.
/api/auth/profileŽeton seje Bearer ali API ključVrne profil avtenticiranega uporabnika.
/api/auth/profileŽeton seje Bearer ali API ključPosodobi polja profila, kot sta prikazano ime in nastavitve obvestil.
/api/auth/syncŽeton seje BearerUskladi uporabnika Supabase auth z zapisom uporabnika platforme.
/api/auth/check-onboardingŽeton seje BearerSporoči, ali je avtenticirani uporabnik zaključil onboarding.
/api/auth/avatarŽeton seje BearerNaloži novo sliko avatarja za avtenticiranega uporabnika.
Končne točke za stranke
Vse, kar upravlja lastnik robota: registrirani roboti, profil stranke, dataseti, računi in statistika nadzorne plošče.
/api/client/robotsŽeton seje Bearer ali API ključ (vloga stranke)Navede robote, ki jih je registrirala avtenticirana stranka, najnovejši najprej, do 50 vnosov. Časovni žigi so ISO 8601; last_online in last_heartbeat sta null, dokler se robot vsaj enkrat ne poveže.
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/robotsŽeton seje Bearer ali API ključ (vloga stranke)Registrira novega robota in vrne njegov id. Strojni id plošče motorja lahko pripada le enemu robotu; konflikt je zavrnjen s statusom 409.
/api/client/profileŽeton seje Bearer ali API ključ (vloga stranke)Vrne profil stranke avtenticiranega uporabnika.
/api/client/profileŽeton seje Bearer ali API ključ (vloga stranke)Posodobi polja profila stranke.
/api/client/datasetsŽeton seje Bearer ali API ključ (vloga stranke)Navede datasete stranke v oblaku s številom epizod in velikostmi.
/api/client/invoicesŽeton seje Bearer ali API ključ (vloga stranke)Navede mesečne račune stranke.
/api/client/statsŽeton seje Bearer ali API ključ (vloga stranke)Vrne statistiko uporabe za nadzorno ploščo stranke.
Končne točke za operaterje
Stran operaterja: profil in razpoložljivost, certifikati, razporejanje in statistika zaslužka.
/api/operator/profileŽeton seje Bearer ali API ključ (vloga operaterja)Vrne profil operaterja avtenticiranega uporabnika.
/api/operator/profileŽeton seje Bearer ali API ključ (vloga operaterja)Ustvari ali posodobi profil operaterja.
/api/operator/available-robotsŽeton seje Bearer ali API ključ (vloga operaterja)Navede robote, ki so trenutno na voljo in ustrezajo certifikatom operaterja.
/api/operator/certificationsŽeton seje Bearer ali API ključ (vloga operaterja)Navede zahteve operaterja za certifikate in njihovo stanje.
/api/operator/certificationsŽeton seje Bearer ali API ključ (vloga operaterja)Zahteva certifikat za tip robota.
/api/operator/scheduleŽeton seje Bearer ali API ključ (vloga operaterja)Vrne tedenski urnik razpoložljivosti operaterja.
/api/operator/scheduleŽeton seje Bearer ali API ključ (vloga operaterja)Posodobi tedenski urnik razpoložljivosti.
/api/operator/availabilityŽeton seje Bearer ali API ključ (vloga operaterja)Vrne trenutno razpoložljivost operaterja.
/api/operator/statsŽeton seje Bearer ali API ključ (vloga operaterja)Vrne statistiko zaslužka in sej za nadzorno ploščo operaterja.
Seje
Seje so osrednji vir platforme: ena seja je ena neprekinjena angažiranost teleoperacije med operaterjem in robotom. Stanje seje prehaja skozi PENDING, ACTIVE, PAUSED, COMPLETED in CANCELLED.
/api/sessionsŽeton seje Bearer ali API ključNavede seje avtenticiranega uporabnika. Operaterji vidijo seje, ki so jih upravljali; stranke vidijo seje na svojih robotih. Nabor polj se med pogledoma nekoliko razlikuje: pogled stranke vključuje episodes_collected in data_collected_mb, pogled operaterja pa operator_earnings_cents.
| Name | In | Type | Description |
|---|---|---|---|
| status | query | string | Neobvezno. Filtrira po stanju seje, na primer ACTIVE ali COMPLETED. Izpustite za seznam vseh. |
| limit | query | number | Neobvezno. Velikost strani, privzeto 50, največ 100. |
| offset | query | number | Neobvezno. Odmik za straničenje, privzeto 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/sessionsŽeton seje Bearer ali API ključ (vloga operaterja)Zažene sejo teleoperacije na razpoložljivem robotu. Zahteva vlogo operaterja: stranke ne morejo zaganjati sej. Operater lahko hkrati drži največ eno sejo ACTIVE ali PAUSED, robot pa mora trenutno imeti stanje AVAILABLE. Ob takojšnjem zagonu robot preklopi na IN_SESSION in stranka je obveščena.
| Name | In | Type | Description |
|---|---|---|---|
| robotId | body | string | Obvezno. Id robota, ki naj se upravlja. Robot mora biti AVAILABLE. |
| operatorId | body | string | Neobvezno. Izrecen id operaterja; privzeto je avtenticirani operater. |
| scheduledFor | body | string (ISO 8601) | Neobvezno. Sejo razporedi za prihodnji čas namesto takojšnjega zagona. |
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]Žeton seje Bearer ali API ključVrne posamezno sejo z njenimi podrobnostmi.
/api/sessions/[id]Žeton seje Bearer ali API ključPosodobi življenjski cikel seje: premor, nadaljevanje, konec in povezana dejanja.
/api/sessions/[id]/extendŽeton seje Bearer ali API ključ (stranka, lastnica seje)Zahteva podaljšanje seje. To lahko pokliče le stranka, ki je lastnica seje, seja pa mora biti ACTIVE. Zahteva se zabeleži kot dogodek seje, operater pa prejme obvestilo; do samega podaljšanja pride, ko operater na to odgovori.
| Name | In | Type | Description |
|---|---|---|---|
| id | path | string | Id seje. |
| additionalMinutes | body | number | Zahtevana dolžina podaljšanja v minutah. |
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]/messagesŽeton seje Bearer ali API ključNavede sporočila klepeta seje.
/api/sessions/[id]/messagesŽeton seje Bearer ali API ključPošlje sporočilo klepeta znotraj seje.
/api/sessions/[id]/rateŽeton seje Bearer ali API ključ (stranka)Oceni zaključeno sejo na lestvici od 1 do 5 zvezdic, z neobveznim komentarjem.
/api/sessions/exportŽeton seje Bearer ali API ključIzvozi podatke seje.
Plačila
Ves pretok denarja poteka prek Stripe. Obračunavanje strank uporablja uporabnika Stripe s shranjenim načinom plačila; izplačila operaterjem uporabljajo Stripe Connect. Platforma sama nikoli ne shranjuje podatkov o karticah ali bančnih podatkov.
/api/stripe/customerŽeton seje Bearer (vloga stranke)Ustvari ali vrne uporabnika Stripe, ki se uporablja za obračunavanje stranke.
/api/stripe/connectŽeton seje Bearer (vloga operaterja)Vrne stanje računa Stripe Connect operaterja.
/api/stripe/connectŽeton seje Bearer (vloga operaterja)Sproži onboarding za Stripe Connect za izplačila operaterju.
/api/stripe/setup-intentŽeton seje Bearer (vloga stranke)Ustvari Stripe SetupIntent za shranjevanje načina plačila.
/api/stripe/portalŽeton seje Bearer (vloga stranke)Ustvari sejo portala Stripe za obračunavanje za upravljanje načinov plačila in računov.
/api/stripe/payoutŽeton seje Bearer (vloga operaterja)Vrne podatke o izplačilu za avtenticiranega operaterja.
/api/stripe/payoutŽeton seje Bearer (vloga operaterja)Zahteva izplačilo nabranega zaslužka. Najnižje izplačilo znaša 10,00 EUR.
/api/stripe/webhookPodpis webhook StripePrejme dogodke webhook Stripe. Pokliče ga Stripe, ne odjemalci API.
Javne končne točke
Te končne točke ne zahtevajo avtentikacije. Varno jih je klicati iz nadzora, trženjskih strani ali preverjanja stanja.
/api/healthPreverjanje delovanja za API in njegovo povezavo z bazo podatkov. Vrne 200, ko sta oba v redu; če preverjanje baze podatkov spodleti, se vrne enaka oblika s status in db nastavljenima na error ter statusom HTTP 503.
curl https://www.ay-robots.com/api/health{
"status": "ok",
"db": "ok",
"timestamp": "2026-08-09T10:12:00.000Z"
}/api/robots/[id]Vrne javne podatke o podprtem modelu robota.
/api/public/pricingVrne trenutne javne cenovne pakete.
/api/contactOdda sporočilo kontaktnega obrazca. Sporočilo se najprej shrani, nato dostavi po e-pošti, zato začasen izpad pošte ne pomeni izgube: v tem primeru odgovor sporoči stored true in delivered false, dostava pa se operativno ponovi.
| Name | In | Type | Description |
|---|---|---|---|
| name | body | string | Obvezno. Vaše ime. |
| body | string | Obvezno. Veljaven e-poštni naslov za odgovor. | |
| category | body | string | Obvezno. Ena od: General Inquiry, Bug Report, Feature Request, Sales & Pricing, Partnership, Career/Jobs, Technical Support, Billing & Payments, Press & Media, Other. |
| subject | body | string | Obvezno. Kratka zadeva. |
| message | body | string | Obvezno. Vsebina sporočila. |
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-requestZahteva podporo za tip robota, ki ga na platformi še ni.
/api/statsVrne javno statistiko platforme.
Kako AY-Robots varuje račune in upravljanje robota v živo: avtentikacija, vloge, API ključi, zaščita seje, revizijska sled ter šifriranje podatkov.
Kako delujejo seje na AY-Robots: življenjski cikel od PENDING do COMPLETED, vsak dogodek aktivnosti razložen, klepet seje, ocene, podaljšanja in učni podatki.