API

साइट गर्छ, HTTP भन्दा सबै: एक दाबी र बार यो स्पष्ट हुनुपर्छ, सीट एक प्यानल, र सम्म जनमत संग्रह सम्म न्यायाधीश हरेक मापदण्ड बसोबास छ:. एउटै प्यानल, एउटै बिलिङ, एउटै खर्च सीमा - कुनै ब्राउजर.

तपाईँको कुञ्जीहरू

कुञ्जीहरू आफ्नो खाताबाट सिर्जना गरिन्छ। लगइन गर्नुहोस्, वा एउटा सिर्जना गर्नुहोस् - नयाँ खाताहरू सुरु क्रेडिट प्राप्त, जो वास्तविक match को लागि पर्याप्त छ।

साइन अप गर्नुहोस् लगइन
प्रमाणीकरण

प्रत्येक अनुरोधमा कुञ्जी बोक्ने टोकनको रूपमा पठाउनुहोस् । यो एउटा प्रमाणपत्र हो जसले तपाईँको शेष खर्च गर्न सक्छ, त्यसैले यसलाई पासवर्डको रूपमा व्यवहार गर्नुहोस्: सर्भर-साइड मात्र, ब्राउजरमा कहिल्यै, भण्डारमा कहिल्यै । एक छिरेको कुञ्जी यो पृष्ठबाट रद्द गरिएको छ र तत्काल काम गर्न रोकिएको छ ।

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

आधार यूआरएल: https://theorem.chat/api/v1/. अनुरोध र प्रतिक्रिया JSON छन्. संस्करण बाटो मा छ, त्यसैले एक विच्छेद परिवर्तन v2 रूपमा जहाज र आफ्नो कोड काम राख्छ.

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 — बार न्यायाधीश तपाईंलाई राख्छ, शब्दशः वा नाम द्वारा: मानक, प्रकाशन, औपचारिक, पुरस्कार, निर्णय. एक अज्ञात preset सट्टा मौन पूर्वनिर्धारित लागि साटासाट अस्वीकार छ — एक मानक विरुद्ध न्याय भइरहेको तपाईं लागि सोधेनन् एक त्रुटि भन्दा खराब छ.
  • seats — दुई छ बहस सीटहरू, प्रत्येक एक मोडेल आईडी GET /api/v1/models/ र एक वैकल्पिक धारणा देखि।
  • referee — मापदण्ड मा नियम र प्रमाण पुन-चेक गर्छ कि मोडेल। मा खर्च लायक।
  • max_rounds, usd_ceiling — कठिन सीमा. छत पुग्न यसलाई पछिल्लो खर्च भन्दा बरु match पज, र एक पज match यो रोकिएको कहाँ ठीक पुन: सुरु.
  • public — सार्वजनिक ग्यालरी गर्न समाप्त match प्रकाशित.
GET /api/v1/matches/{token}/

सम्पूर्ण match: स्थिति, स्वीकार मापदण्ड र कसरी प्रत्येक बसोबास थियो, स्थापित परिणाम को लेजर, हरेक शासन पछाडि प्रमाण, र फैसला एक पटक त्यहाँ एक छ. एक match घण्टा मिनेट लागि चल्छ, त्यसैले मतदान हरेक केही सेकेन्ड जबकि बाँच्न - प्रतिक्रिया जब रोक्न तपाईं बताउँछ.

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

स्थिति: लामबद्ध, चलिरहेको, पज गरिएको, आवश्यकता_धन, समाधान गरिएको, समाप्त, अड्किएको, असफल । अन्तिम चार टर्मिनल हुन्; पज गरिएको, आवश्यकता_धन, समाप्त र अड्किएको पुन: निरन्तरता दिन सकिन्छ ।

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

एक रोकिएको दिनुहोस् match थप राउन्ड वा थप बजेट। प्यानल स्थापित सबै राखिएको छ - परिणाम एक पटक एक लेजर लेखिएको छन् र कहिल्यै पुन: उत्पन्न, र रेकर्ड deadends पहिले नै असफल भएको दृष्टिकोण मा फिर्ता हिंड्न रोक्न।

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

हरेक असफलता एउटै आकार छ। कोडमा शाखा, जो स्थिर छ; सन्देश कविता हो र reworded हुन सक्छ।

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

401 एक हराइरहेको वा रद्द कुञ्जी लागि, 402 जब शेष खाली छ, 404 तपाईंको छैन कि एक टोकन लागि, 409 पहिले नै चलिरहेको छ कि एक match लागि, 429 जब तपाईं धेरै छिटो जाँदै, 400 लागि केही लागि अनुरोध आफै गलत भयो।

दर सीमा

प्रति कुञ्जी गणना: 240 पढ्छ र 30 match एक मिनेट सुरु. उद्देश्य मा लचिलो - के वास्तवमा एक match सीमित यो आफ्नो शेष खर्च छ, र यी एक retry लूप वा एक poller फ्ल्याट बाहिर चलिरहेको रोक्न यहाँ छन्. सीमा भन्दा तपाईं प्राप्त 429; एक चलिरहेको match मतदान सट्टा निरन्तर हरेक केही सेकेन्ड.

बिलिङ साइट समान छ: तपाईं प्रति-मॉडल दर प्रकाशित प्रति टोकन तिर्नु पर्छ, पूर्व-पठाइएको क्रेडिट वा आफ्नो आफ्नै कुञ्जी देखि. बिलिङ कसरी काम गर्दछ