Magisterium AI

API Referansı

Tüm yöntemler, JSON-RPC 2.0 kullanılarak https://www.magisterium.com/api/v1/a2a adresine POST ile çağrılır. Her istek Authorization: Bearer $MAGISTERIUM_TOKEN (OAuth tarafından verilmiş bir kullanıcı token'ı — bkz. Kimlik Doğrulama) ve Content-Type: application/json içermelidir.

Yöntemler

message/send

Bir yeteneğe mesaj gönderin ve tamamlanmış bir görev alın. Tüm Magisterium yetenekleri senkrondur — yanıt, terminal görev durumunu (completed veya failed) içerir; hiçbir zaman ara bir working durumu içermez.

Params:

AlanTürZorunluAçıklama
messageMessageEvetPart'lar ve isteğe bağlı meta veriye sahip kullanıcı mesajı.
message.rolestringEvet"user" olmalıdır.
message.messageIdstringEvetBu mesaj için benzersiz ID.
message.kindstringEvet"message" olmalıdır.
message.partsPart[]EvetEn az bir part (text veya data).
message.metadata.skillIdstringHayırÇağrılacak yetenek. Varsayılan: catholic_qa.
message.contextIdstringHayırİlgili görevleri gruplamak için isteğe bağlı context ID. Atlanırsa sunucu bir tane üretir.
configurationobjectHayırGelecekteki kullanım için ayrılmıştır.

Dönüş: kind: "task" olan bir Task nesnesi.

tasks/get

Daha önce oluşturulmuş bir görevi ID'sine göre al.

Params:

AlanTürZorunluAçıklama
idstringEvetmessage/send'den dönen görev ID'si.

Dönüş: Task nesnesi veya görev süresi dolmuş ya da eksik ise TASK_NOT_FOUND hatası. Görevler 24 saat boyunca saklanır.

tasks/cancel

Görev iptal edilebilir bir durumdaysa, görevi iptal et. Tüm yetenekler senkron olarak çözüldüğünden, yanıt döndüğünde çoğu görev zaten terminal bir durumdadır (completed / failed) — terminal bir görevi iptal etmeye çalışmak, Invalid state transition mesajı ile birlikte INVALID_PARAMS döndürür.

Params:

AlanTürZorunluAçıklama
idstringEvetİptal edilecek görev ID'si.

Dönüş: status.state: "canceled" olan güncellenmiş Task nesnesi.

Görev Yaşam Döngüsü

Magisterium'un yetenekleri senkron olarak çalışır, bu nedenle bir görev yalnızca yetenek tamamlandıktan sonra depoya kalıcı olarak kaydedilir — her zaman terminal bir durumda. submitted ve working durumları, daha geniş A2A spesifikasyonunun bir parçasıdır ancak Magisterium'un uygulaması tarafından hiçbir zaman üretilmez; yalnızca aşağıdaki üç terminal durumdan birini gözlemlersiniz.

DurumAnlam
completedTerminal — sonuçlar artifacts içindedir. Yetenek başarıyla tamamlandığında message/send tarafından döndürülür.
failedTerminal — status.message başarısızlık nedenini içerir. Yetenek bir hata fırlattığında message/send tarafından döndürülür.
canceledTerminal — yalnızca terminal olmayan bir göreve tasks/cancel çağrılarak ulaşılabilir. Görevler message/send döndüğünde zaten terminal durumda olduğundan, pratikte elinizde tuttuğunuz herhangi bir görev için iptal INVALID_PARAMS ile reddedilir.

Her görev ayrıca şunları taşır:

  • contextId — ilgili görevleri bağlamak için sonraki mesajlarda yeniden kullanabileceğiniz bir gruplama tanımlayıcısı.
  • history — görevin artifact'larını üreten kullanıcı ve ajan mesajlarının sıralı listesi.

Hata Kodları

KodAdAçıklama
-32700Parse errorGeçersiz JSON gövdesi.
-32600Invalid requestEksik jsonrpc, method veya id alanları.
-32601Method not foundBilinmeyen JSON-RPC yöntemi.
-32602Invalid paramsEksik veya geçersiz parametreler (geçersiz tasks/cancel durum geçişleri için de döner).
-32603Internal errorBeklenmeyen sunucu tarafı hatası.
-32001Task not foundGörev ID'si mevcut değil veya süresi dolmuş.
-32002Skill not foundMesaj meta verisinde bilinmeyen skillId.
-32003Rate limit exceededÇok fazla istek. Hata data içindeki retryAfter'ı (saniye) kontrol edin.
-32004UnauthorizedEksik veya geçersiz Bearer token.
-32005Paid plan requiredA2A, Pro, Organizasyon veya Kurumsal plan gerektirir.

HTTP durumu hata sınıfını yansıtır: UNAUTHORIZED için 401, PLAN_REQUIRED için 403, RATE_LIMITED için 429 ve diğer tüm JSON-RPC hataları için 200 (JSON-RPC sözleşmesine göre error gövdesiyle birlikte 200 döndürmek).

Hız Limitleri

A2A, MCP ile aynı hız limiti havuzunu paylaşır — plan başına istek üst sınırları için MCP Fiyatlandırma bölümüne bakın.

İki varyant uygulanır:

  • Varsayılandocument_search, document_fetch, liturgical_readings ve saints_of_the_day için geçerlidir.
  • Pahalı — yalnızca catholic_qa için geçerlidir; çünkü LLM destekli bir yanıt pipeline'ı çalıştırır. Bu varyant daha sıkı, daha düşük bir üst sınır kullanır.

Bir limite ulaştığınızda, hata data nesnesi saniye cinsinden bir retryAfter içerir. Arayanların yeniden denemeden önce o aralık boyunca geri çekilmesi gerekir.

CORS

Uç nokta OPTIONS preflight isteklerine yanıt verir ve müsamahakâr CORS başlıkları (Access-Control-Allow-Origin: *, Allow-Methods: POST, OPTIONS, Allow-Headers: Content-Type, Authorization) döndürür; böylece A2A, proksi olmadan tarayıcı tabanlı orkestratörlerden çağrılabilir.