API

ყველაფერს, რასაც საიტი HTTP- ზე აკეთებს: აცხადებს მოთხოვნას და ბარათს, რომელიც უნდა გაწმინდოს, თავსდება პანელზე და კითხულობს სანამ რეფერენტი ყველა კრიტერიუმს არ დააკმაყოფილებს. იგივე პანელი, იგივე გადახდა, იგივე ხარჯვის საზღვრები - ბრაუზერის გარეშე.

Your keys

კოდები თქვენი ანგარიშიდან იქმნება. შედით ან შექმნეთ ახალი ანგარიში - ახალი ანგარიშები მიიღებენ დაწყების კრედიტს, რომელიც საკმარისია რეალური match- ისთვის.

რეგისტრაცია შესვლა
ავთენტიფიკაცია

კოდის როგორც ნეიტრალური ტოკენის გაგზავნა ყოველ მოთხოვნაზე. ეს არის რეგისტრაციის ნომერი, რომელიც შეიძლება თქვენი ბალანსის ხარჯზე გავიდეს, ამიტომ ის პაროლის მსგავსად უნდა იქნას მიჩნეული: მხოლოდ სერვერის მხარეს, არასდროს ბრაუზერში, არასდროს საწყობში. გაჟონული კოდი ამ გვერდიდან იშლება და მუშაობა დაუყოვნებლივ წყვეტს.

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

ბაზული URL: https://theorem.chat/api/v1/. მოთხოვნები და პასუხები JSON- ია. ვერსია არის გეზის ში, ასე რომ შეცვლა 2- ში გადადის და თქვენი კოდი მუშაობს.

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 — the claim, in your own words. Required.
  • rigor / rigor_preset — ბარიერი, რომლის მიხედვითაც სამართალდამცველი განიხილავს თქვენს საქმეს, სიტყვასიტყვით ან სახელის მიხედვით: სტანდარტული, გამოქვეყნებული, ფორმალური, პრიზი, გადაწყვეტილება. უცნობი წინასწარ დაყენება უარყოფილია, ვიდრე ნაგულისხმევი პარამეტრების ხმაურიანი შეცვლა - სამართალდამცველის მიერ აკრძალული სტანდარტის მიხედვით განიხილება, რაც შეცდომაზე უარესია.
  • seats — 2-6 დებატირებული ადგილი, თითოეული მოდელის id GET /api/v1/models/-დან და შესაძლებელი პოზიცია.
  • referee — the model that rules on the criteria and re-checks the evidence. Worth spending on.
  • 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 — publish the finished match to the public gallery.
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/

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"}'
The rest
  • GET /api/v1/ — what exists, so a client can find its way without this page.
  • GET /api/v1/models/ — seatable models with their tier, context window and per-million-token rates. Same list, as a page.
  • GET /api/v1/matches/ — თქვენი matches, ახალი პირველი; ფილტრის მიხედვით სტატუსი, გვერდი საზღვრით და offset.
  • GET /api/v1/account/ — balance, lifetime spend and whether you are on prepaid credit or your own inference key.
  • 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- ს ყოველ რამდენიმე წამში, არამედ მუდმივად.

1999 წელს გამოვიდა მისი პირველი ალბომი, სახელწოდებით „The Way You Make Me Feel“. იგი შეიცავს სიმღერებს „The Way You Make Me Feel“, „The Way You Make Me Feel Good“ და „The Way You Make Me Feel Good“. როგორ მუშაობს გადარიცხვა