Magisterium AI

API Referenca

Sve metode se pozivaju putem POST na https://www.magisterium.com/api/v1/a2a koristeći JSON-RPC 2.0. Svaki zahtjev mora uključivati Authorization: Bearer $MAGISTERIUM_TOKEN (korisnički token izdan putem OAutha — vidi Autentifikaciju) i Content-Type: application/json.

Metode

message/send

Pošaljite poruku vještini i primite dovršeni zadatak. Sve Magisterium vještine su sinkrone — odgovor sadrži terminalno stanje zadatka (completed ili failed), nikada međustanje working.

Parametri:

PoljeTipObaveznoOpis
messageMessageDaKorisnikova poruka s dijelovima i opcionalnim metapodacima.
message.rolestringDaMora biti "user".
message.messageIdstringDaJedinstveni ID za ovu poruku.
message.kindstringDaMora biti "message".
message.partsPart[]DaNajmanje jedan dio (text ili data).
message.metadata.skillIdstringNeVještina za pozivanje. Zadano je catholic_qa.
message.contextIdstringNeOpcionalni ID konteksta za grupiranje povezanih zadataka. Ako je izostavljen, poslužitelj će ga generirati.
configurationobjectNeRezervirano za buduću upotrebu.

Vraća: Objekt Task s kind: "task".

tasks/get

Dohvatite prethodno stvoreni zadatak prema njegovom ID-u.

Parametri:

PoljeTipObaveznoOpis
idstringDaID zadatka vraćen iz message/send.

Vraća: Objekt Task ili pogrešku TASK_NOT_FOUND ako je istekao ili nedostaje. Zadaci se pohranjuju 24 sata.

tasks/cancel

Otkažite zadatak ako je u stanju koje dopušta otkazivanje. Budući da se sve vještine izvršavaju sinkrono, većina zadataka je već u terminalnom stanju (completed / failed) u trenutku kada se odgovor vrati — pokušaj otkazivanja terminalnog zadatka vraća INVALID_PARAMS s porukom Invalid state transition.

Parametri:

PoljeTipObaveznoOpis
idstringDaID zadatka koji se otkazuje.

Vraća: Ažurirani objekt Task sa status.state: "canceled".

Životni ciklus zadatka

Vještine Magisteriuma izvršavaju se sinkrono, pa se zadatak pohranjuje tek nakon što vještina završi — uvijek u terminalnom stanju. Stanja submitted i working dio su šire A2A specifikacije, ali ih implementacija Magisteriuma nikada ne proizvodi; uvijek ćete vidjeti samo jedno od tri terminalna stanja u nastavku.

StanjeZnačenje
completedTerminalno — rezultati su u artifacts. Vraća ga message/send kada vještina uspješno završi.
failedTerminalno — status.message sadrži razlog neuspjeha. Vraća ga message/send kada vještina baci iznimku.
canceledTerminalno — dostižno samo pozivom tasks/cancel na neterminalnom zadatku. Budući da su zadaci već u terminalnom stanju u trenutku kada se message/send vraća, u praksi se otkazivanje odbija s INVALID_PARAMS za bilo koji zadatak na koji imate referencu.

Svaki zadatak također nosi:

  • contextId — identifikator grupiranja koji možete ponovno koristiti u nastavnim porukama za povezivanje srodnih zadataka.
  • history — uređeni popis poruka korisnika i agenta koje su proizvele artefakte zadatka.

Kodovi pogrešaka

KodNazivOpis
-32700Parse errorNevažeće JSON tijelo.
-32600Invalid requestNedostaju polja jsonrpc, method ili id.
-32601Method not foundNepoznata JSON-RPC metoda.
-32602Invalid paramsNedostajući ili nevaljani parametri (također se vraća za nevaljane prijelaze stanja tasks/cancel).
-32603Internal errorNeočekivani kvar na strani poslužitelja.
-32001Task not foundID zadatka ne postoji ili je istekao.
-32002Skill not foundNepoznat skillId u metapodacima poruke.
-32003Rate limit exceededPreviše zahtjeva. Provjerite retryAfter (sekunde) u data pogreške.
-32004UnauthorizedNedostajući ili nevaljani Bearer token.
-32005Paid plan requiredA2A zahtijeva plan Pro, Organization ili Enterprise.

HTTP status odražava klasu pogreške: 401 za UNAUTHORIZED, 403 za PLAN_REQUIRED, 429 za RATE_LIMITED i 200 za sve ostale JSON-RPC pogreške (prema JSON-RPC konvenciji vraćanja 200 s tijelom error).

Ograničenja zahtjeva

A2A dijeli isti bazen ograničenja zahtjeva kao MCP — pogledajte Cijene MCP-a za ograničenja zahtjeva po planu.

Provode se dvije varijante:

  • Default — primjenjuje se na document_search, document_fetch, liturgical_readings i saints_of_the_day.
  • Expensive — primjenjuje se samo na catholic_qa, jer izvršava cjevovod odgovora temeljen na LLM-u. Ova varijanta koristi strože, niže ograničenje.

Kada dosegnete ograničenje, objekt data pogreške sadrži retryAfter u sekundama. Pozivatelji bi se trebali povući za taj interval prije ponovnog pokušaja.

CORS

Endpoint odgovara na preflight zahtjeve OPTIONS i vraća popustljive CORS zaglavlja (Access-Control-Allow-Origin: *, Allow-Methods: POST, OPTIONS, Allow-Headers: Content-Type, Authorization), tako da se A2A može pozivati iz orkestratora u pregledniku bez proxyja.