API

Yonke into eyenza indawo, ngaphezulu kwe HTTP: chaza uxanduva kunye nebar kufuneka icoceke, ibekwe iqela, kwaye ivoti de umqulunqi agqibezele yonke imiyalelo. Iqela elifanayo, ityala elifanayo, imida yokusetyenziswa efanayo - akukho mkhangeli zincwadi.

Amaqhosha akho

Izitshixo zidalwa kwi-akhawunti yakho. Ngena, okanye yenza enye - ii-akhawunti ezintsha zifumana ukuqala kwe-credit, oku kulungile kwi-match eyiyo.

Bhalisa Igama elithile
Uqinisekiso

Thumela iqhosha njengento ebalulekileyo ephathekayo kwisicelo ngasinye. Ligunyaziso elingachitha ixabiso lakho, ngoko liyiphatha njengegama lokugqitha: i-server-side kuphela, ayikho kumkhangeli zincwadi, ayikho kwindawo yokugcina. Isitshixo esiphumayo sibuyiselwa kweli phepha kwaye siyeka ukusebenza ngokuzenzekelayo.

curl https://theorem.chat/api/v1/account/ \
  -H "Authorization: Bearer thm_live_xxxxxxxx.xxxxxxxxxxxxxxxx"

Isiseko se-URL: https://theorem.chat/api/v1/. Iisicelo kunye nophendulo yi-JSON. Uguqulelo lukwindlela, ngoko utshintsho olulahlekileyo luya kuhanjiswa njenge v2 kwaye ikhowudi yakho ihlala isebenza.

POST /api/v1/matches/

Qala i match. Injongo kuphela efunekayo: shiya indawo yolawulo ngaphandle kwaye uluhlu olumiselweyo luhlala ukusuka kubanikezeli abahlukeneyo, kuba iimodyuli eziqeqeshiweyo kwi data ethe tyaba zibelana ngendawo ezimnyama nendawo yolawulo evumelana nayo ngokwayo ayikho isizathu. I match ifolokhwe ngokukhawuleza kwaye isebenza ngumncedisi, ngoko isicelo sibuyela ngokukhawuleza xa sivunyelwe.

curl -X POST https://theorem.chat/api/v1/matches/ \
  -H "Authorization: Bearer $THEOREM_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "goal": "Every prime p > 3 satisfies p^2 = 1 (mod 24).",
    "rigor_preset": "formal",
    "seats": [
      {"model": "anthropic/claude-opus-4.5"},
      {"model": "openai/gpt-5", "stance": "Attack the statement."}
    ],
    "max_rounds": 8,
    "usd_ceiling": "2.00",
    "public": false
  }'

Iindawo

  • goal — Iinkcukacha zomthetho olawula i-inshurensi
  • rigor / rigor_preset — ibha yebar umqulunqi ubeka kuwe, ngokubhaliweyo okanye ngegama: isiqhelo, ushicilelo, iformal, ibhaso, isenzo. Isiseko esingaziwayo silahliwe kunokuba sitshintshwe ngokuthe ngqo kwisiseko esimiselweyo - ukuvavanywa ngokuchasene nesiqhelo okungekhona ucelayo kubuhlungu kunemposiso.
  • seats — iindawo ezimbini ukuya kwezisibhozo zokuxoxa, nganye imodeli ye-id evela kwiGET /api/v1/models/ kunye nesimo esikhethiweyo.
  • referee — imodeli elawula iimfuno kwaye iphinde ijonge ubufakazi.
  • max_rounds, usd_ceiling — Ukufikelela kwinqanaba eliphezulu limisa i-match ngaphezu kokusebenzisa ngaphezulu kwayo, kwaye i-match emiswayo iqhubeka ngokuchanekileyo apho iqalile khona.
  • public — i-match egqityiweyo kwigumbi lokubonisa
GET /api/v1/matches/{token}/

I-match yonke: iimeko, iimfuno zokumkela kunye nendlela ekufuneka ilungiswe ngayo, i-leader yeziphumo ezimiselweyo, iimvavanyo eziphambili kwi-ruling nganye, kunye ne-verdict xa kukho enye. I-match isebenza kwimizuzu ukuya kwiyure, ngoko ukhetho ngamanye amaxesha amabini xa uphila - uphendule ukubonisa xa ungayiyeka.

{
  "token": "k3m9x…",
  "status": "solved",
  "round": 5,
  "progress": 100,
  "usd_spent": "0.734120",
  "usd_ceiling": "2.000000",
  "criteria": [
    {"text": "p^2 - 1 is divisible by 8", "status": "met", "settled_round": 2},
    {"text": "p^2 - 1 is divisible by 3", "status": "met", "settled_round": 3}
  ],
  "evidence": [
    {"kind": "computation", "code": "…", "output": "…", "verified": true}
  ],
  "verdict": "…"
}

Iimeko: ifolokhwe, iqhuba, iphumle, ifuna_amatyala, ilungiswe, ilahlekile, ikhatywe, iphazamisekile. Ezidlulileyo ezine ziyindawo egqityiweyo; iphumle, ifuna_amatyala, ilahlekile nekhatywe zingaqhubeka.

POST /api/v1/matches/{token}/resume/

Unika i-match engaphezulu yokujikeleza okanye i-budget engaphezulu. Zonke izinto ezibekwe yipaneli zigcinwa - izigqibo zibhalwe kwi-leader kuqala kwaye aziphinde ziphinde zivela, kwaye iziphelo ezifileyo ezirekhodiweyo zithintela ukubuyela umva kwindlela eyakhe yaphumelelanga.

curl -X POST https://theorem.chat/api/v1/matches/$TOKEN/resume/ \
  -H "Authorization: Bearer $THEOREM_KEY" \
  -H "Content-Type: application/json" \
  -d '{"more_rounds": 4, "more_usd": "2.00"}'
I-Ofisi
  • GET /api/v1/ — i-URL yephepha elikhoyo, ukuze umxhasi akwazi ukufumana indlela yakhe ngaphandle
  • GET /api/v1/models/ — iimodeli ezisetyiweyo ezinomgangatho wazo, ifestile yomxholo kunye nexabiso le-million-token. Uluhlu olufanayo, njengephepha.
  • GET /api/v1/matches/ — matches yakho, entsha kuqala; icebo lokucoca ulwelo ngemeko, iphepha ngemida ne offset.
  • GET /api/v1/account/ — iindleko zobomi, nokuba usebenza ngemali ehlawulwe ngaphambili okanye ngeqhosha lakho lokuqonda.
  • GET /api/v1/keys/, DELETE /api/v1/keys/{prefix}/ — Iqhosha lokuqala:
Imposiso

Ukungaphumeleli ngalunye kunomzobo ofanayo. Icala kwikhowudi, eqinileyo; umyalezo uthetha ntoni na kwaye ungaphinda ubhalwe.

{"error": {"code": "insufficient_balance",
           "message": "Add credit or connect your own inference key…"}}

401 kwisitshixo esilahlekileyo okanye esirhoxisiweyo, 402 xa umlinganiselo ungenanto, 404 kwitokeni engakhoyo yakho, 409 kwi match esele iqhuba, 429 xa uhamba ngokukhawuleza kakhulu, 400 nantoni na efunekayo ifuna ukuba ilungile.

Iimali-mboleko

Ibala kwiqhosha ngalinye: 240 ifunda kwaye 30 match iqala umzuzu. Uxolo kwinjongo - into eyamkelayo imida ye match kukuba ichitha ixabiso lakho, kwaye ezi zikhona ukuyeka ukuphinda uzame umjikelo okanye umvavanyi oqhuba ngokuthe nkqo. Ngapha komda ufumana 429; umvavanyi oqhuba i match ngamanye amaxesha ambalwa ngaphezulu kunokuqhubekayo.

Ubalo lufana nendawo: uhlawula ngetokeni ngexabiso elishicilelwe ngemodeli nganye, ukusuka kwityala elihlawulelwe ngaphambili okanye kwisitshixo sakho. Ukusebenza kwee-invoyisi