API
Всичко, което сайтът прави, в сравнение с HTTP: да издаде твърдение и бара той трябва да изясни, седне на панел, и анкета, докато съдията е урежда всеки критерий. Същият панел, еднакъв обчисления, същите ограничения на разходите - без браузър.
Ключовете ти.
Ключовете са създадени от вашия акаунт. Впишете се или създавайте един — новите сметки получават начален кредит, което е достатъчно за реални match.
Записване
Вход
Автентифициране
Изпрати ключа като носител на всеки искане. Това е удостоверение, което може да похарчи баланса си, така че третирайте го като парола: само на сървъра, никога в браузър, никога в репазитор. Изтекъл ключ се оттече от тази страница и спира да работи незабавно.
curl https://theorem.chat/api/v1/account/ \
-H "Authorization: Bearer thm_live_xxxxxxxx.xxxxxxxxxxxxxxxx"
Базов URL: https://theorem.chat/api/v1/. Заявленията и отговорите са JSON. Версията е на път, така че разрушаване на промени кораби като v2 и вашия код продължава да работи.
POST /api/v1/matches/
Старт match. Само целта е необходима: да оставите панела навън и по подразбиране се състои от различни доставчици, защото модели, обучени за покриване на данните споделят слепи точки и панел, който се съгласява със себе си не е доказателство. match се поставя в опашка незабавно и работи от сървър, така че искането се завърна веднага, щом се приеме.
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
}'
Поля
GET /api/v1/matches/{token}/
Цялата match: статус, критериите за приемане и как всеки е бил уреден, счетоводната книга на установените резултати, доказателствата зад всяко решение, и присъдата, след като има една. match бягат за минути до часове, така че анкета на всеки няколко секунди докато е жива – отговорът ви казва кога да спрете.
{
"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": "…"
}
Статуси: редица, задействана, паузирана, needs_ funds, решена, изчерпана, заглавена, неуспешна. Последните четири са терминални; паузирани, needs_ funds, изчерпани и заглавени могат да бъдат възобновени.
POST /api/v1/matches/{token}/resume/
Give a stopped match more rounds or more budget. Everything the panel established is kept — results are written to a ledger once and never re-derived, and recorded dead ends stop it walking back into an approach that already failed.
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"}'
Грешка
Всеки неуспех има еднаква форма. Разклонение на кода, който е стабилен; съобщението е проза и може да бъде преработено.
{"error": {"code": "insufficient_balance",
"message": "Add credit or connect your own inference key…"}}
401 за липсващ или отнема ключ, 402 когато балансът е празен, 404 за жетон, който не е ваш, 409 за match, който вече работи, 429, когато отивате твърде бързо, 400 за нещо, което искането се обърка.
Гранични стойности
Преброен на ключ: 240 чете и 30 match започва на минута. Разпуснете с цел - това, което всъщност ограничава match е, че той харчи баланса си, а те са тук, за да спре повторното повторение или опресняч, който тича на разстояние. Над границата получавате 429; анкета match на няколко секунди, вместо непрекъснато.
Билингът е идентичен на сайта: вие плащате на жетон на публикуваната за модел процент, от предварително платен кредит или собствения си ключ.
Как работи с парите