API

Saýtyň edýän her zady, HTTP üsti bilen: bir talap we bary açmak, paneli oturtmak, we bary açmakça soramak. Şu panel, şu hasap, şu sarp et limitler - hiç bir brauzer.

Alyçlar

Alyçlar siziň hasabyňyzdan döreýär. Ýatda gir ýa-da birini döret - täze hasaplar başlanmak kreditini alýar, bu hakykat match üçin ýeterlikdir.

_Gün _Giriş
Tanyşlyk

Alyçany her bir soragda bir daşlaýjy token hökmünde iber. Bu siziň balansyňyzy sarp edip biljek bir ygtybarlylyk, şonuň üçin ony bir sözbaşy ýaly kabul et: diňe serwer tarapy, hiç wagt bir görnükde, hiç wagt bir repozytorda. Alyçany akdyryp biljek bir zat bu sahypadan gaýd edilýär we derhal işlemez.

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

Aşakdaky URL: https://theorem.chat/api/v1/. Soraglar we jogaplar JSON'dir. Wersiýa ýolda, şonuň üçin bir bozulan üýtgeşme v2'de iberilýär we kodyňyz işleýär.

POST /api/v1/matches/

match başla. Diňe maksat zerur: paneli çykaryp goý we öň bellenen bir çyzykly dürli satyjylardan oturdylan, sebäbi modeller öwredilen öwrümli maglumaty paýlaşyp görmedik ýerleri we panel özi bilen ylalaşýan bir delil däl. match derhal nobatda dur we serwer tarapyndan işlenýär, şundan soragy kabul edilşinden soň gaýtýar.

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

_Hatarlar

  • goal — islendik sözi
  • rigor / rigor_preset — bar
  • seats — ikiden altyça çenli diskussiýa oturdyşlary, her biri GET /api/v1/models/'den bir model id we bir saýlawly durky.
  • referee — model
  • max_rounds, usd_ceiling — hard limits. Aşa ýetmek match'i durdurýar ondan geçmän, we durdurylan match'i dogrydan durdurylan ýerinden dowam eder.
  • public — match tamamlanany halk galerisine çap et
GET /api/v1/matches/{token}/

match: status, kabul etmek kriteriýalary we her biriniň çözülmegi, netijeleriň düzülmesi, her bir kararyň arkasynda delil, we bir bar bolsa karar. match minutlardan sagatlara işleýär, şuňa görä her bir sagatda soraň — jogap näçe wagt durmalydygyny size aýdýar.

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

Haltlar: nobatda, işleýän, wagtlaýyn, needs_funds, çözülen, tükenen, gaplaşan, hataly. Soñky dört terminal; wagtlaýyn, needs_funds, tükenen we gaplaşan dowam edilip bilner.

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

match öñki runda ýa-da bütin öňki bütin öňki bütin

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"}'
Başga
  • GET /api/v1/ — näme bar, şonuň üçin bir kliýent bu sahypasyz öz ýoluny tapyp biler.
  • GET /api/v1/models/ — setable model with their tier, context window and per-million-token rates. Sahypanyň içindeki bir liste.
  • GET /api/v1/matches/ — seniň matches, iň täze öňe; hal bilen süzgüç, sahypa bilen çäk we offset.
  • GET /api/v1/account/ — balans, ömrüň içinde sarp edilen we siziň öňden tölenen kredit ýa-da öz inference adynyz barmy
  • GET /api/v1/keys/, DELETE /api/v1/keys/{prefix}/ — alymlary görkez we öçür. Ilki alym diňe şu ýerde, bir görnekde, ýazyp bilner.
Hatalar

Her bir hatanyň birmeňzeş şekili bar. Kodda bir bölek, bu durnukly; habar proza we tekrar sözlenip biler.

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

401 çünki ätiýaçsyz ýa-da öçürlen ätiýaç, 402 eger balans boş bolsa, 404 eger bir token siziňki däl bolsa, 409 eger match öçen bolsa, 429 eger siz gaty çalt gitýän bolsaňyz, 400 eger isleg özüňde hataly bolsa.

_Gün tertibi

Açar üçin saýlanan: 240 okamak we 30 match başlamak bir minutda. Ýokaryda öwredildi - match-i hakykatda çäklendirýän zat siziň balansyňyzy sarp edşidir, we bular bir tekrarlamak öwrümini ýa-da bir polleriň öçmek üçin şu ýerdedir. Sülgüden aşa siz 429 alarsyňyz; işleýän match-i her bir sagatda bir gezek soraň.

Faýllary öçürmek saýt bilen deňdir: siz her bir tokeni çap edilen her bir modeliň bahasy bilen, öňden tölenen kreditden ýa-da öz adynyzdan tölärsiňiz. Hasaplama nädip işleýär