API referansı
AY-Robots REST API'si https://www.ay-robots.com/api altında yaşar ve her iki yönde de JSON konuşur. Bu sayfa kimlik doğrulamayı, yanıt kurallarını ve programatik olarak çağırma olasılığınızın en yüksek olduğu rotalar için tam parametre belgeleriyle birlikte her uç noktayı belgeler.
Son güncelleme 2026-08-09
Kimlik doğrulama
Genel bölümünde listelenmediği sürece her uç nokta kimlik doğrulama gerektirir. API iki tür kimlik bilgisi kabul eder ve ikisi de aynı şekilde gelir: ya panonun zaten gönderdiği oturum çerezi olarak ya da Bearer token'lı bir Authorization başlığı olarak.
| Yöntem | Nasıl çalışır | Ne için kullanılır |
|---|---|---|
| Tarayıcı oturumu | Oturum açmış hesabınızın Supabase oturum tokenı, çerez veya Bearer token olarak gönderilir | Panonun kendisi ve kimliği doğrulanmış bir tarayıcı bağlamından hızlı denemeler |
| API anahtarı | /dashboard/settings altında oluşturulan ve Bearer token olarak gönderilen ayr_live_ önekli bir anahtar | Betikler, sunucular, CI ve tarayıcı girişine bağlı olmaması gereken her şey |
| MCP | https://www.ay-robots.com/api/mcp adresindeki barındırılan MCP sunucusu (Streamable HTTP) | Model Context Protocol konuşan LLM ajanları ve araçları |
curl https://www.ay-robots.com/api/sessions \
-H 'Authorization: Bearer ayr_live_your_key_here'API anahtarları /dashboard/settings altında oluşturulur ve iptal edilir. Onları parola gibi ele alın: sunucu tarafında saklayın ve önce yerine geçecek anahtarı oluşturup ardından eskisini iptal ederek rotasyon yapın. Masaüstü CLI'yi kullanıyorsanız, platformu şu komutla yerel bir MCP sunucusu olarak da sunabilir: ay-robots mcp.
Yanıtlar JSON biçimindedir. Hatalar tutarlı bir şekle sahiptir: insan tarafından okunabilir bir mesaj içeren tek bir error alanına sahip bir JSON nesnesi, uygun bir 4xx veya 5xx durum koduyla teslim edilir. Başarı yanıtları kaynağı doğrudan döndürür; birkaç uç nokta listeleri adlandırılmış bir alana sarar, aşağıdaki örnekler bunun önemli olduğu yerlerde gösterir.
Kimlik doğrulama uç noktaları
Hesap ve profil altyapısı. Bunlar öncelikle panonun kendisi tarafından kullanılır, ama herhangi bir geçerli kimlik bilgisiyle çalışırlar.
/api/auth/profileBearer oturum tokenı veya API anahtarıKimliği doğrulanmış kullanıcının profilini döndürür.
/api/auth/profileBearer oturum tokenı veya API anahtarıGörünen ad ve bildirim tercihleri gibi profil alanlarını günceller.
/api/auth/syncBearer oturum tokenıSupabase kimlik doğrulama kullanıcısını platform kullanıcı kaydıyla senkronize eder.
/api/auth/check-onboardingBearer oturum tokenıKimliği doğrulanmış kullanıcının katılımı tamamlayıp tamamlamadığını bildirir.
/api/auth/avatarBearer oturum tokenıKimliği doğrulanmış kullanıcı için yeni bir avatar görseli yükler.
İstemci uç noktaları
Bir robot sahibinin yönettiği her şey: kayıtlı robotlar, istemci profili, veri kümeleri, faturalar ve pano istatistikleri.
/api/client/robotsBearer oturum tokenı veya API anahtarı (istemci rolü)Kimliği doğrulanmış istemci tarafından kayıtlı robotları, en yeniden en eskiye, 50 girdiye kadar listeler. Zaman damgaları ISO 8601 biçimindedir; robot bir kez bağlanana kadar last_online ve last_heartbeat null'dur.
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 oturum tokenı veya API anahtarı (istemci rolü)Yeni bir robot kaydeder ve id'sini döndürür. Bir motor kartı donanım kimliği yalnızca bir robota ait olabilir; bir çakışma 409 durumuyla reddedilir.
/api/client/profileBearer oturum tokenı veya API anahtarı (istemci rolü)Kimliği doğrulanmış kullanıcının istemci profilini döndürür.
/api/client/profileBearer oturum tokenı veya API anahtarı (istemci rolü)İstemci profili alanlarını günceller.
/api/client/datasetsBearer oturum tokenı veya API anahtarı (istemci rolü)İstemcinin bulut veri kümelerini bölüm sayıları ve boyutlarıyla listeler.
/api/client/invoicesBearer oturum tokenı veya API anahtarı (istemci rolü)İstemcinin aylık faturalarını listeler.
/api/client/statsBearer oturum tokenı veya API anahtarı (istemci rolü)İstemci panosu için kullanım istatistiklerini döndürür.
Operatör uç noktaları
Operatör tarafı: profil ve müsaitlik, sertifikasyonlar, planlama ve kazanç istatistikleri.
/api/operator/profileBearer oturum tokenı veya API anahtarı (operatör rolü)Kimliği doğrulanmış kullanıcının operatör profilini döndürür.
/api/operator/profileBearer oturum tokenı veya API anahtarı (operatör rolü)Operatör profilini oluşturur veya günceller.
/api/operator/available-robotsBearer oturum tokenı veya API anahtarı (operatör rolü)Şu anda uygun olan ve operatörün sertifikasyonlarıyla eşleşen robotları listeler.
/api/operator/certificationsBearer oturum tokenı veya API anahtarı (operatör rolü)Operatörün sertifikasyon isteklerini ve durumlarını listeler.
/api/operator/certificationsBearer oturum tokenı veya API anahtarı (operatör rolü)Bir robot tipi için sertifikasyon talep eder.
/api/operator/scheduleBearer oturum tokenı veya API anahtarı (operatör rolü)Operatörün haftalık müsaitlik programını döndürür.
/api/operator/scheduleBearer oturum tokenı veya API anahtarı (operatör rolü)Haftalık müsaitlik programını günceller.
/api/operator/availabilityBearer oturum tokenı veya API anahtarı (operatör rolü)Operatörün geçerli müsaitliğini döndürür.
/api/operator/statsBearer oturum tokenı veya API anahtarı (operatör rolü)Operatör panosu için kazanç ve oturum istatistiklerini döndürür.
Oturumlar
Oturumlar platformun temel kaynağıdır: bir oturum, bir operatör ile bir robot arasındaki sürekli bir teleoperasyon etkileşimidir. Oturum durumu PENDING, ACTIVE, PAUSED, COMPLETED ve CANCELLED arasında ilerler.
/api/sessionsBearer oturum tokenı veya API anahtarıKimliği doğrulanmış kullanıcının oturumlarını listeler. Operatörler çalıştırdıkları oturumları görür; istemciler kendi robotlarındaki oturumları görür. Alan kümesi iki görünüm arasında biraz farklıdır: istemci görünümü episodes_collected ve data_collected_mb içerir, operatör görünümü operator_earnings_cents içerir.
| Name | In | Type | Description |
|---|---|---|---|
| status | query | string | İsteğe bağlı. Oturum durumuna göre filtreler, örneğin ACTIVE veya COMPLETED. Tümünü listelemek için atlayın. |
| limit | query | number | İsteğe bağlı. Sayfa boyutu, varsayılan 50, azami 100. |
| offset | query | number | İsteğe bağlı. Sayfalama ofseti, varsayılan 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 oturum tokenı veya API anahtarı (operatör rolü)Uygun bir robotta bir teleoperasyon oturumu başlatır. Operatör rolü gerektirir: istemciler oturum başlatamaz. Bir operatör aynı anda en fazla bir ACTIVE veya PAUSED oturuma sahip olabilir ve robotun o sırada AVAILABLE durumunda olması gerekir. Anında başlatmada robot IN_SESSION durumuna geçer ve istemciye bildirim gider.
| Name | In | Type | Description |
|---|---|---|---|
| robotId | body | string | Zorunlu. Çalıştırılacak robotun id'si. Robotun AVAILABLE olması gerekir. |
| operatorId | body | string | İsteğe bağlı. Açık operatör id'si; varsayılan olarak kimliği doğrulanmış operatördür. |
| scheduledFor | body | string (ISO 8601) | İsteğe bağlı. Oturumu hemen başlatmak yerine gelecekteki bir zamana planlar. |
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 oturum tokenı veya API anahtarıTek bir oturumu ayrıntılarıyla döndürür.
/api/sessions/[id]Bearer oturum tokenı veya API anahtarıOturum yaşam döngüsünü günceller: duraklatma, devam ettirme, sonlandırma ve ilgili eylemler.
/api/sessions/[id]/extendBearer oturum tokenı veya API anahtarı (istemci, oturum sahibi)Bir oturum uzatması talep eder. Bunu yalnızca oturumun sahibi olan istemci çağırabilir ve oturumun ACTIVE olması gerekir. İstek bir oturum olayı olarak günlüğe kaydedilir ve operatör bir bildirim alır; uzatmanın kendisi operatör buna karşılık verdiğinde gerçekleşir.
| Name | In | Type | Description |
|---|---|---|---|
| id | path | string | Oturum id'si. |
| additionalMinutes | body | number | Talep edilen uzatma süresi, dakika cinsinden. |
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 oturum tokenı veya API anahtarıBir oturumun sohbet mesajlarını listeler.
/api/sessions/[id]/messagesBearer oturum tokenı veya API anahtarıBir oturumda sohbet mesajı gönderir.
/api/sessions/[id]/rateBearer oturum tokenı veya API anahtarı (istemci)Tamamlanmış bir oturumu isteğe bağlı bir yorumla 1 ile 5 yıldız arasında değerlendirir.
/api/sessions/exportBearer oturum tokenı veya API anahtarıOturum verisini dışa aktarır.
Ödemeler
Tüm para hareketleri Stripe üzerinden yürür. İstemci faturalandırması, kayıtlı bir ödeme yöntemine sahip bir Stripe müşterisi kullanır; operatör ödemeleri Stripe Connect kullanır. Platformun kendisi hiçbir zaman kart veya banka verisi saklamaz.
/api/stripe/customerBearer oturum tokenı (istemci rolü)İstemci faturalandırması için kullanılan Stripe müşterisini oluşturur veya döndürür.
/api/stripe/connectBearer oturum tokenı (operatör rolü)Operatörün Stripe Connect hesabının durumunu döndürür.
/api/stripe/connectBearer oturum tokenı (operatör rolü)Operatör ödemeleri için Stripe Connect katılımını başlatır.
/api/stripe/setup-intentBearer oturum tokenı (istemci rolü)Bir ödeme yöntemini kaydetmek için bir Stripe SetupIntent oluşturur.
/api/stripe/portalBearer oturum tokenı (istemci rolü)Ödeme yöntemlerini ve faturaları yönetmek için bir Stripe faturalandırma portalı oturumu oluşturur.
/api/stripe/payoutBearer oturum tokenı (operatör rolü)Kimliği doğrulanmış operatör için ödeme bilgisini döndürür.
/api/stripe/payoutBearer oturum tokenı (operatör rolü)Birikmiş kazancın ödemesini talep eder. Asgari ödeme 10,00 EUR'dur.
/api/stripe/webhookStripe webhook imzasıStripe webhook olaylarını alır. API istemcileri tarafından değil, Stripe tarafından çağrılır.
Genel uç noktalar
Bu uç noktalar kimlik doğrulama gerektirmez. İzleme, pazarlama sayfaları veya bir durum probu tarafından çağrılmaları güvenlidir.
/api/healthAPI ve veritabanı bağlantısı için sağlık kontrolü. İkisi de sorunsuzsa 200 döndürür; veritabanı kontrolü başarısız olursa, status ve db değerleri error olarak ayarlanmış aynı şekil 503 HTTP durumuyla döndürülür.
curl https://www.ay-robots.com/api/health{
"status": "ok",
"db": "ok",
"timestamp": "2026-08-09T10:12:00.000Z"
}/api/robots/[id]Desteklenen bir robot modeli hakkında genel bilgi döndürür.
/api/public/pricingGeçerli genel fiyatlandırma planlarını döndürür.
/api/contactBir iletişim formu mesajı gönderir. Mesaj önce saklanır, sonra e-postayla teslim edilir, bu yüzden geçici bir posta kesintisi onu kaybetmez: bu durumda yanıt stored true ve delivered false bildirir, teslimat operasyonel olarak tekrar denenir.
| Name | In | Type | Description |
|---|---|---|---|
| name | body | string | Zorunlu. Adınız. |
| body | string | Zorunlu. Yanıt için geçerli bir e-posta adresi. | |
| category | body | string | Zorunlu. Şunlardan biri: General Inquiry, Bug Report, Feature Request, Sales & Pricing, Partnership, Career/Jobs, Technical Support, Billing & Payments, Press & Media, Other. |
| subject | body | string | Zorunlu. Kısa konu başlığı. |
| message | body | string | Zorunlu. Mesaj metni. |
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-requestPlatformda henüz bulunmayan bir robot tipi için destek talep eder.
/api/statsGenel platform istatistiklerini döndürür.
AY-Robots hesapları ve canlı robot kontrolünü nasıl güvence altına alır: Supabase kimlik doğrulama, rol modeli, API anahtarları, oturum önlemleri, denetim izi.
AY-Robots oturumları nasıl çalışır: PENDING'den COMPLETED'e yaşam döngüsü, etkinlik olayları, sohbet, değerlendirmeler, uzatmalar ve eğitim verisi.