APIa

Guneak HTTP bidez egiten duen guztia: eskaera bat eta garbitu behar duen barra zehaztu, panel bat jarri eta inkesta egin epaileak irizpide guztiak ebatzi arte. Panel bera, fakturazio bera, gastu-muga bera - ez arakatzailerik.

Zure giltza

Gakoak zure kontutik sortzen dira. Saioa hasi edo sortu kontu berri bat — kontu berriek hasierako kreditua jasotzen dute, nahikoa benetako parekatze bat egiteko.

Izena eman Saio-hasiera
Autentifikazioa

Bidali gakoa eramantzaile-token gisa eskaera bakoitzean. Saldoa gasta dezakeen kredentziala da, beraz, pasahitz gisa tratatu: zerbitzari-aldea soilik, inoiz ez arakatzaile batean, inoiz ez biltegi batean. Gako isurtua orrialde honetan errebokatuko da eta berehala geldituko da funtzionatzen.

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

Oinarrizko URLa: https://theorem.chat/api/v1/. Eskaerak eta erantzunak JSON dira. Bertsioa bide-izenean dago, beraz, aldaketa bat v2 gisa bidaltzen da eta kodeak funtzionatzen jarraitzen du.

POST /api/v1/matches/

Hasi bat-egite bat. Helburua bakarrik behar da: panela kanpo utzi eta hornitzaile desberdinetako lerrokatze lehenetsi bat ezartzen da, gainezkatutako datuetan trebatutako ereduek puntu itsu berdinak baitituzte eta bere buruarekin bat datorren panel bat ez baita froga. Bat-egiteak berehala ilara bat sortzen du eta zerbitzari batek lan egiten du, beraz eskaera onartzen denean itzultzen da.

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
  }'

Eremuak

  • goal — the claim, in your own words. Required.
  • rigor / rigor_preset — epaileak ezartzen dizun muga, hitzez hitz edo izenaren arabera: estandarra, argitalpena, formala, saria, erabakia. Aurrezarpen ezezaguna baztertu egiten da lehenetsiarekin isiltasunez aldatu beharrean - eskatu ez duzun estandar baten arabera epaitua izatea errore bat baino okerragoa da.
  • seats — bi eta sei arteko eztabaida-eserleku, bakoitzak GET /api/v1/models/-etik modelo-id bat eta aukerako jarrera bat.
  • referee — Irizpideak arautzen dituen eta frogak berriro egiaztatzen dituen eredua.
  • max_rounds, usd_ceiling — muga gogorrak. Gehieneko zenbatekoa lortzen denean, partida gelditzen da, gainditu beharrean, eta gelditutako partidak gelditu zen lekuan jarraitzen du.
  • public — argitaratzen du amaitutako partida galeria publikoan.
GET /api/v1/matches/{token}/

Partida osoa: egoera, onartzeko irizpideak eta bakoitza nola ebatzi zen, emaitzak zehaztutako liburua, erabaki bakoitzaren atzean dagoen froga, eta epaia, behin erabakia badago. Partida minutuz orduz irauten du, beraz, galdetu segundo gutxitan bizirik dagoen bitartean - erantzunak noiz gelditu esaten dizu.

{
  "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": "…"
}

Egoerak: ilaran, exekutatzen, pausatuta, needs_funds, ebatzita, agortu, trabatuta, huts egin. Azken laurak terminalak dira; pausatuta, needs_funds, agortu eta trabatuta jarraitu daitezke.

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

Emandako partida geldituari txanda gehiago edo aurrekontu gehiago eman. Panelak ezarritako guztia gordetzen da - emaitzak liburu batean behin idatzi eta ez dira inoiz berriro eratorri, eta erregistratutako irtenbideek eragozten dute jadanik huts egin duen hurbilketa batera itzultzea.

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"}'
Gainontzekoa
  • GET /api/v1/ — existitzen dena, bezero batek bere bidea aurkitu dezan orrialde hau gabe.
  • GET /api/v1/models/ — modeloak, maila, testuinguru-leiho eta milioiko token-tasekin. Zerrenda bera, orrialde bezala.
  • GET /api/v1/matches/ — zure bat-etorri guztiak, berrienak lehenik; iragazi egoeraren arabera, muga eta desplazamendudun orrialdea.
  • GET /api/v1/account/ — balantzea, bizitzako gastua eta aurreordaintutako kredituarekin edo zure inferentzia-gakoarekin zauden ala ez.
  • GET /api/v1/keys/, DELETE /api/v1/keys/{prefix}/ — Gakoak zerrendatu eta errebokatzea. Lehenengo gakoa hemen bakarrik egin daiteke, arakatzaile batean.
Erroreak

Hutsegite bakoitzak forma bera du. Kodearen adar egonkorra; mezua prosa da eta berridatzi daiteke.

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

401 gako falta edo errebokatua dagoenean, 402 balantzea hutsik dagoenean, 404 zurea ez den token bat dagoenean, 409 dagoeneko exekutatzen ari den bat-egite bat dagoenean, 429 azkarregi doalakoan, 400 eskaera bera okertu bada.

Emaria mugatua

Gako bakoitzeko zenbatuta: minutuko 240 irakurketa eta 30 bat-etortze hasten dira. Asmoz askatuak - bat-etortzea mugatzen duena zure balantzea gastatzea da, eta hauek hemen daude berriz saiatzeko loop bat edo galdetzailea geldirik egotea saihesteko. Muga gainditzen baduzu, 429 lortzen duzu; exekutatzen ari den bat-etortzea galdetzen duzu segundoro, ez etengabe.

Billing is identical to the site: you pay per token at the published per-model rate, from prepaid credit or your own key. Nola funtzionatzen du fakturazioak