API

ทุกอย่างที่เว็บไซต์ทำผ่าน HTTP: แสดงการเรียกร้องและบาร์ที่มันต้องทำความสะอาด, ตั้งคณะกรรมการ, และโพลจนกว่าผู้พิพากษาจะตัดสินใจทุกข้อกำหนด เหมือนกันคณะกรรมการ, เหมือนกันบิล, เหมือนกันค่าใช้จ่ายจำกัด - ไม่เบราว์เซอร์

กุญแจของคุณ

กุญแจจะถูกสร้างขึ้นจากบัญชีของคุณ เข้าสู่ระบบ หรือสร้างบัญชีใหม่ - บัญชีใหม่จะได้รับเครดิตเริ่มต้น ซึ่งเพียงพอสำหรับ match จริง

ลงทะเบียน ล็อกอิน
การตรวจสอบสิทธิ์

ส่งกุญแจเป็นตัวแทนของผู้ถือกุญแจทุกครั้งที่ร้องขอ มันเป็นตัวยืนยันตัวตนที่สามารถใช้เงินของคุณได้ ดังนั้น จึงถือว่าเป็นรหัสผ่าน: ใช้เฉพาะด้านเซิร์ฟเวอร์เท่านั้น ไม่ใช้ในเบราว์เซอร์ ไม่ใช้ในแหล่งเก็บข้อมูล กุญแจที่หลุดออกมา จะถูกยกเลิกจากหน้านี้ และจะไม่ทำงานอีกต่อไป

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

URL พื้นฐาน: 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 — ระดับที่ผู้ตัดสินจะใช้คุณเป็นตัวอย่าง ตามคำพูดหรือตามชื่อ: ระดับมาตรฐาน, ระดับการพิมพ์, ระดับการจัดงาน, ระดับรางวัล, ระดับการตัดสินใจ ค่าที่ตั้งไว้ล่วงหน้าที่ไม่รู้จักจะถูกปฏิเสธ แทนที่จะเปลี่ยนเป็นค่าปริยายอย่างเงียบๆ - การถูกตัดสินด้วยมาตรฐานที่คุณไม่ได้ขอให้มันจะแย่กว่าความผิดพลาด
  • seats — 2 ถึง6ที่นั่ง ทุกที่นั่งมี id ของโมเดล จาก GET /api/v1/models/ และ สถานะที่เลือกได้
  • referee — แบบจำลองที่ใช้มาตรฐาน และตรวจสอบหลักฐานอีกครั้ง คุ้มค่าที่จะใช้เงิน
  • max_rounds, usd_ceiling — hard limits. Reaching the ceiling pauses the match rather than spending past it, and a paused match resumes exactly where it stopped.
  • 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": "…"
}

สถานะ: อยู่ในคิว, กำลังทำงาน, หยุดชะงัก, ต้องการเงิน, แก้ไข, หมดเวลา, ติดขัด, ล้มเหลว สถานะ4ตัวสุดท้ายเป็นสถานะท้าย; หยุดชะงัก, ต้องการเงิน, หมดเวลา และติดขัด สามารถทำต่อได้

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 สำหรับกุญแจที่หายไปหรือถูกยกเลิก 402 เมื่อสมดุลหมด 404 สำหรับท็อคเกอร์ที่ไม่ใช่ของคุณ 409 สำหรับ match ที่กำลังทำงานอยู่ 429 เมื่อคุณกำลังทำเร็วเกินไป 400 สำหรับสิ่งที่ผิดพลาดในการร้องขอ

ค่าจำกัดอัตรา

จำนวนปุ่ม: 240 ครั้งอ่าน และ 30 ครั้งเริ่มการทำงานของ match ในหนึ่งนาที ใช้ได้ง่าย - สิ่งที่จำกัด match จริงๆ คือมันใช้เงินของคุณ และนี่คือเพื่อหยุดการลองใหม่ หรือการทำงานของโปรแกรมโพลเลอร์ หากเกินกว่านี้ คุณจะได้รับ 429; โปรดโพลเลอร์ match ทุกๆ หลายวินาที แทนที่จะทำอย่างต่อเนื่อง

ค่าใช้จ่ายเหมือนกับที่เว็บไซต์ คุณจ่ายต่อชิ้น ตามอัตราที่ประกาศ สำหรับแต่ละโมเดล จากเครดิตที่จ่ายล่วงหน้า หรือกุญแจของคุณเอง วิธีการชำระเงิน