Magisterium AI

API Reference

Všechny metody se volají přes POST na https://www.magisterium.com/api/v1/a2a pomocí JSON-RPC 2.0. Každý požadavek musí obsahovat Authorization: Bearer $MAGISTERIUM_TOKEN (uživatelský token vydaný přes OAuth — viz Autentizace) a Content-Type: application/json.

Metody

message/send

Odeslat zprávu dovednosti a obdržet dokončenou úlohu. Všechny dovednosti Magisterium jsou synchronní — odpověď obsahuje terminální stav úlohy (completed nebo failed), nikdy ne mezistav working.

Parametry:

PoleTypPovinnéPopis
messageMessageAnoZpráva uživatele s částmi a volitelnými metadaty.
message.rolestringAnoMusí být "user".
message.messageIdstringAnoUnikátní ID pro tuto zprávu.
message.kindstringAnoMusí být "message".
message.partsPart[]AnoMinimálně jedna část (text nebo data).
message.metadata.skillIdstringNeDovednost pro vyvolání. Výchozí hodnota je catholic_qa.
message.contextIdstringNeVolitelné ID kontextu pro seskupování souvisejících úloh. Pokud chybí, server jej vygeneruje.
configurationobjectNeRezervováno pro budoucí použití.

Vrací: Objekt Task s kind: "task".

tasks/get

Načíst dříve vytvořenou úlohu podle jejího ID.

Parametry:

PoleTypPovinnéPopis
idstringAnoID úlohy vrácené z message/send.

Vrací: Objekt Task nebo chybu TASK_NOT_FOUND, pokud vypršel nebo chybí. Úlohy jsou ukládány po dobu 24 hodin.

tasks/cancel

Zrušit úlohu, pokud je ve zrušitelném stavu. Protože všechny dovednosti se vykonávají synchronně, většina úloh je v době vrácení odpovědi již v terminálním stavu (completed / failed) — pokus o zrušení terminální úlohy vrátí INVALID_PARAMS se zprávou Invalid state transition.

Parametry:

PoleTypPovinnéPopis
idstringAnoID úlohy ke zrušení.

Vrací: Aktualizovaný objekt Task se status.state: "canceled".

Životní cyklus úlohy

Dovednosti Magisteria běží synchronně, takže úloha je do úložiště uložena teprve poté, co dovednost skončí — vždy v terminálním stavu. Stavy submitted a working jsou součástí širší specifikace A2A, ale implementace Magisteria je nikdy neprodukuje; vždy uvidíte pouze jeden ze tří níže uvedených terminálních stavů.

StavVýznam
completedTerminální — výsledky jsou v artifacts. Vráceno message/send, když dovednost úspěšně dokončí.
failedTerminální — status.message obsahuje důvod selhání. Vráceno message/send, když dovednost vyhodí výjimku.
canceledTerminální — dosažitelné pouze voláním tasks/cancel na neterminální úloze. Protože jsou úlohy v okamžiku, kdy se message/send vrací, již v terminálním stavu, je v praxi zrušení odmítnuto s INVALID_PARAMS pro jakoukoliv úlohu, na kterou máte odkaz.

Každá úloha navíc obsahuje:

  • contextId — seskupovací identifikátor, který můžete znovu použít napříč navazujícími zprávami k propojení souvisejících úloh.
  • history — uspořádaný seznam zpráv uživatele a agenta, které vytvořily artefakty úlohy.

Chybové kódy

KódNázevPopis
-32700Parse errorNeplatné tělo JSON.
-32600Invalid requestChybí pole jsonrpc, method nebo id.
-32601Method not foundNeznámá JSON-RPC metoda.
-32602Invalid paramsChybějící nebo neplatné parametry (také vraceno pro neplatné přechody stavu tasks/cancel).
-32603Internal errorNeočekávané selhání na straně serveru.
-32001Task not foundID úlohy neexistuje nebo vypršelo.
-32002Skill not foundNeznámé skillId v metadatech zprávy.
-32003Rate limit exceededPříliš mnoho požadavků. Zkontrolujte retryAfter (sekundy) v data chyby.
-32004UnauthorizedChybějící nebo neplatný Bearer token.
-32005Paid plan requiredA2A vyžaduje plán Pro, Organization nebo Enterprise.

HTTP status odráží třídu chyby: 401 pro UNAUTHORIZED, 403 pro PLAN_REQUIRED, 429 pro RATE_LIMITED a 200 pro všechny ostatní chyby JSON-RPC (podle konvence JSON-RPC vracet 200 s tělem error).

Limity požadavků

A2A sdílí stejný pool limitů požadavků jako MCP — viz Ceník MCP pro limity požadavků podle jednotlivých plánů.

Jsou vynucovány dvě varianty:

  • Default — platí pro document_search, document_fetch, liturgical_readings a saints_of_the_day.
  • Expensive — platí pouze pro catholic_qa, protože spouští pipeline odpovědí poháněnou LLM. Tato varianta používá přísnější, nižší limit.

Když dosáhnete limitu, objekt data chyby obsahuje retryAfter v sekundách. Volající by měli před opakováním tento interval vyčkat.

CORS

Endpoint odpovídá na preflight požadavky OPTIONS a vrací permisivní CORS hlavičky (Access-Control-Allow-Origin: *, Allow-Methods: POST, OPTIONS, Allow-Headers: Content-Type, Authorization), takže A2A lze volat z orchestrátorů v prohlížeči bez proxy.