API žinynas
AY-Robots REST API gyvena adresu https://www.ay-robots.com/api ir abiem kryptimis kalba JSON. Šis puslapis dokumentuoja autentifikaciją, atsakymų konvencijas ir kiekvieną galinį tašką, su pilna parametrų dokumentacija maršrutams, kuriuos greičiausiai kviesite programiškai.
Paskutinį kartą atnaujinta 2026-08-09
Autentifikacija
Kiekvienam galiniam taškui reikalinga autentifikacija, nebent jis išvardytas skyriuje Public. API priima dvi kredencialų formas, ir abi atkeliauja tuo pačiu būdu: arba kaip sesijos slapukas, kurį valdymo skydelis jau siunčia, arba kaip Authorization antraštė su Bearer žetonu.
| Metodas | Kaip veikia | Naudokite |
|---|---|---|
| Naršyklės sesija | Jūsų prisijungusios paskyros Supabase sesijos žetonas, siunčiamas kaip slapukas arba kaip Bearer žetonas | Pačiam valdymo skydeliui ir greitiems eksperimentams iš autentifikuoto naršyklės konteksto |
| API raktas | Raktas su ayr_live_ priešdėliu, sukurtas /dashboard/settings ir siunčiamas kaip Bearer žetonas | Scenarijams, serveriams, CI ir viskam, kas neturi priklausyti nuo prisijungimo per naršyklę |
| MCP | Talpinamas MCP serveris adresu https://www.ay-robots.com/api/mcp (Streamable HTTP) | LLM agentams ir įrankiams, kalbantiems Model Context Protocol |
curl https://www.ay-robots.com/api/sessions \
-H 'Authorization: Bearer ayr_live_your_key_here'API raktai kuriami ir atšaukiami /dashboard/settings. Traktuokite juos kaip slaptažodžius: laikykite juos serverio pusėje ir keiskite sukurdami pakaitinį raktą prieš atšaukdami seną. Jei naudojate darbalaukio CLI, ji taip pat gali pateikti platformą kaip lokalų MCP serverį komanda: ay-robots mcp.
Atsakymai yra JSON. Klaidos naudoja nuoseklią struktūrą: JSON objektą su vienu error lauku, turinčiu žmogui suprantamą pranešimą, pateikiamą su atitinkamu 4xx ar 5xx būsenos kodu. Sėkmingi atsakymai grąžina resursą tiesiogiai; keli galiniai taškai suvynioja sąrašus į pavadintą lauką, ką žemiau esantys pavyzdžiai rodo ten, kur tai svarbu.
Auth galiniai taškai
Paskyros ir profilio santechnika. Jie pirmiausia naudojami paties valdymo skydelio, bet veikia su bet kuriuo galiojančiu kredencialu.
/api/auth/profileBearer sesijos žetonas arba API raktasGrąžina autentifikuoto naudotojo profilį.
/api/auth/profileBearer sesijos žetonas arba API raktasAtnaujina profilio laukus, tokius kaip rodomas vardas ir pranešimų nuostatos.
/api/auth/syncBearer sesijos žetonasSinchronizuoja Supabase auth naudotoją su platformos naudotojo įrašu.
/api/auth/check-onboardingBearer sesijos žetonasPraneša, ar autentifikuotas naudotojas baigė registraciją.
/api/auth/avatarBearer sesijos žetonasĮkelia naują avataro paveikslėlį autentifikuotam naudotojui.
Kliento galiniai taškai
Viskas, ką valdo roboto savininkas: registruoti robotai, kliento profilis, duomenų rinkiniai, sąskaitos ir valdymo skydelio statistika.
/api/client/robotsBearer sesijos žetonas arba API raktas (kliento vaidmuo)Išvardija autentifikuoto kliento registruotus robotus, naujausius pirmiausia, iki 50 įrašų. Laiko žymos yra ISO 8601; last_online ir last_heartbeat yra null, kol robotas nė karto neprisijungė.
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 sesijos žetonas arba API raktas (kliento vaidmuo)Registruoja naują robotą ir grąžina jo id. Variklio plokštės aparatinės įrangos id gali priklausyti tik vienam robotui; konfliktas atmetamas su būsena 409.
/api/client/profileBearer sesijos žetonas arba API raktas (kliento vaidmuo)Grąžina autentifikuoto naudotojo kliento profilį.
/api/client/profileBearer sesijos žetonas arba API raktas (kliento vaidmuo)Atnaujina kliento profilio laukus.
/api/client/datasetsBearer sesijos žetonas arba API raktas (kliento vaidmuo)Išvardija kliento debesies duomenų rinkinius su epizodų skaičiais ir dydžiais.
/api/client/invoicesBearer sesijos žetonas arba API raktas (kliento vaidmuo)Išvardija kliento mėnesines sąskaitas.
/api/client/statsBearer sesijos žetonas arba API raktas (kliento vaidmuo)Grąžina naudojimo statistiką kliento valdymo skydeliui.
Operatoriaus galiniai taškai
Operatoriaus pusė: profilis ir prieinamumas, sertifikatai, planavimas ir uždarbio statistika.
/api/operator/profileBearer sesijos žetonas arba API raktas (operatoriaus vaidmuo)Grąžina autentifikuoto naudotojo operatoriaus profilį.
/api/operator/profileBearer sesijos žetonas arba API raktas (operatoriaus vaidmuo)Sukuria arba atnaujina operatoriaus profilį.
/api/operator/available-robotsBearer sesijos žetonas arba API raktas (operatoriaus vaidmuo)Išvardija robotus, kurie šiuo metu laisvi ir atitinka operatoriaus sertifikatus.
/api/operator/certificationsBearer sesijos žetonas arba API raktas (operatoriaus vaidmuo)Išvardija operatoriaus sertifikatų užklausas ir jų būseną.
/api/operator/certificationsBearer sesijos žetonas arba API raktas (operatoriaus vaidmuo)Prašo roboto tipo sertifikato.
/api/operator/scheduleBearer sesijos žetonas arba API raktas (operatoriaus vaidmuo)Grąžina operatoriaus savaitinį prieinamumo tvarkaraštį.
/api/operator/scheduleBearer sesijos žetonas arba API raktas (operatoriaus vaidmuo)Atnaujina savaitinį prieinamumo tvarkaraštį.
/api/operator/availabilityBearer sesijos žetonas arba API raktas (operatoriaus vaidmuo)Grąžina dabartinį operatoriaus prieinamumą.
/api/operator/statsBearer sesijos žetonas arba API raktas (operatoriaus vaidmuo)Grąžina uždarbio ir sesijų statistiką operatoriaus valdymo skydeliui.
Sesijos
Sesijos yra pagrindinis platformos resursas: viena sesija yra vienas nepertraukiamas teleoperacijos užsiėmimas tarp operatoriaus ir roboto. Sesijos būsena pereina per PENDING, ACTIVE, PAUSED, COMPLETED ir CANCELLED.
/api/sessionsBearer sesijos žetonas arba API raktasIšvardija autentifikuoto naudotojo sesijas. Operatoriai mato sesijas, kurias jie valdė; klientai mato sesijas ant savo robotų. Laukų rinkinys šiek tiek skiriasi tarp dviejų vaizdų: kliento vaizde yra episodes_collected ir data_collected_mb, operatoriaus vaizde yra operator_earnings_cents.
| Name | In | Type | Description |
|---|---|---|---|
| status | query | string | Neprivalomas. Filtruoja pagal sesijos būseną, pavyzdžiui, ACTIVE arba COMPLETED. Praleiskite, kad išvardytumėte visas. |
| limit | query | number | Neprivalomas. Puslapio dydis, numatytasis 50, maksimalus 100. |
| offset | query | number | Neprivalomas. Puslapiavimo poslinkis, numatytasis 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 sesijos žetonas arba API raktas (operatoriaus vaidmuo)Pradeda teleoperacijos sesiją ant laisvo roboto. Reikalauja operatoriaus vaidmens: klientai sesijų pradėti negali. Operatorius vienu metu gali turėti daugiausiai vieną ACTIVE arba PAUSED sesiją, o robotas šiuo metu turi turėti būseną AVAILABLE. Nedelsiant pradedant, robotas persijungia į IN_SESSION, o klientui išsiunčiamas pranešimas.
| Name | In | Type | Description |
|---|---|---|---|
| robotId | body | string | Privalomas. Valdomo roboto id. Robotas turi būti AVAILABLE. |
| operatorId | body | string | Neprivalomas. Aiškus operatoriaus id; numatytoji reikšmė yra autentifikuotas operatorius. |
| scheduledFor | body | string (ISO 8601) | Neprivalomas. Suplanuoja sesiją ateities laikui, o ne pradeda ją iš karto. |
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 sesijos žetonas arba API raktasGrąžina vieną sesiją su jos detalėmis.
/api/sessions/[id]Bearer sesijos žetonas arba API raktasAtnaujina sesijos gyvavimo ciklą: pristabdymą, atnaujinimą, pabaigą ir susijusius veiksmus.
/api/sessions/[id]/extendBearer sesijos žetonas arba API raktas (klientas, sesijos savininkas)Prašo sesijos pratęsimo. Tai gali iškviesti tik sesijos savininkas klientas, ir sesija turi būti ACTIVE. Užklausa registruojama kaip sesijos įvykis, o operatorius gauna pranešimą; pats pratęsimas įvyksta, kai operatorius į jį reaguoja.
| Name | In | Type | Description |
|---|---|---|---|
| id | path | string | Sesijos id. |
| additionalMinutes | body | number | Prašomo pratęsimo trukmė minutėmis. |
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 sesijos žetonas arba API raktasIšvardija sesijos pokalbio žinutes.
/api/sessions/[id]/messagesBearer sesijos žetonas arba API raktasSiunčia pokalbio žinutę sesijoje.
/api/sessions/[id]/rateBearer sesijos žetonas arba API raktas (klientas)Įvertina baigtą sesiją 1 iki 5 žvaigždučių skalėje, su neprivalomu komentaru.
/api/sessions/exportBearer sesijos žetonas arba API raktasEksportuoja sesijos duomenis.
Mokėjimai
Visas pinigų judėjimas vyksta per Stripe. Kliento atsiskaitymas naudoja Stripe klientą su išsaugotu mokėjimo būdu; operatoriaus išmokos naudoja Stripe Connect. Pati platforma niekada nesaugo kortelės ar banko duomenų.
/api/stripe/customerBearer sesijos žetonas (kliento vaidmuo)Sukuria arba grąžina Stripe klientą, naudojamą kliento atsiskaitymui.
/api/stripe/connectBearer sesijos žetonas (operatoriaus vaidmuo)Grąžina operatoriaus Stripe Connect paskyros būseną.
/api/stripe/connectBearer sesijos žetonas (operatoriaus vaidmuo)Pradeda Stripe Connect registraciją operatoriaus išmokoms.
/api/stripe/setup-intentBearer sesijos žetonas (kliento vaidmuo)Sukuria Stripe SetupIntent mokėjimo būdo išsaugojimui.
/api/stripe/portalBearer sesijos žetonas (kliento vaidmuo)Sukuria Stripe atsiskaitymo portalo sesiją mokėjimo būdams ir sąskaitoms valdyti.
/api/stripe/payoutBearer sesijos žetonas (operatoriaus vaidmuo)Grąžina autentifikuoto operatoriaus išmokos informaciją.
/api/stripe/payoutBearer sesijos žetonas (operatoriaus vaidmuo)Prašo sukaupto uždarbio išmokos. Minimali išmoka yra 10,00 EUR.
/api/stripe/webhookStripe webhook parašasPriima Stripe webhook įvykius. Iškviečiamas Stripe, ne API klientų.
Vieši galiniai taškai
Šiems galiniams taškams autentifikacijos nereikia. Juos saugu kviesti iš stebėjimo, rinkodaros puslapių ar būsenos zondo.
/api/healthAPI ir jos duomenų bazės ryšio patikra. Grąžina 200, kai abu tvarkoje; jei duomenų bazės patikra nepavyksta, grąžinama ta pati struktūra su status ir db nustatytais į error ir HTTP būsena 503.
curl https://www.ay-robots.com/api/health{
"status": "ok",
"db": "ok",
"timestamp": "2026-08-09T10:12:00.000Z"
}/api/robots/[id]Grąžina viešą informaciją apie palaikomą roboto modelį.
/api/public/pricingGrąžina dabartinius viešus kainodaros planus.
/api/contactPateikia kontaktų formos žinutę. Žinutė pirmiausia išsaugoma, o tada pristatoma el. paštu, todėl laikina pašto prieinamumo pertrauka jos nepraranda: tokiu atveju atsakymas praneša stored true ir delivered false, o pristatymas bandomas dar kartą operaciniu būdu.
| Name | In | Type | Description |
|---|---|---|---|
| name | body | string | Privalomas. Jūsų vardas. |
| body | string | Privalomas. Galiojantis el. pašto adresas atsakymui. | |
| category | body | string | Privalomas. Vienas iš: General Inquiry, Bug Report, Feature Request, Sales & Pricing, Partnership, Career/Jobs, Technical Support, Billing & Payments, Press & Media, Other. |
| subject | body | string | Privalomas. Trumpa temos eilutė. |
| message | body | string | Privalomas. Žinutės turinys. |
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-requestPrašo palaikymo roboto tipui, kurio dar nėra platformoje.
/api/statsGrąžina viešą platformos statistiką.
Kaip AY-Robots saugo paskyras ir gyvą roboto valdymą: Supabase autentifikacija, vaidmenų modelis, API raktai, sesijos apsaugos, audito žurnalas ir šifravimas.
Kaip veikia AY-Robots sesijos: būsenų kaita nuo PENDING iki COMPLETED, kiekvienas aktyvumo įvykis, sesijos pokalbis, vertinimai, pratęsimai ir mokymo duomenys.