API संदर्भ
AY-Robots REST API https://www.ay-robots.com/api अंतर्गत आहे आणि दोन्ही दिशांनी JSON बोलतो. हे पान प्रमाणीकरण, रिस्पॉन्स कन्व्हेन्शन्स, आणि प्रत्येक एंडपॉइंट दस्तऐवजीकृत करते, तुम्ही प्रोग्रामॅटिकली सर्वाधिक कॉल कराल अशा रूट्ससाठी पूर्ण पॅरामीटर दस्तऐवजीकरणासह.
शेवटचे अद्ययावत 2026-08-09
प्रमाणीकरण
Public विभागात सूचीबद्ध नसलेल्या प्रत्येक एंडपॉइंटला प्रमाणीकरण लागते. API दोन प्रकारची क्रेडेन्शियल्स स्वीकारतो, आणि दोन्ही एकाच पद्धतीने येतात: एकतर डॅशबोर्ड आधीच पाठवत असलेली सेशन कुकी म्हणून, किंवा Bearer टोकनसह Authorization हेडर म्हणून.
| पद्धत | कसे काम करते | यासाठी वापरा |
|---|---|---|
| ब्राउझर सेशन | तुमच्या लॉग-इन झालेल्या खात्याचा Supabase सेशन टोकन, कुकी म्हणून किंवा Bearer टोकन म्हणून पाठवलेला | डॅशबोर्ड स्वतः आणि प्रमाणीकृत ब्राउझर संदर्भातील झटपट प्रयोग |
| API की | ayr_live_ प्रीफिक्स असलेली की, /dashboard/settings मध्ये तयार केलेली आणि Bearer टोकन म्हणून पाठवलेली | स्क्रिप्ट्स, सर्व्हर्स, CI, आणि ब्राउझर लॉगिनवर अवलंबून न राहणारे काहीही |
| MCP | https://www.ay-robots.com/api/mcp येथील होस्टेड MCP सर्व्हर (Streamable HTTP) | Model Context Protocol बोलणारे LLM एजंट्स व टूल्स |
curl https://www.ay-robots.com/api/sessions \
-H 'Authorization: Bearer ayr_live_your_key_here'API कीज /dashboard/settings मध्ये तयार व रद्द केल्या जातात. त्यांना पासवर्डसारखे वागवा: त्या सर्व्हर-साइड ठेवा, आणि जुनी की रद्द करण्याआधी बदली की तयार करून रोटेट करा. तुम्ही डेस्कटॉप CLI वापरत असाल, तर तो ay-robots mcp या कमांडने प्लॅटफॉर्मला स्थानिक MCP सर्व्हर म्हणूनही दाखवू शकतो.
रिस्पॉन्सेस JSON असतात. एरर्स एका सुसंगत रचनेत असतात: मानवाला वाचता येण्याजोगा मेसेज असलेल्या एका error फील्डसह एक JSON ऑब्जेक्ट, योग्य 4xx किंवा 5xx स्टेटस कोडसह दिलेला. यशस्वी रिस्पॉन्सेस रिसोर्स थेट परत करतात; काही एंडपॉइंट्स याद्यांना नावाच्या फील्डमध्ये गुंडाळतात, जे खालील उदाहरणे जिथे महत्त्वाचे असेल तिथे दाखवतात.
Auth एंडपॉइंट्स
खाते व प्रोफाइल संबंधित यंत्रणा. हे प्रामुख्याने डॅशबोर्ड स्वतः वापरतो, पण ते कोणत्याही वैध क्रेडेन्शियलसह काम करतात.
/api/auth/profileBearer सेशन टोकन किंवा API कीप्रमाणीकृत वापरकर्त्याचे प्रोफाइल परत करते.
/api/auth/profileBearer सेशन टोकन किंवा API कीडिस्प्ले नाव व नोटिफिकेशन प्राधान्ये यांसारखी प्रोफाइल फील्ड्स अपडेट करते.
/api/auth/syncBearer सेशन टोकनSupabase auth वापरकर्त्याला प्लॅटफॉर्म वापरकर्ता रेकॉर्डशी सिंक्रोनाइझ करते.
/api/auth/check-onboardingBearer सेशन टोकनप्रमाणीकृत वापरकर्त्याने ऑनबोर्डिंग पूर्ण केले आहे का ते सांगते.
/api/auth/avatarBearer सेशन टोकनप्रमाणीकृत वापरकर्त्यासाठी नवीन अवतार इमेज अपलोड करते.
Client एंडपॉइंट्स
रोबोट मालक जे काही व्यवस्थापित करतो ते सर्व: नोंदणीकृत रोबोट्स, क्लायंट प्रोफाइल, डेटासेट्स, इनव्हॉइस, आणि डॅशबोर्ड आकडेवारी.
/api/client/robotsBearer सेशन टोकन किंवा API की (client भूमिका)प्रमाणीकृत क्लायंटने नोंदवलेले रोबोट्स, नवीनतम आधी, 50 नोंदींपर्यंत सूचीबद्ध करते. टाइमस्टॅम्प्स ISO 8601 आहेत; रोबोट एकदा कनेक्ट होईपर्यंत last_online व last_heartbeat null असतात.
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 सेशन टोकन किंवा API की (client भूमिका)एक नवीन रोबोट नोंदवते आणि त्याचा id परत करते. एक मोटर बोर्ड हार्डवेअर id फक्त एकाच रोबोटचा असू शकतो; कोलिजन 409 स्टेटससह नाकारली जाते.
/api/client/profileBearer सेशन टोकन किंवा API की (client भूमिका)प्रमाणीकृत वापरकर्त्याचे क्लायंट प्रोफाइल परत करते.
/api/client/profileBearer सेशन टोकन किंवा API की (client भूमिका)क्लायंट प्रोफाइल फील्ड्स अपडेट करते.
/api/client/datasetsBearer सेशन टोकन किंवा API की (client भूमिका)क्लायंटचे क्लाउड डेटासेट्स एपिसोड संख्या व आकारांसह सूचीबद्ध करते.
/api/client/invoicesBearer सेशन टोकन किंवा API की (client भूमिका)क्लायंटचे मासिक इनव्हॉइस सूचीबद्ध करते.
/api/client/statsBearer सेशन टोकन किंवा API की (client भूमिका)क्लायंट डॅशबोर्डसाठी वापर आकडेवारी परत करते.
Operator एंडपॉइंट्स
ऑपरेटर बाजू: प्रोफाइल व उपलब्धता, सर्टिफिकेशन्स, वेळापत्रक, आणि कमाई आकडेवारी.
/api/operator/profileBearer सेशन टोकन किंवा API की (operator भूमिका)प्रमाणीकृत वापरकर्त्याचे ऑपरेटर प्रोफाइल परत करते.
/api/operator/profileBearer सेशन टोकन किंवा API की (operator भूमिका)ऑपरेटर प्रोफाइल तयार करते किंवा अपडेट करते.
/api/operator/available-robotsBearer सेशन टोकन किंवा API की (operator भूमिका)सध्या उपलब्ध असलेले आणि ऑपरेटरच्या सर्टिफिकेशनशी जुळणारे रोबोट्स सूचीबद्ध करते.
/api/operator/certificationsBearer सेशन टोकन किंवा API की (operator भूमिका)ऑपरेटरच्या सर्टिफिकेशन विनंत्या व त्यांची स्थिती सूचीबद्ध करते.
/api/operator/certificationsBearer सेशन टोकन किंवा API की (operator भूमिका)एका रोबोट प्रकारासाठी सर्टिफिकेशनची विनंती करते.
/api/operator/scheduleBearer सेशन टोकन किंवा API की (operator भूमिका)ऑपरेटरचे साप्ताहिक उपलब्धता वेळापत्रक परत करते.
/api/operator/scheduleBearer सेशन टोकन किंवा API की (operator भूमिका)साप्ताहिक उपलब्धता वेळापत्रक अपडेट करते.
/api/operator/availabilityBearer सेशन टोकन किंवा API की (operator भूमिका)ऑपरेटरची सध्याची उपलब्धता परत करते.
/api/operator/statsBearer सेशन टोकन किंवा API की (operator भूमिका)ऑपरेटर डॅशबोर्डसाठी कमाई व सेशन आकडेवारी परत करते.
Sessions
सेशन्स हे प्लॅटफॉर्मचे मुख्य रिसोर्स आहेत: एक सेशन म्हणजे ऑपरेटर व रोबोटमधील एक सलग टेलिऑपरेशन गुंतवणूक. सेशन स्टेटस PENDING, ACTIVE, PAUSED, COMPLETED, आणि CANCELLED मधून जाते.
/api/sessionsBearer सेशन टोकन किंवा API कीप्रमाणीकृत वापरकर्त्यासाठी सेशन्स सूचीबद्ध करते. ऑपरेटरना त्यांनी चालवलेली सेशन्स दिसतात; क्लायंटना त्यांच्या रोबोटवरील सेशन्स दिसतात. दोन व्ह्यूजमध्ये फील्ड सेट थोडा वेगळा आहे: क्लायंट व्ह्यूमध्ये episodes_collected व data_collected_mb समाविष्ट आहे, ऑपरेटर व्ह्यूमध्ये operator_earnings_cents समाविष्ट आहे.
| Name | In | Type | Description |
|---|---|---|---|
| status | query | string | ऐच्छिक. सेशन स्टेटसनुसार फिल्टर करा, उदाहरणार्थ ACTIVE किंवा COMPLETED. सर्व सूचीबद्ध करण्यासाठी वगळा. |
| limit | query | number | ऐच्छिक. पेज आकार, डीफॉल्ट 50, कमाल 100. |
| offset | query | number | ऐच्छिक. पेजिनेशन ऑफसेट, डीफॉल्ट 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 सेशन टोकन किंवा API की (operator भूमिका)एका उपलब्ध रोबोटवर टेलिऑपरेशन सेशन सुरू करते. यासाठी operator भूमिका आवश्यक आहे: क्लायंट सेशन सुरू करू शकत नाहीत. एक ऑपरेटर एकावेळी जास्तीत जास्त एकच ACTIVE किंवा PAUSED सेशन धरू शकतो, आणि रोबोटची स्थिती सध्या AVAILABLE असावी लागते. तात्काळ सुरुवात झाल्यास रोबोट IN_SESSION मध्ये बदलतो आणि क्लायंटला सूचित केले जाते.
| Name | In | Type | Description |
|---|---|---|---|
| robotId | body | string | आवश्यक. चालवायच्या रोबोटचा id. रोबोट AVAILABLE असावा. |
| operatorId | body | string | ऐच्छिक. स्पष्ट ऑपरेटर id; डीफॉल्ट प्रमाणीकृत ऑपरेटर. |
| scheduledFor | body | string (ISO 8601) | ऐच्छिक. सेशन तात्काळ सुरू करण्याऐवजी भविष्यातील वेळेसाठी शेड्यूल करते. |
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 सेशन टोकन किंवा API कीत्याच्या तपशिलांसह एक एकच सेशन परत करते.
/api/sessions/[id]Bearer सेशन टोकन किंवा API कीसेशन लाइफसायकल अपडेट करते: pause, resume, end, आणि संबंधित क्रिया.
/api/sessions/[id]/extendBearer सेशन टोकन किंवा API की (client, सेशन मालक)सेशन एक्स्टेंशनची विनंती करते. फक्त सेशनचा मालक क्लायंटच हे कॉल करू शकतो, आणि सेशन ACTIVE असावे लागते. विनंती एक सेशन इव्हेंट म्हणून नोंदवली जाते आणि ऑपरेटरला नोटिफिकेशन मिळते; प्रत्यक्ष एक्स्टेंशन ऑपरेटर त्यावर कृती करतो तेव्हा होते.
| Name | In | Type | Description |
|---|---|---|---|
| id | path | string | सेशन id. |
| additionalMinutes | body | number | विनंती केलेली एक्स्टेंशन लांबी, मिनिटांत. |
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 सेशन टोकन किंवा API कीएका सेशनचे चॅट मेसेजेस सूचीबद्ध करते.
/api/sessions/[id]/messagesBearer सेशन टोकन किंवा API कीएका सेशनमध्ये चॅट मेसेज पाठवते.
/api/sessions/[id]/rateBearer सेशन टोकन किंवा API की (client)एका पूर्ण झालेल्या सेशनला 1 ते 5 स्टार स्केलवर रेट करते, ऐच्छिक कमेंटसह.
/api/sessions/exportBearer सेशन टोकन किंवा API कीसेशन डेटा एक्सपोर्ट करते.
Payments
सर्व पैशांची हालचाल Stripe मार्फत होते. क्लायंट बिलिंग सेव्ह केलेल्या पेमेंट पद्धतीसह एक Stripe कस्टमर वापरते; ऑपरेटर पेआउट्स Stripe Connect वापरतात. प्लॅटफॉर्म स्वतः कधीही कार्ड किंवा बँक डेटा साठवत नाही.
/api/stripe/customerBearer सेशन टोकन (client भूमिका)क्लायंट बिलिंगसाठी वापरला जाणारा Stripe कस्टमर तयार करते किंवा परत करते.
/api/stripe/connectBearer सेशन टोकन (operator भूमिका)ऑपरेटरच्या Stripe Connect खात्याची स्थिती परत करते.
/api/stripe/connectBearer सेशन टोकन (operator भूमिका)ऑपरेटर पेआउट्ससाठी Stripe Connect ऑनबोर्डिंग सुरू करते.
/api/stripe/setup-intentBearer सेशन टोकन (client भूमिका)पेमेंट पद्धत सेव्ह करण्यासाठी Stripe SetupIntent तयार करते.
/api/stripe/portalBearer सेशन टोकन (client भूमिका)पेमेंट पद्धती व इनव्हॉइस व्यवस्थापनासाठी Stripe बिलिंग पोर्टल सेशन तयार करते.
/api/stripe/payoutBearer सेशन टोकन (operator भूमिका)प्रमाणीकृत ऑपरेटरसाठी पेआउट माहिती परत करते.
/api/stripe/payoutBearer सेशन टोकन (operator भूमिका)जमा झालेल्या कमाईच्या पेआउटची विनंती करते. किमान पेआउट 10.00 EUR आहे.
/api/stripe/webhookStripe वेबहूक सिग्नेचरStripe वेबहूक इव्हेंट्स प्राप्त करते. Stripe द्वारे कॉल केले जाते, API क्लायंट्सद्वारे नाही.
Public एंडपॉइंट्स
या एंडपॉइंट्सना कोणतेही प्रमाणीकरण लागत नाही. मॉनिटरिंग, मार्केटिंग पाने, किंवा स्टेटस प्रोबमधून कॉल करणे सुरक्षित आहे.
/api/healthAPI व त्याच्या डेटाबेस कनेक्शनसाठी हेल्थ चेक. दोन्ही ठीक असल्यास 200 परत करते; डेटाबेस चेक अयशस्वी झाल्यास, तीच रचना status व db एरर सेट करून HTTP स्टेटस 503 सह परत केली जाते.
curl https://www.ay-robots.com/api/health{
"status": "ok",
"db": "ok",
"timestamp": "2026-08-09T10:12:00.000Z"
}/api/robots/[id]एका सपोर्टेड रोबोट मॉडेलबद्दल पब्लिक माहिती परत करते.
/api/public/pricingसध्याचे पब्लिक प्राइसिंग प्लॅन्स परत करते.
/api/contactएक कॉन्टॅक्ट फॉर्म मेसेज सबमिट करते. मेसेज आधी साठवला जातो आणि नंतर ईमेलने डिलिव्हर केला जातो, त्यामुळे तात्पुरता मेल आउटेज तो गमावत नाही: त्या स्थितीत रिस्पॉन्स stored true व delivered false नोंदवतो, आणि डिलिव्हरी ऑपरेशनली पुन्हा प्रयत्न केली जाते.
| Name | In | Type | Description |
|---|---|---|---|
| name | body | string | आवश्यक. तुमचे नाव. |
| body | string | आवश्यक. उत्तरासाठी वैध ईमेल पत्ता. | |
| category | body | string | आवश्यक. यापैकी एक: General Inquiry, Bug Report, Feature Request, Sales & Pricing, Partnership, Career/Jobs, Technical Support, Billing & Payments, Press & Media, Other. |
| subject | body | string | आवश्यक. छोटी विषय ओळ. |
| message | body | string | आवश्यक. मेसेजचा मुख्य भाग. |
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-requestप्लॅटफॉर्मवर अजून नसलेल्या रोबोट प्रकारासाठी सपोर्टची विनंती करते.
/api/statsपब्लिक प्लॅटफॉर्म आकडेवारी परत करते.
AY-Robots खाती व लाइव्ह रोबोट नियंत्रण कसे सुरक्षित करते: Supabase प्रमाणीकरण, भूमिका मॉडेल, API कीज, सेशन सुरक्षा उपाय, ऑडिट ट्रेल, आणि एन्क्रिप्शन.
AY-Robots सेशन्स कशी काम करतात: PENDING पासून COMPLETED पर्यंतची लाइफसायकल, प्रत्येक अॅक्टिव्हिटी इव्हेंटचे स्पष्टीकरण, सेशन चॅट, रेटिंग्ज, एक्स्टेंशन्स, आणि ट्रेनिंग डेटा.