API-referencia

Az AY-Robots REST API-ja a https://www.ay-robots.com/api alatt él, és mindkét irányban JSON-t beszél. Ez az oldal dokumentálja a hitelesítést, a válaszkonvenciókat és minden végpontot, teljes paraméter-dokumentációval azokhoz az útvonalakhoz, amelyeket a legvalószínűbb programozottan meghívni.

Utolsó frissítés 2026-08-09

Hitelesítés

Minden végpont hitelesítést igényel, kivéve, ha a Nyilvános végpontok szekcióban szerepel. Az API kétféle hitelesítő adatot fogad el, és mindkettő ugyanúgy érkezik: vagy a munkamenet-cookie-ként, amelyet az irányítópult amúgy is küld, vagy egy Bearer tokent tartalmazó Authorization fejlécként.

MódszerHogyan működikMire használható
Böngésző-munkamenetA bejelentkezett fiókjának Supabase munkamenet-tokenje, cookie-ként vagy Bearer tokenként küldveMaga az irányítópult, és gyors kísérletek egy hitelesített böngészőkontextusból
API-kulcsAz ayr_live_ előtaggal ellátott kulcs, amelyet a /dashboard/settings alatt hoz létre, és Bearer tokenként küldSzkriptek, szerverek, CI és minden, aminek nem szabad böngészős bejelentkezéstől függenie
MCPA hosztolt MCP szerver a https://www.ay-robots.com/api/mcp címen (Streamable HTTP)LLM-ügynökök és eszközök, amelyek a Model Context Protocolt beszélik
bash
curl https://www.ay-robots.com/api/sessions \
  -H 'Authorization: Bearer ayr_live_your_key_here'
Hitelesítés API-kulccsal

Az API-kulcsokat a /dashboard/settings alatt hozza létre és vonja vissza. Kezelje őket jelszóként: tartsa őket a szerver oldalán, és úgy rotálja őket, hogy előbb létrehoz egy csere-kulcsot, mielőtt visszavonná a régit. Ha a desktop CLI-t használja, az a platformot helyi MCP szerverként is elérhetővé teheti a következő paranccsal: ay-robots mcp.

A válaszok JSON formátumúak. A hibák egységes alakot követnek: egy JSON objektum egyetlen error mezővel, amely emberi olvasásra szánt üzenetet tartalmaz, a megfelelő 4xx vagy 5xx státuszkóddal együtt kézbesítve. A sikeres válaszok közvetlenül visszaadják az erőforrást; néhány végpont egy elnevezett mezőbe csomagolja a listákat, amit az alábbi példák ott mutatnak, ahol számít.

Hitelesítési végpontok

Fiók- és profilkezelés. Ezeket a végpontokat elsősorban maga az irányítópult használja, de bármilyen érvényes hitelesítő adattal működnek.

GET/api/auth/profileBearer munkamenet-token vagy API-kulcs

Visszaadja a hitelesített felhasználó profilját.

POST/api/auth/profileBearer munkamenet-token vagy API-kulcs

Frissíti a profilmezőket, például a megjelenítendő nevet és az értesítési beállításokat.

POST/api/auth/syncBearer munkamenet-token

Szinkronizálja a Supabase Auth felhasználót a platform felhasználói rekordjával.

GET/api/auth/check-onboardingBearer munkamenet-token

Jelenti, hogy a hitelesített felhasználó befejezte-e az onboardingot.

POST/api/auth/avatarBearer munkamenet-token

Feltölt egy új avatárképet a hitelesített felhasználó számára.

Ügyfél-végpontok

Minden, amit egy robottulajdonos kezel: regisztrált robotok, ügyfélprofil, adatkészletek, számlák és irányítópult-statisztikák.

GET/api/client/robotsBearer munkamenet-token vagy API-kulcs (ügyfél szerepkör)

Felsorolja a hitelesített ügyfél által regisztrált robotokat, legújabb elöl, legfeljebb 50 bejegyzésig. Az időbélyegek ISO 8601 formátumúak; a last_online és a last_heartbeat null, amíg a robot egyszer sem csatlakozott.

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 munkamenet-token vagy API-kulcs (ügyfél szerepkör)

Regisztrál egy új robotot, és visszaadja az id-jét. Egy motorpanel hardver-id-je csak egyetlen robothoz tartozhat; egy ütközés 409-es státusszal elutasításra kerül.

GET/api/client/profileBearer munkamenet-token vagy API-kulcs (ügyfél szerepkör)

Visszaadja a hitelesített felhasználó ügyfélprofilját.

PATCH/api/client/profileBearer munkamenet-token vagy API-kulcs (ügyfél szerepkör)

Frissíti az ügyfélprofil mezőit.

GET/api/client/datasetsBearer munkamenet-token vagy API-kulcs (ügyfél szerepkör)

Felsorolja az ügyfél felhő-adatkészleteit epizódszámmal és mérettel.

GET/api/client/invoicesBearer munkamenet-token vagy API-kulcs (ügyfél szerepkör)

Felsorolja az ügyfél havi számláit.

GET/api/client/statsBearer munkamenet-token vagy API-kulcs (ügyfél szerepkör)

Visszaadja a használati statisztikákat az ügyfél-irányítópulthoz.

Operátor-végpontok

Az operátor oldala: profil és elérhetőség, minősítések, ütemezés és keresetstatisztikák.

GET/api/operator/profileBearer munkamenet-token vagy API-kulcs (operátor szerepkör)

Visszaadja a hitelesített felhasználó operátori profilját.

POST/api/operator/profileBearer munkamenet-token vagy API-kulcs (operátor szerepkör)

Létrehozza vagy frissíti az operátori profilt.

GET/api/operator/available-robotsBearer munkamenet-token vagy API-kulcs (operátor szerepkör)

Felsorolja az éppen elérhető és az operátor minősítéseinek megfelelő robotokat.

GET/api/operator/certificationsBearer munkamenet-token vagy API-kulcs (operátor szerepkör)

Felsorolja az operátor minősítési kérelmeit és azok állapotát.

POST/api/operator/certificationsBearer munkamenet-token vagy API-kulcs (operátor szerepkör)

Minősítést kér egy robottípushoz.

GET/api/operator/scheduleBearer munkamenet-token vagy API-kulcs (operátor szerepkör)

Visszaadja az operátor heti elérhetőségi beosztását.

POST/api/operator/scheduleBearer munkamenet-token vagy API-kulcs (operátor szerepkör)

Frissíti a heti elérhetőségi beosztást.

GET/api/operator/availabilityBearer munkamenet-token vagy API-kulcs (operátor szerepkör)

Visszaadja az operátor jelenlegi elérhetőségét.

GET/api/operator/statsBearer munkamenet-token vagy API-kulcs (operátor szerepkör)

Visszaadja a kereset- és munkamenet-statisztikákat az operátor-irányítópulthoz.

Munkamenetek

A munkamenetek a platform alaperőforrása: egy munkamenet egy folyamatos teleoperációs elköteleződés egy operátor és egy robot között. A munkamenet állapota PENDING, ACTIVE, PAUSED, COMPLETED és CANCELLED között mozog.

GET/api/sessionsBearer munkamenet-token vagy API-kulcs

Felsorolja a hitelesített felhasználó munkameneteit. Az operátorok azokat a munkameneteket látják, amelyeket ők vezettek; az ügyfelek a saját robotjaikon futottakat. A mezőkészlet kissé eltér a két nézet között: az ügyfélnézet tartalmazza az episodes_collected és a data_collected_mb mezőket, az operátori nézet az operator_earnings_cents mezőt.

NameInTypeDescription
statusquerystringOpcionális. Szűrés munkamenet-állapot szerint, például ACTIVE vagy COMPLETED. Hagyja el az összes felsorolásához.
limitquerynumberOpcionális. Oldalméret, alapértelmezetten 50, legfeljebb 100.
offsetquerynumberOpcionális. Lapozási eltolás, alapértelmezetten 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 munkamenet-token vagy API-kulcs (operátor szerepkör)

Elindít egy teleoperációs munkamenetet egy elérhető robotnál. Operátor szerepkört igényel: ügyfelek nem indíthatnak munkamenetet. Egy operátor egyszerre legfeljebb egy ACTIVE vagy PAUSED munkamenetet tarthat, és a robotnak jelenleg AVAILABLE állapotúnak kell lennie. Azonnali indításnál a robot IN_SESSION állapotra vált, és az ügyfél értesítést kap.

NameInTypeDescription
robotIdbodystringKötelező. A vezérelni kívánt robot id-je. A robotnak AVAILABLE állapotúnak kell lennie.
operatorIdbodystringOpcionális. Explicit operátor-id; alapértelmezetten a hitelesített operátor.
scheduledForbodystring (ISO 8601)Opcionális. Egy jövőbeli időpontra ütemezi a munkamenetet, ahelyett hogy azonnal elindítaná.
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 munkamenet-token vagy API-kulcs

Visszaad egyetlen munkamenetet a részleteivel.

PATCH/api/sessions/[id]Bearer munkamenet-token vagy API-kulcs

Frissíti a munkamenet életciklusát: szüneteltetés, folytatás, befejezés és kapcsolódó műveletek.

POST/api/sessions/[id]/extendBearer munkamenet-token vagy API-kulcs (ügyfél, a munkamenet tulajdonosa)

Munkamenet-hosszabbítást kér. Ezt csak az az ügyfél hívhatja meg, akié a munkamenet, és a munkamenetnek ACTIVE állapotúnak kell lennie. A kérés munkamenet-eseményként kerül naplózásra, és az operátor értesítést kap; maga a hosszabbítás akkor történik meg, amikor az operátor reagál rá.

NameInTypeDescription
idpathstringA munkamenet id-je.
additionalMinutesbodynumberA kért hosszabbítás hossza percekben.
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 munkamenet-token vagy API-kulcs

Felsorolja egy munkamenet chatüzeneteit.

POST/api/sessions/[id]/messagesBearer munkamenet-token vagy API-kulcs

Chatüzenetet küld egy munkamenetben.

POST/api/sessions/[id]/rateBearer munkamenet-token vagy API-kulcs (ügyfél)

Egy befejezett munkamenetet 1-től 5 csillagig terjedő skálán értékel, opcionális megjegyzéssel.

POST/api/sessions/exportBearer munkamenet-token vagy API-kulcs

Exportálja a munkamenet adatait.

Fizetések

Minden pénzmozgás a Stripe-on keresztül zajlik. Az ügyfélszámlázás egy mentett fizetési móddal rendelkező Stripe ügyfelet használ; az operátori kifizetések a Stripe Connectet. Maga a platform soha nem tárol kártya- vagy bankadatot.

POST/api/stripe/customerBearer munkamenet-token (ügyfél szerepkör)

Létrehozza vagy visszaadja az ügyfélszámlázáshoz használt Stripe ügyfelet.

GET/api/stripe/connectBearer munkamenet-token (operátor szerepkör)

Visszaadja az operátor Stripe Connect fiókjának állapotát.

POST/api/stripe/connectBearer munkamenet-token (operátor szerepkör)

Elindítja a Stripe Connect onboardingot az operátori kifizetésekhez.

POST/api/stripe/setup-intentBearer munkamenet-token (ügyfél szerepkör)

Létrehoz egy Stripe SetupIntentet egy fizetési mód mentéséhez.

POST/api/stripe/portalBearer munkamenet-token (ügyfél szerepkör)

Létrehoz egy Stripe billing portál munkamenetet a fizetési módok és számlák kezeléséhez.

GET/api/stripe/payoutBearer munkamenet-token (operátor szerepkör)

Visszaadja a hitelesített operátor kifizetési adatait.

POST/api/stripe/payoutBearer munkamenet-token (operátor szerepkör)

Kifizetést kér a felhalmozott keresetekből. A minimum kifizetés 10,00 EUR.

POST/api/stripe/webhookStripe webhook aláírás

Fogadja a Stripe webhook eseményeit. A Stripe hívja, nem az API kliensei.

Nyilvános végpontok

Ezek a végpontok nem igényelnek hitelesítést. Biztonságosan hívhatók monitoringból, marketingoldalakról vagy egy állapotszondából.

GET/api/health

Állapotellenőrzés az API-hoz és annak adatbázis-kapcsolatához. 200-at ad vissza, ha minden rendben; ha az adatbázis-ellenőrzés sikertelen, ugyanaz az alak érkezik vissza, a status és a db mezővel error-ra állítva, 503-as HTTP státusszal.

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]

Visszaad nyilvános információt egy támogatott robotmodellről.

GET/api/public/pricing

Visszaadja az aktuális nyilvános árazási csomagokat.

POST/api/contact

Beküld egy kapcsolatfelvételi űrlap üzenetet. Az üzenet előbb tárolásra kerül, majd e-mailben kézbesítik, így egy átmeneti levélkiesés nem veszíti el: ebben az esetben a válasz stored true és delivered false értéket jelent, és a kézbesítést üzemeltetői oldalon újrapróbálják.

NameInTypeDescription
namebodystringKötelező. Az ön neve.
emailbodystringKötelező. Érvényes e-mail-cím a válaszhoz.
categorybodystringKötelező. Az egyik a következők közül: General Inquiry, Bug Report, Feature Request, Sales & Pricing, Partnership, Career/Jobs, Technical Support, Billing & Payments, Press & Media, Other.
subjectbodystringKötelező. Rövid tárgy.
messagebodystringKötelező. Az üzenet szövege.
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

Támogatást kér egy még nem szereplő robottípushoz a platformon.

GET/api/stats

Visszaadja a nyilvános platformstatisztikákat.