Rejeleo la API
REST API ya AY-Robots inaishi chini ya https://www.ay-robots.com/api na huongea JSON kwa pande zote mbili. Ukurasa huu unaandika uthibitishaji, kanuni za response, na kila endpoint, ukiwa na nyaraka kamili za parameter kwa njia unazoweza kuita kwa programu mara nyingi zaidi.
Ilisasishwa mwisho 2026-08-09
Uthibitishaji
Kila endpoint inahitaji uthibitishaji isipokuwa imeorodheshwa kwenye sehemu ya Public. API inakubali aina mbili za vithibitisho, na zote mbili hufika kwa njia ile ile: iwe kama session cookie ambayo dashibodi tayari hutuma, au kama Authorization header yenye Bearer token.
| Njia | Jinsi inavyofanya kazi | Itumie kwa |
|---|---|---|
| Session ya kivinjari | Supabase session token ya akaunti yako iliyoingia, inayotumwa kama cookie au kama Bearer token | Dashibodi yenyewe na majaribio ya haraka kutoka muktadha wa kivinjari ulioidhinishwa |
| API key | Key yenye kiambishi ayr_live_, iliyoundwa katika /dashboard/settings na kutumwa kama Bearer token | Script, server, CI, na chochote kisichopaswa kutegemea login ya kivinjari |
| MCP | Seva ya MCP inayohifadhiwa katika https://www.ay-robots.com/api/mcp (Streamable HTTP) | Mawakala na zana za LLM zinazoongea Model Context Protocol |
curl https://www.ay-robots.com/api/sessions \
-H 'Authorization: Bearer ayr_live_your_key_here'API keys huundwa na kubatilishwa katika /dashboard/settings. Zitendee kama nywila: ziweke upande wa server, na zibadilishe kwa kuunda key mbadala kabla ya kubatilisha ile ya zamani. Ukitumia desktop CLI, inaweza pia kuonyesha jukwaa kama seva ya ndani ya MCP kwa amri: ay-robots mcp.
Response ni JSON. Makosa hutumia muundo thabiti: kitu cha JSON chenye field moja ya error yenye ujumbe unaosomeka na binadamu, unaotolewa na status code sahihi ya 4xx au 5xx. Response za mafanikio hurudisha resource moja kwa moja; endpoint chache huweka orodha ndani ya field yenye jina, ambayo mifano hapa chini huonyesha panapohitajika.
Endpoint za Auth
Mambo ya msingi ya akaunti na wasifu. Hizi hutumiwa hasa na dashibodi yenyewe, lakini hufanya kazi na kithibitisho chochote halali.
/api/auth/profileBearer session token au API keyHurudisha wasifu wa mtumiaji aliyethibitishwa.
/api/auth/profileBearer session token au API keyHusasisha field za wasifu kama jina la kuonyesha na mapendeleo ya arifa.
/api/auth/syncBearer session tokenHulandanisha mtumiaji wa Supabase auth na rekodi ya mtumiaji wa jukwaa.
/api/auth/check-onboardingBearer session tokenHuripoti kama mtumiaji aliyethibitishwa amekamilisha onboarding.
/api/auth/avatarBearer session tokenHupakia picha mpya ya avatar kwa mtumiaji aliyethibitishwa.
Endpoint za Client
Kila kitu mmiliki wa roboti anachosimamia: roboti zilizosajiliwa, wasifu wa client, dataset, ankara, na takwimu za dashibodi.
/api/client/robotsBearer session token au API key (jukumu la client)Huorodhesha roboti zilizosajiliwa na client aliyethibitishwa, mpya kwanza, hadi maingizo 50. Muhuri wa muda ni ISO 8601; last_online na last_heartbeat ni null hadi roboti iunganishwe mara moja.
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 session token au API key (jukumu la client)Husajili roboti mpya na kurudisha id yake. Hardware id ya motor board inaweza kumilikiwa na roboti moja tu; mgongano hukataliwa na status 409.
/api/client/profileBearer session token au API key (jukumu la client)Hurudisha wasifu wa client wa mtumiaji aliyethibitishwa.
/api/client/profileBearer session token au API key (jukumu la client)Husasisha field za wasifu wa client.
/api/client/datasetsBearer session token au API key (jukumu la client)Huorodhesha dataset za wingu za client na hesabu za episode na ukubwa.
/api/client/invoicesBearer session token au API key (jukumu la client)Huorodhesha ankara za mwezi za client.
/api/client/statsBearer session token au API key (jukumu la client)Hurudisha takwimu za matumizi kwa dashibodi ya client.
Endpoint za Operator
Upande wa operator: wasifu na upatikanaji, vyeti, ratiba, na takwimu za mapato.
/api/operator/profileBearer session token au API key (jukumu la operator)Hurudisha wasifu wa operator wa mtumiaji aliyethibitishwa.
/api/operator/profileBearer session token au API key (jukumu la operator)Huunda au husasisha wasifu wa operator.
/api/operator/available-robotsBearer session token au API key (jukumu la operator)Huorodhesha roboti zinazopatikana sasa na zinazolingana na vyeti vya operator.
/api/operator/certificationsBearer session token au API key (jukumu la operator)Huorodhesha maombi ya cheti ya operator na hali yao.
/api/operator/certificationsBearer session token au API key (jukumu la operator)Huomba cheti kwa aina ya roboti.
/api/operator/scheduleBearer session token au API key (jukumu la operator)Hurudisha ratiba ya wiki ya upatikanaji wa operator.
/api/operator/scheduleBearer session token au API key (jukumu la operator)Husasisha ratiba ya wiki ya upatikanaji.
/api/operator/availabilityBearer session token au API key (jukumu la operator)Hurudisha upatikanaji wa sasa wa operator.
/api/operator/statsBearer session token au API key (jukumu la operator)Hurudisha takwimu za mapato na session kwa dashibodi ya operator.
Session
Session ndio resource ya msingi ya jukwaa: session moja ni ushiriki mmoja endelevu wa teleoperesheni kati ya operator na roboti. Hali ya session hupitia PENDING, ACTIVE, PAUSED, COMPLETED, na CANCELLED.
/api/sessionsBearer session token au API keyHuorodhesha session za mtumiaji aliyethibitishwa. Waendeshaji huona session walizoziendesha; wateja huona session kwenye roboti zao. Seti ya field hutofautiana kidogo kati ya mitazamo miwili: mtazamo wa client unajumuisha episodes_collected na data_collected_mb, mtazamo wa operator unajumuisha operator_earnings_cents.
| Name | In | Type | Description |
|---|---|---|---|
| status | query | string | Hiari. Chuja kwa hali ya session, kwa mfano ACTIVE au COMPLETED. Acha kuorodhesha zote. |
| limit | query | number | Hiari. Ukubwa wa ukurasa, chaguo-msingi 50, kiwango cha juu 100. |
| offset | query | number | Hiari. Offset ya pagination, chaguo-msingi 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 session token au API key (jukumu la operator)Huanzisha session ya teleoperesheni kwenye roboti inayopatikana. Inahitaji jukumu la operator: wateja hawawezi kuanzisha session. Operator anaweza kushikilia session moja tu ya ACTIVE au PAUSED kwa wakati mmoja, na roboti lazima iwe na status AVAILABLE sasa. Kwenye kuanza mara moja roboti hubadilika kuwa IN_SESSION na client hufahamishwa.
| Name | In | Type | Description |
|---|---|---|---|
| robotId | body | string | Lazima. Id ya roboti ya kuendesha. Roboti lazima iwe AVAILABLE. |
| operatorId | body | string | Hiari. Id ya operator wazi; chaguo-msingi ni operator aliyethibitishwa. |
| scheduledFor | body | string (ISO 8601) | Hiari. Hupanga session kwa wakati ujao badala ya kuianzisha mara moja. |
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 session token au API keyHurudisha session moja na maelezo yake.
/api/sessions/[id]Bearer session token au API keyHusasisha mzunguko wa maisha wa session: kusimamisha, kuendelea, kumaliza, na hatua zinazohusiana.
/api/sessions/[id]/extendBearer session token au API key (client, mmiliki wa session)Huomba nyongeza ya session. Client tu anayemiliki session anaweza kuita hii, na session lazima iwe ACTIVE. Ombi hurekodiwa kama tukio la session na operator hupokea arifa; nyongeza yenyewe hutokea wakati operator anachukua hatua juu yake.
| Name | In | Type | Description |
|---|---|---|---|
| id | path | string | Id ya session. |
| additionalMinutes | body | number | Urefu wa nyongeza uliohitajika kwa dakika. |
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 session token au API keyHuorodhesha ujumbe wa chat wa session.
/api/sessions/[id]/messagesBearer session token au API keyHutuma ujumbe wa chat kwenye session.
/api/sessions/[id]/rateBearer session token au API key (client)Hutathmini session iliyokamilika kwa kiwango cha nyota 1 hadi 5, ikiwa na maoni ya hiari.
/api/sessions/exportBearer session token au API keyHuhamisha data ya session.
Malipo
Uhamishaji wote wa fedha hupitia Stripe. Malipo ya client hutumia mteja wa Stripe mwenye njia ya malipo iliyohifadhiwa; malipo ya operator hutumia Stripe Connect. Jukwaa lenyewe kamwe halihifadhi data ya kadi au benki.
/api/stripe/customerBearer session token (jukumu la client)Huunda au kurudisha mteja wa Stripe unaotumika kwa malipo ya client.
/api/stripe/connectBearer session token (jukumu la operator)Hurudisha hali ya akaunti ya Stripe Connect ya operator.
/api/stripe/connectBearer session token (jukumu la operator)Huanzisha onboarding ya Stripe Connect kwa malipo ya operator.
/api/stripe/setup-intentBearer session token (jukumu la client)Huunda Stripe SetupIntent kwa kuhifadhi njia ya malipo.
/api/stripe/portalBearer session token (jukumu la client)Huunda session ya Stripe billing portal kwa kusimamia njia za malipo na ankara.
/api/stripe/payoutBearer session token (jukumu la operator)Hurudisha taarifa za malipo kwa operator aliyethibitishwa.
/api/stripe/payoutBearer session token (jukumu la operator)Huomba malipo ya mapato yaliyokusanywa. Malipo ya chini kabisa ni 10.00 EUR.
/api/stripe/webhookSahihi ya Stripe webhookHupokea matukio ya Stripe webhook. Huitwa na Stripe, si na API clients.
Endpoint za umma
Endpoint hizi hazihitaji uthibitishaji wowote. Ni salama kuziita kutoka ufuatiliaji, kurasa za masoko, au uchunguzi wa status.
/api/healthUkaguzi wa afya kwa API na muunganisho wake wa database. Hurudisha 200 vyote viwili vikiwa sawa; ukaguzi wa database ukishindwa, muundo ule ule hurudishwa na status na db zikiwekwa error na HTTP status 503.
curl https://www.ay-robots.com/api/health{
"status": "ok",
"db": "ok",
"timestamp": "2026-08-09T10:12:00.000Z"
}/api/robots/[id]Hurudisha taarifa za umma kuhusu mfano wa roboti unaosaidiwa.
/api/public/pricingHurudisha mipango ya bei ya umma ya sasa.
/api/contactHuwasilisha ujumbe wa fomu ya mawasiliano. Ujumbe huhifadhiwa kwanza kisha kutolewa kwa barua pepe, hivyo kukatika kwa muda kwa mfumo wa barua hakuupotezi: katika hali hiyo response huripoti stored true na delivered false, na utoaji hurudiwa kiutendaji.
| Name | In | Type | Description |
|---|---|---|---|
| name | body | string | Lazima. Jina lako. |
| body | string | Lazima. Anwani halali ya barua pepe kwa ajili ya jibu. | |
| category | body | string | Lazima. Moja kati ya: General Inquiry, Bug Report, Feature Request, Sales & Pricing, Partnership, Career/Jobs, Technical Support, Billing & Payments, Press & Media, Other. |
| subject | body | string | Lazima. Mstari mfupi wa mada. |
| message | body | string | Lazima. Mwili wa ujumbe. |
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-requestHuomba msaada kwa aina ya roboti ambayo bado haipo kwenye jukwaa.
/api/statsHurudisha takwimu za umma za jukwaa.
Jinsi AY-Robots inavyolinda akaunti na udhibiti wa roboti: uthibitishaji wa Supabase, muundo wa majukumu, API keys, kinga za session, na njia ya ukaguzi.
Jinsi session za AY-Robots zinavyofanya kazi: mzunguko wa maisha kutoka PENDING hadi COMPLETED, matukio ya shughuli, chat, tathmini, na nyongeza.