Kunci awak.
Kekunci dicipta dari akaun anda. Log masuk, atau cipta satu — akaun baru mendapat kredit permulaan, yang cukup untuk match sebenar.
Daftar Masuk
Log masuk
Pengesahan
Hantar kekunci sebagai token pemegang pada setiap permintaan. Ia adalah kredensial yang boleh menghabiskan baki anda, jadi anggap ia seperti kata laluan: hanya sisi pelayan, tidak pernah dalam pelayar, tidak pernah dalam repositori. Kekunci yang bocor ditarik balik dari halaman ini dan berhenti berfungsi dengan serta merta.
curl https://theorem.chat/api/v1/account/ \
-H "Authorization: Bearer thm_live_xxxxxxxx.xxxxxxxxxxxxxxxx"
URL Asas: https://theorem.chat/api/v1/. Permintaan dan maklum balas adalah JSON. Versi adalah dalam laluan, jadi perubahan pecah dihantar sebagai v2 dan kod anda terus berfungsi.
POST /api/v1/matches/
Mulakan match. Hanya matlamat diperlukan: tinggalkan panel dan garisan piawai diletakkan dari pembekal yang berbeza, kerana model yang dilatih pada data tumpang tindih berkongsi titik buta dan panel yang bersetuju dengan dirinya sendiri bukan bukti. match diiringi segera dan dikerjakan oleh pelayan, jadi permintaan kembali sebaik ia diterima.
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
}'
Medan
GET /api/v1/matches/{token}/
Seluruh match: status, kriteria penerimaan dan bagaimana setiap satu diselesaikan, buku besar hasil yang ditubuhkan, bukti di belakang setiap keputusan, dan keputusan apabila ada satu. match berjalan selama beberapa minit hingga jam, jadi sokong setiap beberapa saat semasa hidup - respon memberitahu anda bila untuk berhenti.
{
"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: berbaris gilir, berjalan, jeda, needs_funds, selesai, kehabisan, terperangkap, gagal. Empat terakhir adalah terminal; jeda, needs_funds, kehabisan dan terperangkap boleh dilanjutkan.
POST /api/v1/matches/{token}/resume/
Berikan match pusingan lagi atau lebih bajet. Semua panel yang ditubuhkan disimpan - hasil ditulis ke buku besar sekali dan tidak pernah diperoleh semula, dan mati lemas direkodkan menghentikannya berjalan kembali ke pendekatan yang telah gagal.
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"}'
Ralat
Setiap kegagalan mempunyai bentuk yang sama. Cawangan pada kod, yang stabil; mesej adalah prosa dan boleh diucap semula.
{"error": {"code": "insufficient_balance",
"message": "Add credit or connect your own inference key…"}}
401 untuk kekunci hilang atau ditarik balik, 402 apabila baki kosong, 404 untuk token yang bukan milik anda, 409 untuk match yang sudah berjalan, 429 apabila anda terlalu cepat, 400 untuk apa-apa permintaan sendiri yang salah.
Had kadar
Dikira per kekunci: 240 bacaan dan 30 match mula satu minit. Lemah pada tujuan — apa yang sebenarnya membatasi match ialah ia menghabiskan baki anda, dan ini di sini untuk menghentikan cubaan semula atau poller berjalan kehabisan. Di atas had anda dapat 429; poll match berjalan setiap beberapa saat bukannya terus.
Bil adalah sama seperti laman web: anda membayar setiap token pada kadar per model yang diterbitkan, dari kredit prabayar atau kunci anda sendiri.
Bagaimana bil berfungsi