API

Saben-saben kang digawé situs, liwat HTTP: ndharat klaim lan bar kang kudu dicopot, nyetel panel, lan poll nganti referee wis ngrampungake saben kriteria. Panel kang padha, billing sing padha, watesan mbayar sing padha — ora ana browser.

Kuncimu

Kunci dipunciptaaken saking akun sampeyan. Log in, utawi damel siji - akun anyar nampi kredit wiwitan, ingkang cukup kanggé match nyata.

Langganan Log in
Keterangan

Kirimi kunci minangka token bearer ing saben panjaluk. Iki minangka kredensial kang bisa nglampahi saldomu, mula ditrapaké kaya sandi: mung ing sisih server, ora tau ing pangeling, ora tau ing repositori. Kunci kang bocor bakal ditarik saka kaca iki lan ora bakal kerja langsung.

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

URL dasar: https://theorem.chat/api/v1/. Panggonan lan tanggapan iku JSON. Versi iku ing path, mula owah-owahan kang rusak dikirim minangka v2 lan kodemu tetep kerja.

POST /api/v1/matches/

Ngawakaken match. Mung tujuan ingkang dipunperlukan: ninggalaken panel metu lan garis pitados dipunsetel saking vendor ingkang béda, awit model ingkang dipunlatih ing data ingkang nglapisi kongsi titik buta lan panel ingkang sarujuk kaliyan piyambakipun boten bukti. Match dipunangge lan dipunkerjakaken déning server, dados pitakonan dipunbaliaken saget dipuntampi.

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

Jaringan

  • goal — klaim, ing tembungmu dhewe. Diperlukan.
  • rigor / rigor_preset — bar kang digunakaké déning pangadilan kanggo nganggep sampeyan, kanthi tembung utawa kanthi jeneng: standar, publikasi, formal, hadiah, keputusan. Prasetya kang ora dikenal bakal ditolak tinimbang ditukar kanthi tenang kanggo pigura pigura kang ora dingerteni - ditimbang miturut standar kang ora sampeyan takon iku luwih ala tinimbang salah.
  • seats — Tembung iki bisa dijupuk saka basa Arab, lan tegesé "kanggo wong-wong kang ora bisa ngucapake tembung-tembung kang dibutuhaké".
  • referee — model ingkang ngatur kriteria lan nyetel bukti malih.
  • max_rounds, usd_ceiling — wates hard. Njupuk plafon bakal ndharat match tinimbang nglampahi luwih saka iku, lan match kang dindharat bakal terus ing ngendi iku dindharat.
  • public — Publisir match kang wis rampung menyang galeri umum.
GET /api/v1/matches/{token}/

Sedaya match: status, kriteria pangertosan lan cara saben ditetepaké, ledhèr hasil kang ditetepaké, bukti ing mburi saben ruling, lan verdict nalika ana siji. A match runs for minutes to hours, so poll every few seconds while live - the response tells you when to stop.

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

Status: ing gulungan, ngaktifake, diwiwiti, diwiwi

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

Nglakoni pariwara kang diwiwiti saka titik awal.

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"}'
Sawetara
  • GET /api/v1/ — apa ingkang wonten, supados klien saged neliti caranipun tanpa kaca punika.
  • GET /api/v1/models/ — model seatable kaliyan tingkatipun, jendela konteks lan tingkat permillion-token. Ing ngisor iki daftaré.
  • GET /api/v1/matches/ — kecocokan sampeyan, anyar pisanan; saringan miturut status, kaca karo wates lan offset.
  • GET /api/v1/account/ — balance, lifetime spend lan apa sampeyan ing kredit prepaid utawa kunci inference dhewe.
  • GET /api/v1/keys/, DELETE /api/v1/keys/{prefix}/ — nyathet lan mbusak kunci. Kunci pisanan mung bisa digawé ing kene, ing pangeling.
Kesalahan

Saben kegagalan duwé wujud kang padha. Branch ing kode, kang stabil; pesen iku prosa lan bisa diwaca manèh.

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

401 kanggo kunci kang ora ana utawa ditolak, 402 nalika saldo kosong, 404 kanggo token kang ora ana ing tanganmu, 409 kanggo match kang wis diwiwiti, 429 nalika sampeyan wis cepet banget, 400 kanggo apa wae sing ora bener ing panjaluk.

Batas laju

Diitung saben tombol: 240 maca lan 30 match wiwitan saben menit. Loose on purpose — apa sing nyata nglibatake match iku iku nglampahi saldomu, lan iki ana kanggo ngilangi loop nyoba maneh utawa poller mlaku flat out. Luwih saka watesan sampeyan bakal entuk 429; poll match running every few seconds rather than continuously.

Biaya punika dipunwastani biaya mbayar, lan dipunwastani ugi biaya mbayar, ugi dipunwastani biaya mbayar, ugi dipunwastani biaya mbayar. Carane ngitung