API

Gbogbo ohun ti sáà ń ṣe, láti inú HTTP: sọ́ọ̀kan tí a fẹ́ sọ́rọ̀, àti àkàbà tí a fẹ́ pa, pánẹ́ẹ̀lì, àti àwọn ìṣàmúlò-ètò titi ti a ti fi pinnú gbogbo àwọn ìṣàmúlò-ètò. Pánẹ́ẹ̀lì kan, àwọn

Àwọn bọ́tìnì rẹ

Keys are created from your account. Sign in, or create one — new accounts get starting credit, which is enough for a real match.

Fikún Àwọn Ìṣàmúlò-ètò
Àwọn Àmì-ìwé

Fi bọ́tìnì ranṣẹ bí àwọn àyọkà ìṣàmúlò-ètò ní pàtó nínú gbogbo àgbèwọlé. O jẹ́ ìṣàmúlò-ètò tí a lè fi owo rẹ̀ lò, láti jẹ́ bí àmì-àṣírí: ààyè sáà níkan, kò ní pàtó nínú ìṣàmúlò-ètò, kò ní pàtó nínú àwọn àwọn ààyè. Bọ́tìnì tí a fi pamọ́ ní pàtó láti inú ojú-ìwé yìí láti fi pàtó àwọn iṣẹ́ nígbà kan.

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

URL Ìdájú: https://theorem.chat/api/v1/. Àwọn ìtàn atí àwọn ìṣàlàyé ní JSON. Àwọn ìṣàfarawégbèsì nínú ààyè, bẹ́ẹ̀ ìyipadà tí a bá fi pamọ́ bí v2̀ àtí àkóódù rẹ̀ tí n ṣiṣẹ́.

POST /api/v1/matches/

Ṣí match. Àwọn àwọn

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

Àwọn Ààyè

  • goal — àwọn àkóónú, nínú àwọn àmì-àṣírí rẹ. Tí a fẹ́.
  • rigor / rigor_preset — àwọn ààyè tí àwọn à
  • seats — meji si mẹta igbimọ ti o n sọrọ, gbogbo wọn ni módèlè̀ id ti GET /api/v1/módèlè̀/ atí ipò tí a fẹ́.
  • referee — àwọn àwọn ààtòjútó àwọn ààtòjútó àti àwọn ààtòjútó àwọn ààtòjútó.
  • max_rounds, usd_ceiling — àwọn ìdájú àwọn ìgbàdé. Tí a bá dé nínú àwọn ààyè, a tí fi match pàtó láti fi pamọ́, àti match pàtó náà tí n bọ́ sí ibí tí o tì kù.
  • public — fi match tí a tí parí pamọ́ sí àwọn aládàbò.
GET /api/v1/matches/{token}/

Gbogbo match: ipo, awọn ipo ijẹrisi ati bi o ti ṣe dapọ, awọn abajade ti a ti dapọ, awọn ifihan agbara ni ẹhin gbogbo awọn igbimọ, ati awọn igbimọ ti o ba ti wa ni ọkan. match kan n ṣiṣẹ fun awọn iṣẹju si awọn wakati, nitorinaa tẹlifoonu ni gbogbo iṣẹju diẹ nigba ti o ba n gbe - ipadabọ sọ fun ọ pe nigba ti o yẹ ki o da duro.

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

Àwọn ìṣàmúlò-ètò: ààtò, ìṣàmúlò-ètò, àpàsẹ̀, àwọn_ìtàn_ìtàn, àwọn_ìtàn_ìtàn, àwọn_ìtàn_ìtàn, àwọn_ìtàn_ìtàn, àwọn_ìtàn_ìtàn. Àwọn àwọn àtòjọ-ẹ̀yàn kejì ní àwọn táàmù; àwọn ìtán_ìtán, àwọn_ìtán_ìtàn, àwọn_ìtán_ìtán àti àwọn ìtán_ìtán lè gbà padà sípò.

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

Fi àwọn ìṣàmúlò-ètò match tí a tí fi pàtó pamọ́ láti fi pamọ́. Gbogbo àwọn ohun ti pánẹ́ẹ̀lì náà tí a fi kọ́ nínú àwọn

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"}'
Àwọn àwọn ààyè-iṣẹ́
  • GET /api/v1/ — ohun tí a nì, kí klìentì láti lè rí àgbèwọlé rẹ̀ láti ààyè ojú-ìwé yìí.
  • GET /api/v1/models/ — Àwọn ìṣàmúlò-ètò àti àwọn ìṣàmúlò-ètò àti àwọn ìṣàmúlò-ètò àti àwọn ìṣàmúlò-ètò àti àwọn ìṣàmúlò-ètò. Àtòjọ-ẹ̀yàn, bí ojú-ìwé kan.
  • GET /api/v1/matches/ — matches rẹ, tí ò tídídí nípa àwọn tí ò tídí; àwọn ìṣàmúlò-ètò láti inú ipo, ojú-ìwé láti inú ìgbà ìdáràn atí ìpàlẹ̀.
  • GET /api/v1/account/ — Ìbálẹ̀, àwọn ìṣàmúlò-ètò ìbílẹ̀ atí àwọn
  • GET /api/v1/keys/, DELETE /api/v1/keys/{prefix}/ — Fi àtòjọ àti àwọn bọ́tìnì ìgbàdá. Bọ́tìnì akọkọ́ lè láti fi pamọ́ níbẹ̀ nikan, nínú ìṣàfilọ́lẹ̀.
Àwọn Àṣìṣe

Àwọn ìpàdá gbogbó ní ìṣàfarawé àwọn àwọn ìṣàmúlò-ètò. Àwọn ààyè lórí ìṣàmúlò-ètò, tí ó ní ìdárá; àkọ́lé ní àkọ́lé àti àwọn àkọ́lé àti àwọn àkọ́lé.

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

401 fún bọ́tìnì tí kò wa tàbí tí a ti ṣẹ̀dà, 402 tí àwọn ìdáràn jẹ́ àwọ́lọ́wọ́, 404 fún tokètì tí kò jẹ́ rẹ̀, 409 fún match tí o tí n bọ́, 429 tí o bá lọ́wọ́lọ́wọ́, 400 fún ohunkohun tí ibeerè rẹ̀ bá tí ìpàdé.

Àwọn Ìgúnrégé Ìjáde

Counted per key: 240 reads and 30 match starts a minute. Loose on purpose — what actually limits a match is that it spends your balance, and these are here to stop a retry loop or a poller running flat out. Over the limit you get 429; poll a running match every few seconds rather than continuously.

Igbára-ọ̀rọ̀ ní pàtó nínú ààyè-iṣẹ́: ò fi owò lọ́wọ́lọ́wọ́, latí owó tí a fí gbálẹ̀̀ nípá ìdíyelé́ tabí bọ́tìnì rẹ̀. Bií a ṣe lè ló àwọn iṣẹ́ ìṣàmúlò-ètò