API

Sayt HTTP vasitəsilə etdiyi hər şey: iddia və boşaltması lazım olan çubuq, paneli yerləşdirmək və hakim hər şərtlə razılaşana qədər sorğu. Həmçinin panel, eyni hesablama, eyni xərcləmə həddi - brauzer yoxdur.

Açarlarınız

Açarlar hesabınızdan yaradılır. Girin və ya yenisini yaradın - yeni hesablar real match üçün kifayət qədər olan kredit alır.

Qeyd Et Giriş
Tanıtma

Hər bir tələbdə açarı daşıyıcı token olaraq göndər. Bu sizin balansınıza xərcləyə biləcək bir təsdiqdir, buna görə də onu şifrəyə bənzət: yalnız server tərəfi, heç vaxt browser'da, heç vaxt repozitoriyada. Çıxan açar bu səhifədən geri alınır və dərhal işləmir.

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

Əsas URL: https://theorem.chat/api/v1/. İstəyişlər və cavablar JSON-dur. Versiya yoldadır, buna görə də dəyişiklik v2 olaraq göndərilir və kodunuz işləməyə davam edir.

POST /api/v1/matches/

match-i başlat. Yalnız məqsəd tələb olunur: paneli kənara qoyun və fərqli satıcılardan əvvəlcədən qurulmuş sıralama yerləşdirilsin, çünki modellər örtüşən məlumatlar üzərində təlim edilmişdir və özləri ilə razılaşan panel dəlil deyil. match dərhal sıralanır və server tərəfindən işlənir, belə ki istək qəbul edildikdə dərhal geri dönər.

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

_Dərslik

  • goal — tələb, öz sözlərinizlə.
  • rigor / rigor_preset — hakimin sizə verəcəyi qiymət, sözdə və ya adla: standart, nəşr, formal, mükafat, qərar. Namə'lum əvvəl qurğu ön qurğu ilə səssizcə əvəz olunmaq əvəzinə rədd edilir - istəmədiyiniz standarta görə qiymətləndirilməsi xətadan daha pisdir.
  • seats — ikidən altıya qədər müzakirə yeri, hər biri GET /api/v1/models/-dən model id və seçimli mövqe.
  • referee — kriteriyaları idarə edən və sübutları yenidən yoxlayan model.
  • max_rounds, usd_ceiling — çətin limitlər. Tavan səviyyəsinə çatmaq match-i onu keçmək əvəzinə dayandırır və dayandırılmış match dayandığı yerdə davam edir.
  • public — bitmiş match-i ictimai galeriyə yayımla.
GET /api/v1/matches/{token}/

Bütün match: status, qəbul şərtləri və hər birinin necə həll edildiyi, müəyyən nəticələrin kitabçası, hər bir hökmün arxasındakı sübut və birdən bir hökm. match dəqiqələrlə saatlara qədər işləyir, buna görə də hər bir saniyədə sorğu həyatda olduğu müddətdə - cavab nə vaxt dayanacağınızı bildirir.

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

Vəziyyət: sırada, işləyir, dayandırılmış, needs_funds, həll edilmiş, tükənmiş, tıkanmış, səhv. Son dörd terminaldır; dayandırılmış, needs_funds, tükənmiş və tıkanmış davam edə bilər.

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

match daha çox dövrə və ya daha çox büdcə ilə dayandırılmışdır. Panelin qurduğu hər şey saxlanılır - nəticələr bir dəfə bir kitabçaya yazılmışdır və heç vaxt yenidən alınmamışdır, və qeyd edilmiş ölümcül sonlar artıq uğursuz olmuş bir yanaşmaya geri dönməsini dayandırır.

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"}'
Qalanları
  • GET /api/v1/ — mövcud olanları göstər, buna görə də müştəri bu səhifə olmadan yolunu tapa bilər.
  • GET /api/v1/models/ — seatable modelləri onların səviyyəsi, kontekst pəncərəsi və milyon-token dərəcələri ilə. Aynı liste, sayfa olarak.
  • GET /api/v1/matches/ — matches-nizin, ən yenisi əvvəlcə; vəziyyət, limit və offset ilə səhifə ilə filtrlə.
  • GET /api/v1/account/ — balans, ömürlük xərc və sizdə əvvəlcədən ödənilmiş kredit ya da öz təxmin açarı olub olmadığını göstərin.
  • GET /api/v1/keys/, DELETE /api/v1/keys/{prefix}/ — Açarları siyahıya al və geri al. İlk açar yalnız burada, bir səyyahda hazırlana bilər.
Xətalar

Hər bir səhv eyni şəkil daşıyır. Kodda daimi olan bir qol; ismarış prozadır və yenidən yazıla bilər.

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

401 yox olan ya da geri alınmış açar üçün, 402 balans boş olduqda, 404 sizin olmayan bir token üçün, 409 artıq işləyən match üçün, 429 çox sürətli getdiyiniz zaman, 400 istəkdə səhv olan hər şey üçün.

Sür'ətli

Açar başına hesablanmışdır: 240 oxu və 30 match başlanğıc bir dəqiqə. Məqsədlə yumşaq - match-i məhdudlaşdıran şey balansınızın istifadəsi və bu da yenidən cəhd döngüsünü ya da poller-in tamamilə işləməsini dayandırmaq üçün buradadır. Sınırın üstündə 429-a çatırsınız; davamlı işləməyən match-i hər bir neçə saniyədə sorğulayın.

Hesablama saytla eynidir: siz token üçün model üzrə çap olunmuş qiymətə, əvvəlcədən ödənilmiş kreditdən və ya öz açarınızdan ödəyirsiniz. Hesablama necə işləyir