API

Viskas, ką daro svetainė, over HTTP: nurodyti pretenziją ir barą, kurį ji turi aiškiai nustatyti, sėdėti skydelį, ir apklausa, kol arbitras yra nusprendęs kiekvieną kriterijų. Tas pats skydelis, ta pati sąskaita, tos pačios išlaidų ribos – ne naršyklė.

Jūsų raktai

Raktai yra sukurti iš savo sąskaitos. Prisijunkite, arba sukurti vieną — naujos sąskaitos gauti pradedant kreditą, kuris yra pakankamai realios match.

Prisijungti Prisijungti
Autentikacija

Siųsti raktą kaip kiekvieno užklausos raktą. Tai yra kredencialus, kuris gali išleisti savo balansą, todėl jį reikia laikyti slaptažodį: serverio pusėje, niekada naršyklėje, niekada saugykloje. Iš šio puslapio pašalintas nutekėjęs raktas ir nedelsiant nustoja veikti.

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

Bazinis URL: https://teorem.chat/api/v1/. Prašymai ir atsakymai yra JSON. Versija yra kelyje, todėl lūžimo pakeisti laivų, kaip v2 ir jūsų kodas toliau veikia.

POST /api/v1/matches/

Pradėti match. Tik tikslas yra reikalingas: palikti skydelį ir numatytasis eilėje yra sėdi iš skirtingų pardavėjų, nes modeliai, apmokyti dėl sutampančių duomenų dalintis aklų dėmių ir skydelis, kuris sutinka su savimi nėra įrodymai. match yra nedelsiant eilėje ir dirba serveris, todėl prašymas grįžta, kai tik jis yra priimtas.

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

Laukai

  • goal — pretenziją, savo žodžiais. Reikalinga.
  • rigor / rigor_preset — baras, į kurį teisėjas turi tave, stenograma arba vardas: standartinis, leidinys, formalus, prizas, sprendimas. Nežinomas išlyga yra atmesta, o ne tyliai apsikeičiama įsipareigojimų nevykdymo atveju – yra vertinama pagal standartą, kurio jūs neprašėte, yra blogesnė nei klaida.
  • seats — dvi iki šešios debatavimo vietos, kiekvienas modelis id iš GET /api/v1/modeliai / ir neprivalomas pozicija.
  • referee — modelis, pagal kurį taisyklės dėl kriterijų ir iš naujo patikrinti įrodymus. Verta išlaidų.
  • max_rounds, usd_ceiling — sunku ribos. Pasiekus lubų pauzę, užuot praleidus pro ją, match pauzė tęsiasi tiksliai ten, kur ji sustojo.
  • public — viešai galerijai skelbti baigtą match.
GET /api/v1/matches/{token}/

Visas match: statusas, priėmimo kriterijai ir kaip kiekvienas buvo išspręstas, nustatytų rezultatų vedlys, įrodymai už kiekvieną sprendimą, ir nuosprendis, kai yra vienas. A match trunka kelias minutes iki valandų, todėl apklausa kas kelias sekundes, o gyventi – atsakymas sako, kada sustoti.

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

Būsenos: eilinis, veikia, pakabina, reikia_ funds, sprendžia, išeikvoja, užstrigo, nepavyksta. Paskutinieji keturi yra terminalas; pauzė, reikia_funds, išeikvotas ir užstrigo galima atnaujinti.

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

Sustabdykite match daugiau turų ar daugiau biudžeto. Viskas nustatyta komisija yra laikomas — rezultatai yra įrašyti į ledo kartą ir niekada iš naujo kilęs, ir įrašyti negyvi galai sustabdyti jį vaikščioti atgal į požiūrį, kad jau nepavyko.

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"}'
Likusi dalis
  • GET /api/v1/ — kas egzistuoja, kad klientas gali rasti savo kelią be šio puslapio.
  • GET /api/v1/models/ — Sėdimieji modeliai su pakopomis, konteksto langą ir per milijoną markių norma. Tas pats sąrašas, kaip puslapis.
  • GET /api/v1/matches/ — Jūsų matches, naujausias pirmas; filtruoti pagal statusą, puslapis su riba ir iškompensuoti.
  • GET /api/v1/account/ — balansas, gyvenimo praleidimas ir ar esate iš anksto apmokėtas kreditas ar jūsų pačios išvados raktas.
  • GET /api/v1/keys/, DELETE /api/v1/keys/{prefix}/ — sąrašo ir atšaukimo raktus. Pirmąjį raktą galima nukalti tik čia, naršyklėje.
Klaida

Kiekviena klaida turi tą pačią formą. Kodo šaka, kuri yra stabili; žinutė yra prozinė ir gali būti performuluota.

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

401 už trūkstamą arba atšauktą raktą, 402 kai likutis yra tuščias, 404 už žetoną, kuris nėra jūsų, 409 už match, kuris jau veikia, 429 kai jūs einate per greitai, 400 už viską užklausa pati gavo neteisybę.

Norminės normos

Skaičiuota vienam raktui: 240 skaito ir 30 match prasideda minutę. Išskirtinis tikslas – tai, kas iš tikrųjų apriboja match, yra tai, kad jis leidžia savo balansą, ir jie čia sustabdyti kartojasi kilpa arba dulkintuvas veikia lygus. Per ribą jums 429; apklausti veikia match kas kelias sekundes, o ne nuolat.

Sąskaitų išrašymas yra identiškas svetainei: mokate už žetoną pagal paskelbtą kiekvieno modelio normą, iš anksto sumokėtą kreditą arba savo raktą. Kaip sąskaitose faktūrose nurodyti duomenys