API-verwysing

Die AY-Robots REST API leef onder https://www.ay-robots.com/api en praat JSON in albei rigtings. Hierdie bladsy dokumenteer verifikasie, die responskonvensies, en elke eindpunt, met volledige parameterdokumentasie vir die roetes wat jy waarskynlik programmaties sal aanroep.

Laas bygewerk 2026-08-09

Verifikasie

Elke eindpunt vereis verifikasie tensy dit in die Public-afdeling gelys word. Die API aanvaar twee vorme van geloofsbriewe, en albei kom op dieselfde manier aan: óf as die sessiekoekie wat die dashboard reeds stuur, óf as 'n Authorization-header met 'n Bearer-token.

MetodeHoe dit werkGebruik dit vir
BlaaiersessieDie Supabase-sessietoken van jou aangemelde rekening, gestuur as 'n koekie of as 'n Bearer-tokenDie dashboard self en vinnige eksperimente vanuit 'n geverifieerde blaaierkonteks
API-sleutel'n Sleutel met die voorvoegsel ayr_live_, geskep in /dashboard/settings en gestuur as 'n Bearer-tokenSkripte, bedieners, CI, en enigiets wat nie van 'n blaaieraanmelding mag afhang nie
MCPDie gehuisveste MCP-bediener by https://www.ay-robots.com/api/mcp (Streamable HTTP)LLM-agente en gereedskap wat die Model Context Protocol praat
bash
curl https://www.ay-robots.com/api/sessions \
  -H 'Authorization: Bearer ayr_live_your_key_here'
Verifieer met 'n API-sleutel

API-sleutels word in /dashboard/settings geskep en herroep. Behandel hulle soos wagwoorde: hou hulle aan die serverkant, en roteer deur eers 'n vervangende sleutel te skep voordat jy die ou een herroep. As jy die desktop CLI gebruik, kan dit ook die platform as 'n plaaslike MCP-bediener blootstel met die opdrag: ay-robots mcp.

Response is JSON. Foute gebruik 'n konsekwente vorm: 'n JSON-objek met 'n enkele error-veld wat 'n leesbare boodskap bevat, gelewer met 'n gepaste 4xx- of 5xx-statuskode. Suksesresponse gee die hulpbron direk terug; 'n paar eindpunte draai lyste toe in 'n benoemde veld, wat die voorbeelde hieronder wys waar dit saak maak.

Auth-eindpunte

Rekening- en profielgrondwerk. Dit word hoofsaaklik deur die dashboard self gebruik, maar werk met enige geldige geloofsbrief.

GET/api/auth/profileBearer-sessietoken of API-sleutel

Gee die profiel van die geverifieerde gebruiker terug.

POST/api/auth/profileBearer-sessietoken of API-sleutel

Werk profielvelde by, soos die vertoonnaam en kennisgewingvoorkeure.

POST/api/auth/syncBearer-sessietoken

Sinchroniseer die Supabase-verifikasiegebruiker met die platformgebruikersrekord.

GET/api/auth/check-onboardingBearer-sessietoken

Rapporteer of die geverifieerde gebruiker onboarding voltooi het.

POST/api/auth/avatarBearer-sessietoken

Laai 'n nuwe avatarbeeld op vir die geverifieerde gebruiker.

Kliƫnt-eindpunte

Alles wat 'n robot-eienaar bestuur: geregistreerde robotte, die kliƫntprofiel, datastelle, fakture, en dashboardstatistieke.

GET/api/client/robotsBearer-sessietoken of API-sleutel (kliƫntrol)

Lys die robotte wat deur die geverifieerde kliƫnt geregistreer is, nuutste eerste, tot 50 inskrywings. Tydstempels is ISO 8601; last_online en last_heartbeat is null totdat die robot een keer gekoppel het.

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-sessietoken of API-sleutel (kliƫntrol)

Registreer 'n nuwe robot en gee sy id terug. 'n Motorbord-hardeware-id kan aan slegs een robot behoort; 'n botsing word verwerp met status 409.

GET/api/client/profileBearer-sessietoken of API-sleutel (kliƫntrol)

Gee die kliƫntprofiel van die geverifieerde gebruiker terug.

PATCH/api/client/profileBearer-sessietoken of API-sleutel (kliƫntrol)

Werk kliƫntprofielvelde by.

GET/api/client/datasetsBearer-sessietoken of API-sleutel (kliƫntrol)

Lys die kliƫnt se wolkdatastelle met episodetellings en groottes.

GET/api/client/invoicesBearer-sessietoken of API-sleutel (kliƫntrol)

Lys die kliƫnt se maandelikse fakture.

GET/api/client/statsBearer-sessietoken of API-sleutel (kliƫntrol)

Gee gebruikstatistieke vir die kliƫntdashboard terug.

Operateur-eindpunte

Die operateurkant: profiel en beskikbaarheid, sertifisering, skedulering, en verdienstestatistieke.

GET/api/operator/profileBearer-sessietoken of API-sleutel (operateurrol)

Gee die operateurprofiel van die geverifieerde gebruiker terug.

POST/api/operator/profileBearer-sessietoken of API-sleutel (operateurrol)

Skep of werk die operateurprofiel by.

GET/api/operator/available-robotsBearer-sessietoken of API-sleutel (operateurrol)

Lys robotte wat tans beskikbaar is en by die operateur se sertifisering pas.

GET/api/operator/certificationsBearer-sessietoken of API-sleutel (operateurrol)

Lys die operateur se sertifiseringsaanvrae en hul status.

POST/api/operator/certificationsBearer-sessietoken of API-sleutel (operateurrol)

Vra sertifisering vir 'n robottipe aan.

GET/api/operator/scheduleBearer-sessietoken of API-sleutel (operateurrol)

Gee die operateur se weeklikse beskikbaarheidskedule terug.

POST/api/operator/scheduleBearer-sessietoken of API-sleutel (operateurrol)

Werk die weeklikse beskikbaarheidskedule by.

GET/api/operator/availabilityBearer-sessietoken of API-sleutel (operateurrol)

Gee die operateur se huidige beskikbaarheid terug.

GET/api/operator/statsBearer-sessietoken of API-sleutel (operateurrol)

Gee verdienste- en sessiestatistieke vir die operateurdashboard terug.

Sessies

Sessies is die kernhulpbron van die platform: een sessie is een deurlopende teleoperasie-verbintenis tussen 'n operateur en 'n robot. Sessiestatus beweeg deur PENDING, ACTIVE, PAUSED, COMPLETED, en CANCELLED.

GET/api/sessionsBearer-sessietoken of API-sleutel

Lys sessies vir die geverifieerde gebruiker. Operateurs sien sessies wat hulle bedien het; kliƫnte sien sessies op hul robotte. Die veldstel verskil effens tussen die twee aansigte: die kliƫntaansig sluit episodes_collected en data_collected_mb in, die operateuraansig sluit operator_earnings_cents in.

NameInTypeDescription
statusquerystringOpsioneel. Filter volgens sessiestatus, byvoorbeeld ACTIVE of COMPLETED. Laat weg om almal te lys.
limitquerynumberOpsioneel. Bladsygrootte, verstek 50, maksimum 100.
offsetquerynumberOpsioneel. Pagineringsverskuiwing, verstek 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-sessietoken of API-sleutel (operateurrol)

Begin 'n teleoperasie-sessie op 'n beskikbare robot. Vereis die operateurrol: kliënte kan nie sessies begin nie. 'n Operateur kan hoogstens een ACTIVE- of PAUSED-sessie op 'n slag hou, en die robot moet tans status AVAILABLE hê. By 'n onmiddellike begin skakel die robot na IN_SESSION en die kliënt word ingelig.

NameInTypeDescription
robotIdbodystringVerpligtend. Id van die robot om te bedien. Die robot moet AVAILABLE wees.
operatorIdbodystringOpsioneel. Eksplisiete operateur-id; verstek is die geverifieerde operateur.
scheduledForbodystring (ISO 8601)Opsioneel. Skeduleer die sessie vir 'n toekomstige tyd in plaas daarvan om dit onmiddellik te begin.
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-sessietoken of API-sleutel

Gee 'n enkele sessie met sy besonderhede terug.

PATCH/api/sessions/[id]Bearer-sessietoken of API-sleutel

Werk die sessielewensiklus by: pouseer, hervat, beƫindig, en verwante aksies.

POST/api/sessions/[id]/extendBearer-sessietoken of API-sleutel (kliƫnt, sessie-eienaar)

Vra 'n sessieverlenging aan. Slegs die kliƫnt wat die sessie besit, kan dit aanroep, en die sessie moet ACTIVE wees. Die aanvraag word as 'n sessiegebeurtenis geregistreer en die operateur ontvang 'n kennisgewing; die verlenging self gebeur wanneer die operateur daarop reageer.

NameInTypeDescription
idpathstringDie sessie-id.
additionalMinutesbodynumberAangevraagde verlengingslengte in minute.
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-sessietoken of API-sleutel

'n Sessie se kletsboodskappe lys.

POST/api/sessions/[id]/messagesBearer-sessietoken of API-sleutel

'n Kletsboodskap in 'n sessie stuur.

POST/api/sessions/[id]/rateBearer-sessietoken of API-sleutel (kliƫnt)

'n Voltooide sessie op 'n skaal van 1 tot 5 sterre gradeer, met 'n opsionele opmerking.

POST/api/sessions/exportBearer-sessietoken of API-sleutel

Voer sessiedata uit.

Betalings

Alle geldbeweging loop deur Stripe. Kliƫntfakturering gebruik 'n Stripe-kliƫnt met 'n gestoorde betaalmetode; operateuruitbetalings gebruik Stripe Connect. Die platform self stoor nooit kaart- of bankdata nie.

POST/api/stripe/customerBearer-sessietoken (kliƫntrol)

Skep of gee die Stripe-kliƫnt terug wat vir kliƫntfakturering gebruik word.

GET/api/stripe/connectBearer-sessietoken (operateurrol)

Gee die status van die operateur se Stripe Connect-rekening terug.

POST/api/stripe/connectBearer-sessietoken (operateurrol)

Begin Stripe Connect-onboarding vir operateuruitbetalings.

POST/api/stripe/setup-intentBearer-sessietoken (kliƫntrol)

Skep 'n Stripe SetupIntent om 'n betaalmetode te stoor.

POST/api/stripe/portalBearer-sessietoken (kliƫntrol)

Skep 'n Stripe billing portal-sessie om betaalmetodes en fakture te bestuur.

GET/api/stripe/payoutBearer-sessietoken (operateurrol)

Gee uitbetalinginligting vir die geverifieerde operateur terug.

POST/api/stripe/payoutBearer-sessietoken (operateurrol)

Vra 'n uitbetaling van opgehoopte verdienste aan. Die minimum uitbetaling is 10,00 EUR.

POST/api/stripe/webhookStripe-webhookhandtekening

Ontvang Stripe-webhookgebeure. Word deur Stripe aangeroep, nie deur API-kliƫnte nie.

Openbare eindpunte

Hierdie eindpunte vereis geen verifikasie nie. Dit is veilig om vanaf monitering, bemarkingsbladsye, of 'n statusprobe aan te roep.

GET/api/health

Gesondheidstoets vir die API en sy databasiskoppeling. Gee 200 terug wanneer albei in orde is; as die databasistoets faal, word dieselfde vorm teruggegee met status en db op error en HTTP-status 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]

Gee openbare inligting oor 'n ondersteunde robotmodel terug.

GET/api/public/pricing

Gee die huidige openbare prysplanne terug.

POST/api/contact

Dien 'n kontakvormboodskap in. Die boodskap word eers gestoor en dan per e-pos afgelewer, sodat 'n tydelike posonderbreking dit nie verloor nie: in daardie geval rapporteer die respons stored true en delivered false, en aflewering word operasioneel herprobeer.

NameInTypeDescription
namebodystringVerpligtend. Jou naam.
emailbodystring'n Geldige e-posadres vir die antwoord. Verpligtend.
categorybodystringVerpligtend. Een van: General Inquiry, Bug Report, Feature Request, Sales & Pricing, Partnership, Career/Jobs, Technical Support, Billing & Payments, Press & Media, Other.
subjectbodystringVerpligtend. Kort onderwerpreƫl.
messagebodystringVerpligtend. Die boodskapinhoud.
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

Vra ondersteuning aan vir 'n robottipe wat nog nie op die platform is nie.

GET/api/stats

Gee openbare platformstatistieke terug.

Was this page helpful?