API

हर जगह, यह नाम है: एक दावा और बार को साफ करना चाहिए कि उसे एक पैनल, सीट और सर्वे की ज़रूरत है जब तक कि उस अधिकारी ने हर मामले को अलग न किया हो ।

आपकी कुंजियाँ

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

हस्ताक्षर अप लागिन
सत्यापन

प्रत्येक संदेश के रूप में कुंजी को किसी प्रदर्शन के रूप में भेजें. यह एक महत्व है जो आपके बैलेंस में खर्च कर सकता है, तो इसे एक पासवर्ड की तरह समझें: सर्वर के किनारे केवल एक ब्राउज़र में ही नहीं है. एक prodeded कुंजी इस पृष्ठ से रद्द हो गया है और तुरंत कार्य करता है.

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

आधार यूआरएल: https://s.mp/Ap1/. अनुरोध किया जा रहा है और जवाब दें JSON. संस्करण पथ में है, इसलिए एक टूट परिवर्तन जहाजों को s2 के रूप में रखता है और आपका कोड काम करता है.

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

क्षेत्र

  • goal — दावा है, अपने शब्दों में.
  • rigor / rigor_preset — एक अज्ञात पूर्वादाहेड, जो डिफ़ॉल्ट के लिए चुपचाप साँस लेने के बजाय, बिना किसी स्तर के न्याय किया जाता है — एक ऐसे मानक के विरुद्ध जो आपने नहीं पूछा था, यह एक त्रुटि से भी बदतर है ।
  • seats — छह से छह सीटों पर, हर मॉडल आईडी //v1/Myls/ और एक वैकल्पिक कदम से।
  • referee — मॉडल जो मापदण्ड पर नियम और प्रमाण को पुनः जाँच करता है।
  • max_rounds, usd_ceiling — और जहाँ तक वह रुकता है, वहाँ match लोग वापस आते हैं ।
  • public — publish the finished match to the public gallery.
GET /api/v1/matches/{token}/

The whole match: status, the acceptance criteria and how each was settled, the ledger of established results, the evidence behind every ruling, and the verdict once there is one. A match runs for minutes to hours, so poll every few seconds while live — the response tells you when to stop.

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

स्थिति: कतार, चल रहा है, ठहरा है_funds, हल किया गया, ढीले पड़ गए, ltested, और अंतिम चार टर्मिनल हैं; ठहरा हुआ हैंग की जरूरत है, और बंद करें

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"}'
बाकी
  • GET /api/v1/ — क्या है, तो एक क्लाइंट इस पृष्ठ के बिना अपना रास्ता पा सकता है.
  • GET /api/v1/models/ — सीटीय मॉडल उनके टाईप, संदर्भ विंडो तथा प्रति मिलीमीटर की दर के साथ. एक पृष्ठ के रूप में, एक ही सूची.
  • GET /api/v1/matches/ — आपका matches, नया सबसे पहला; स्थिति द्वारा फ़िल्टर, पृष्ठ सीमा तथा ऑफसेट के साथ.
  • GET /api/v1/account/ — संतुलन, जीवन खर्च करें और चाहे आप पहले से क्रेडिट पर हैं या अपने स्वयं की समझ की कुंजी पर हैं ।
  • GET /api/v1/keys/, DELETE /api/v1/keys/{prefix}/ — सूची तथा रीवोके कुंजी. एक खंगालक में केवल पहली कुंजी ही न्यूनतम की जा सकती है.
त्रुटियाँ

हर विफलता का एक ही आकार है ।

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

401 for a missing or revoked key, 402 when the balance is empty, 404 for a token that is not yours, 409 for a match that is already running, 429 when you are going too fast, 400 for anything the request itself got wrong.

रेट सीमा

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.

बिलिंग साइट के बराबर है: आप प्रति लाइन पर प्रति maplpl दर, पूर्वीकृत क्रेडिट या अपनी कुंजी पर प्रति टोकन भुगतान करते हैं. काम कैसे करें