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.

MetodeKā tā darbojasIzmantojiet to
Pārlūka sesijaJūsu pierakstītā konta Supabase sesijas žetons, sūtīts kā sīkfails vai kā Bearer žetonsPašam vadības panelim un ātriem eksperimentiem no autentificēta pārlūka konteksta
API atslēgaAtslēga ar priedēkli ayr_live_, izveidota /dashboard/settings un sūtīta kā Bearer žetonsSkriptiem, serveriem, CI un visam, kam nevajadzētu būt atkarīgam no pierakstīšanās pārlūkā
MCPHostētais MCP serveris adresē https://www.ay-robots.com/api/mcp (Streamable HTTP)LLM aģentiem un rīkiem, kas runā Model Context Protocol
bash
curl https://www.ay-robots.com/api/sessions \
  -H 'Authorization: Bearer ayr_live_your_key_here'
Autentifikācija ar API atslēgu

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.

GET/api/auth/profileBearer sesijas žetons vai API atslēga

Atgriež autentificētā lietotāja profilu.

POST/api/auth/profileBearer sesijas žetons vai API atslēga

Atjaunina profila laukus, piemēram, redzamo vārdu un paziņojumu preferences.

POST/api/auth/syncBearer sesijas žetons

Sinhronizē Supabase auth lietotāju ar platformas lietotāja ierakstu.

GET/api/auth/check-onboardingBearer sesijas žetons

Ziņo, vai autentificētais lietotājs ir pabeidzis reģistrāciju.

POST/api/auth/avatarBearer sesijas žetons

Augš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.

GET/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.

Request
curl https://www.ay-robots.com/api/client/robots \
  -H 'Authorization: Bearer ayr_live_your_key_here'
Response
[
  {
    "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"
  }
]
POST/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.

GET/api/client/profileBearer sesijas žetons vai API atslēga (klienta loma)

Atgriež autentificētā lietotāja klienta profilu.

PATCH/api/client/profileBearer sesijas žetons vai API atslēga (klienta loma)

Atjaunina klienta profila laukus.

GET/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.

GET/api/client/invoicesBearer sesijas žetons vai API atslēga (klienta loma)

Uzskaita klienta ikmēneša rēķinus.

GET/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.

GET/api/operator/profileBearer sesijas žetons vai API atslēga (operatora loma)

Atgriež autentificētā lietotāja operatora profilu.

POST/api/operator/profileBearer sesijas žetons vai API atslēga (operatora loma)

Izveido vai atjaunina operatora profilu.

GET/api/operator/available-robotsBearer sesijas žetons vai API atslēga (operatora loma)

Uzskaita robotus, kas šobrīd ir pieejami un atbilst operatora sertifikātiem.

GET/api/operator/certificationsBearer sesijas žetons vai API atslēga (operatora loma)

Uzskaita operatora sertifikātu pieprasījumus un to statusu.

POST/api/operator/certificationsBearer sesijas žetons vai API atslēga (operatora loma)

Pieprasa sertifikātu robota tipam.

GET/api/operator/scheduleBearer sesijas žetons vai API atslēga (operatora loma)

Atgriež operatora iknedēļas pieejamības grafiku.

POST/api/operator/scheduleBearer sesijas žetons vai API atslēga (operatora loma)

Atjaunina iknedēļas pieejamības grafiku.

GET/api/operator/availabilityBearer sesijas žetons vai API atslēga (operatora loma)

Atgriež operatora pašreizējo pieejamību.

GET/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.

GET/api/sessionsBearer sesijas žetons vai API atslēga

Uzskaita 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.

NameInTypeDescription
statusquerystringNeobligāts. Filtrē pēc sesijas statusa, piemēram, ACTIVE vai COMPLETED. Izlaidiet, lai uzskaitītu visas.
limitquerynumberNeobligāts. Lapas izmērs, noklusējuma 50, maksimālais 100.
offsetquerynumberNeobligāts. Lapošanas nobīde, noklusējuma 0.
Request
curl 'https://www.ay-robots.com/api/sessions?status=COMPLETED&limit=10' \
  -H 'Authorization: Bearer ayr_live_your_key_here'
Response
{
  "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."
    }
  ]
}
POST/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.

NameInTypeDescription
robotIdbodystringObligāts. Vadāmā robota id. Robotam jābūt AVAILABLE.
operatorIdbodystringNeobligāts. Skaidrs operatora id; noklusējuma vērtība ir autentificētais operators.
scheduledForbodystring (ISO 8601)Neobligāts. Ieplāno sesiju nākotnes laikam, nevis sāk to nekavējoties.
Request
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"}'
Response
{
  "sessionId": "6b0d2c9a-53f1-4f6e-8f1a-2c9d4e7b5a30",
  "status": "ACTIVE"
}
GET/api/sessions/[id]Bearer sesijas žetons vai API atslēga

Atgriež vienu sesiju ar tās detaļām.

PATCH/api/sessions/[id]Bearer sesijas žetons vai API atslēga

Atjaunina sesijas dzīves ciklu: apturēšanu, atsākšanu, beigšanu un saistītas darbības.

POST/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ģē.

NameInTypeDescription
idpathstringSesijas id.
additionalMinutesbodynumberPieprasītā pagarinājuma ilgums minūtēs.
Request
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}'
Response
{
  "message": "Extension request sent to operator"
}
GET/api/sessions/[id]/messagesBearer sesijas žetons vai API atslēga

Uzskaita sesijas tērzēšanas ziņojumus.

POST/api/sessions/[id]/messagesBearer sesijas žetons vai API atslēga

Nosūta tērzēšanas ziņojumu sesijā.

POST/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.

POST/api/sessions/exportBearer sesijas žetons vai API atslēga

Eksportē 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.

POST/api/stripe/customerBearer sesijas žetons (klienta loma)

Izveido vai atgriež Stripe klientu, ko izmanto klienta norēķiniem.

GET/api/stripe/connectBearer sesijas žetons (operatora loma)

Atgriež operatora Stripe Connect konta statusu.

POST/api/stripe/connectBearer sesijas žetons (operatora loma)

Sāk Stripe Connect reģistrāciju operatoru izmaksām.

POST/api/stripe/setup-intentBearer sesijas žetons (klienta loma)

Izveido Stripe SetupIntent maksājumu metodes saglabāšanai.

POST/api/stripe/portalBearer sesijas žetons (klienta loma)

Izveido Stripe norēķinu portāla sesiju maksājumu metožu un rēķinu pārvaldīšanai.

GET/api/stripe/payoutBearer sesijas žetons (operatora loma)

Atgriež izmaksas informāciju autentificētajam operatoram.

POST/api/stripe/payoutBearer sesijas žetons (operatora loma)

Pieprasa uzkrāto ienākumu izmaksu. Minimālā izmaksa ir 10,00 EUR.

POST/api/stripe/webhookStripe webhook paraksts

Saņ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.

GET/api/health

API 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.

Request
curl https://www.ay-robots.com/api/health
Response
{
  "status": "ok",
  "db": "ok",
  "timestamp": "2026-08-09T10:12:00.000Z"
}
GET/api/robots/[id]

Atgriež publisku informāciju par atbalstītu robota modeli.

GET/api/public/pricing

Atgriež pašreizējos publiskos cenu plānus.

POST/api/contact

Iesniedz 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.

NameInTypeDescription
namebodystringObligāts. Jūsu vārds.
emailbodystringObligāts. Derīga e-pasta adrese atbildei.
categorybodystringObligāts. Viens no: General Inquiry, Bug Report, Feature Request, Sales & Pricing, Partnership, Career/Jobs, Technical Support, Billing & Payments, Press & Media, Other.
subjectbodystringObligāts. Īsa temata rinda.
messagebodystringObligāts. Ziņojuma teksts.
Request
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."
  }'
Response
{
  "success": true,
  "message": "Message sent successfully",
  "id": "b1f2c3d4-0000-0000-0000-000000000000",
  "stored": true,
  "delivered": true
}
POST/api/robot-request

Pieprasa atbalstu robota tipam, kas platformā vēl nav pieejams.

GET/api/stats

Atgriež publisku platformas statistiku.