API atsauce
AY-Robots REST API atrodas adresē https://www.ay-robots.com/api un abos virzienos runā JSON. Šī lapa dokumentē autentifikāciju, atbilžu konvencijas un katru galapunktu, ar pilnu parametru dokumentāciju maršrutiem, kurus visticamāk izsauksiet programmatiski.
Pēdējoreiz atjaunināts 2026-08-09
Autentifikācija
Katram galapunktam nepieciešama autentifikācija, ja vien tas nav uzskaitīts sadaļā Public. API pieņem divas akreditācijas datu formas, un abas pienāk vienādi: vai nu kā sesijas sīkfails, ko vadības panelis jau sūta, vai kā Authorization galvene ar Bearer žetonu.
| Metode | Kā tā darbojas | Izmantojiet to |
|---|---|---|
| Pārlūka sesija | Jūsu pierakstītā konta Supabase sesijas žetons, sūtīts kā sīkfails vai kā Bearer žetons | Pašam vadības panelim un ātriem eksperimentiem no autentificēta pārlūka konteksta |
| API atslēga | Atslēga ar priedēkli ayr_live_, izveidota /dashboard/settings un sūtīta kā Bearer žetons | Skriptiem, serveriem, CI un visam, kam nevajadzētu būt atkarīgam no pierakstīšanās pārlūkā |
| MCP | Hostētais MCP serveris adresē https://www.ay-robots.com/api/mcp (Streamable HTTP) | LLM aģentiem un rīkiem, kas runā Model Context Protocol |
curl https://www.ay-robots.com/api/sessions \
-H 'Authorization: Bearer ayr_live_your_key_here'API atslēgas tiek izveidotas un atsauktas /dashboard/settings. Izturieties pret tām kā pret parolēm: glabājiet tās servera pusē un rotējiet, izveidojot aizstājēju atslēgu pirms vecās atsaukšanas. Ja izmantojat darbvirsmas CLI, tas var arī padarīt platformu pieejamu kā lokālu MCP serveri ar komandu: ay-robots mcp.
Atbildes ir JSON. Kļūdas izmanto konsekventu struktūru: JSON objektu ar vienu error lauku, kas satur cilvēkam saprotamu ziņojumu, piegādātu ar atbilstošu 4xx vai 5xx statusa kodu. Veiksmīgas atbildes atgriež resursu tieši; daži galapunkti ietin sarakstus nosauktā laukā, ko zemāk redzamie piemēri parāda tur, kur tam ir nozīme.
Auth galapunkti
Konta un profila santehnika. Tos galvenokārt izmanto pats vadības panelis, bet tie darbojas ar jebkuriem derīgiem akreditācijas datiem.
/api/auth/profileBearer sesijas žetons vai API atslēgaAtgriež autentificētā lietotāja profilu.
/api/auth/profileBearer sesijas žetons vai API atslēgaAtjaunina profila laukus, piemēram, redzamo vārdu un paziņojumu preferences.
/api/auth/syncBearer sesijas žetonsSinhronizē Supabase auth lietotāju ar platformas lietotāja ierakstu.
/api/auth/check-onboardingBearer sesijas žetonsZiņo, vai autentificētais lietotājs ir pabeidzis reģistrāciju.
/api/auth/avatarBearer sesijas žetonsAugšupielādē jaunu avatara attēlu autentificētajam lietotājam.
Klienta galapunkti
Viss, ko pārvalda robota īpašnieks: reģistrēti roboti, klienta profils, datu kopas, rēķini un vadības paneļa statistika.
/api/client/robotsBearer sesijas žetons vai API atslēga (klienta loma)Uzskaita autentificētā klienta reģistrētos robotus, jaunākos vispirms, līdz 50 ierakstiem. Laika zīmogi ir ISO 8601; last_online un last_heartbeat ir null, kamēr robots vēl nav pieslēdzies nevienu reizi.
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 sesijas žetons vai API atslēga (klienta loma)Reģistrē jaunu robotu un atgriež tā id. Motora plates aparatūras id var piederēt tikai vienam robotam; konflikts tiek noraidīts ar statusu 409.
/api/client/profileBearer sesijas žetons vai API atslēga (klienta loma)Atgriež autentificētā lietotāja klienta profilu.
/api/client/profileBearer sesijas žetons vai API atslēga (klienta loma)Atjaunina klienta profila laukus.
/api/client/datasetsBearer sesijas žetons vai API atslēga (klienta loma)Uzskaita klienta mākoņa datu kopas ar epizožu skaitiem un izmēriem.
/api/client/invoicesBearer sesijas žetons vai API atslēga (klienta loma)Uzskaita klienta ikmēneša rēķinus.
/api/client/statsBearer sesijas žetons vai API atslēga (klienta loma)Atgriež lietojuma statistiku klienta vadības panelim.
Operatora galapunkti
Operatora puse: profils un pieejamība, sertifikāti, plānošana un ienākumu statistika.
/api/operator/profileBearer sesijas žetons vai API atslēga (operatora loma)Atgriež autentificētā lietotāja operatora profilu.
/api/operator/profileBearer sesijas žetons vai API atslēga (operatora loma)Izveido vai atjaunina operatora profilu.
/api/operator/available-robotsBearer sesijas žetons vai API atslēga (operatora loma)Uzskaita robotus, kas šobrīd ir pieejami un atbilst operatora sertifikātiem.
/api/operator/certificationsBearer sesijas žetons vai API atslēga (operatora loma)Uzskaita operatora sertifikātu pieprasījumus un to statusu.
/api/operator/certificationsBearer sesijas žetons vai API atslēga (operatora loma)Pieprasa sertifikātu robota tipam.
/api/operator/scheduleBearer sesijas žetons vai API atslēga (operatora loma)Atgriež operatora iknedēļas pieejamības grafiku.
/api/operator/scheduleBearer sesijas žetons vai API atslēga (operatora loma)Atjaunina iknedēļas pieejamības grafiku.
/api/operator/availabilityBearer sesijas žetons vai API atslēga (operatora loma)Atgriež operatora pašreizējo pieejamību.
/api/operator/statsBearer sesijas žetons vai API atslēga (operatora loma)Atgriež ienākumu un sesiju statistiku operatora vadības panelim.
Sesijas
Sesijas ir platformas galvenais resurss: viena sesija ir viena nepārtraukta teleoperācijas iesaiste starp operatoru un robotu. Sesijas statuss pāriet caur PENDING, ACTIVE, PAUSED, COMPLETED un CANCELLED.
/api/sessionsBearer sesijas žetons vai API atslēgaUzskaita autentificētā lietotāja sesijas. Operatori redz sesijas, kuras viņi vadīja; klienti redz sesijas uz saviem robotiem. Lauku kopa nedaudz atšķiras starp abiem skatiem: klienta skatā ir episodes_collected un data_collected_mb, operatora skatā ir operator_earnings_cents.
| Name | In | Type | Description |
|---|---|---|---|
| status | query | string | Neobligāts. Filtrē pēc sesijas statusa, piemēram, ACTIVE vai COMPLETED. Izlaidiet, lai uzskaitītu visas. |
| limit | query | number | Neobligāts. Lapas izmērs, noklusējuma 50, maksimālais 100. |
| offset | query | number | Neobligāts. Lapošanas nobīde, noklusējuma 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 sesijas žetons vai API atslēga (operatora loma)Sāk teleoperācijas sesiju uz pieejama robota. Nepieciešama operatora loma: klienti nevar sākt sesijas. Operators vienlaikus var uzturēt ne vairāk kā vienu ACTIVE vai PAUSED sesiju, un robotam pašlaik jābūt statusā AVAILABLE. Tūlītējas sākšanas gadījumā robots pāriet uz IN_SESSION, un klients saņem paziņojumu.
| Name | In | Type | Description |
|---|---|---|---|
| robotId | body | string | Obligāts. Vadāmā robota id. Robotam jābūt AVAILABLE. |
| operatorId | body | string | Neobligāts. Skaidrs operatora id; noklusējuma vērtība ir autentificētais operators. |
| scheduledFor | body | string (ISO 8601) | Neobligāts. Ieplāno sesiju nākotnes laikam, nevis sāk to nekavējoties. |
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 sesijas žetons vai API atslēgaAtgriež vienu sesiju ar tās detaļām.
/api/sessions/[id]Bearer sesijas žetons vai API atslēgaAtjaunina sesijas dzīves ciklu: apturēšanu, atsākšanu, beigšanu un saistītas darbības.
/api/sessions/[id]/extendBearer sesijas žetons vai API atslēga (klients, sesijas īpašnieks)Pieprasa sesijas pagarinājumu. To var izsaukt tikai klients, kuram pieder sesija, un sesijai jābūt ACTIVE. Pieprasījums tiek reģistrēts kā sesijas notikums, un operators saņem paziņojumu; pats pagarinājums notiek, kad operators uz to reaģē.
| Name | In | Type | Description |
|---|---|---|---|
| id | path | string | Sesijas id. |
| additionalMinutes | body | number | Pieprasītā pagarinājuma ilgums minūtēs. |
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 sesijas žetons vai API atslēgaUzskaita sesijas tērzēšanas ziņojumus.
/api/sessions/[id]/messagesBearer sesijas žetons vai API atslēgaNosūta tērzēšanas ziņojumu sesijā.
/api/sessions/[id]/rateBearer sesijas žetons vai API atslēga (klients)Novērtē pabeigtu sesiju 1 līdz 5 zvaigžņu skalā, ar neobligātu komentāru.
/api/sessions/exportBearer sesijas žetons vai API atslēgaEksportē sesijas datus.
Maksājumi
Visa naudas kustība notiek caur Stripe. Klienta norēķini izmanto Stripe klientu ar saglabātu maksājumu metodi; operatoru izmaksas izmanto Stripe Connect. Pati platforma nekad neglabā kartes vai bankas datus.
/api/stripe/customerBearer sesijas žetons (klienta loma)Izveido vai atgriež Stripe klientu, ko izmanto klienta norēķiniem.
/api/stripe/connectBearer sesijas žetons (operatora loma)Atgriež operatora Stripe Connect konta statusu.
/api/stripe/connectBearer sesijas žetons (operatora loma)Sāk Stripe Connect reģistrāciju operatoru izmaksām.
/api/stripe/setup-intentBearer sesijas žetons (klienta loma)Izveido Stripe SetupIntent maksājumu metodes saglabāšanai.
/api/stripe/portalBearer sesijas žetons (klienta loma)Izveido Stripe norēķinu portāla sesiju maksājumu metožu un rēķinu pārvaldīšanai.
/api/stripe/payoutBearer sesijas žetons (operatora loma)Atgriež izmaksas informāciju autentificētajam operatoram.
/api/stripe/payoutBearer sesijas žetons (operatora loma)Pieprasa uzkrāto ienākumu izmaksu. Minimālā izmaksa ir 10,00 EUR.
/api/stripe/webhookStripe webhook parakstsSaņem Stripe webhook notikumus. Izsauc Stripe, nevis API klienti.
Publiskie galapunkti
Šiem galapunktiem nav nepieciešama autentifikācija. Tos droši var izsaukt no uzraudzības, mārketinga lapām vai statusa zondes.
/api/healthAPI un tās datubāzes savienojuma pārbaude. Atgriež 200, kad abi ir kārtībā; ja datubāzes pārbaude neizdodas, tiek atgriezta tā pati struktūra ar status un db iestatītiem uz error un HTTP statusu 503.
curl https://www.ay-robots.com/api/health{
"status": "ok",
"db": "ok",
"timestamp": "2026-08-09T10:12:00.000Z"
}/api/robots/[id]Atgriež publisku informāciju par atbalstītu robota modeli.
/api/public/pricingAtgriež pašreizējos publiskos cenu plānus.
/api/contactIesniedz kontaktu formas ziņojumu. Ziņojums vispirms tiek saglabāts un pēc tam piegādāts pa e-pastu, tāpēc īslaicīgs pasta pārtraukums to nepazaudē: šādā gadījumā atbilde ziņo stored true un delivered false, un piegāde tiek atkārtota operacionāli.
| Name | In | Type | Description |
|---|---|---|---|
| name | body | string | Obligāts. Jūsu vārds. |
| body | string | Obligāts. Derīga e-pasta adrese atbildei. | |
| category | body | string | Obligāts. Viens no: General Inquiry, Bug Report, Feature Request, Sales & Pricing, Partnership, Career/Jobs, Technical Support, Billing & Payments, Press & Media, Other. |
| subject | body | string | Obligāts. Īsa temata rinda. |
| message | body | string | Obligāts. Ziņojuma teksts. |
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-requestPieprasa atbalstu robota tipam, kas platformā vēl nav pieejams.
/api/statsAtgriež publisku platformas statistiku.
Kā AY-Robots aizsargā kontus un tiešraides robota vadību: Supabase autentifikācija, lomu modelis, API atslēgas, sesijas aizsardzība un audita žurnāls.
Kā darbojas AY-Robots sesijas: statusu maiņa no PENDING līdz COMPLETED, katrs aktivitātes notikums, tērzēšana, vērtējumi, pagarinājumi un apmācības dati.