API

Ό,τι κάνει η ιστοσελίδα, πάνω από HTTP: να δηλώσει μια απαίτηση και τη γραμμή που πρέπει να καθαρίσει, να βάλει μια ομάδα, και να δημοσκοπήσει μέχρι ο διαιτητής να έχει τακτοποιήσει κάθε κριτήριο. Ίδιος πίνακας, ίδια χρέωση, ίδια όρια δαπανών.

Τα κλειδιά σου.

Keys are created from your account. Sign in, or create one — new accounts get starting credit, which is enough for a real 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 — the claim, in your own words. Required.
  • rigor / rigor_preset — η γραμμή που σας κρατάει ο διαιτητής, με ειλικρίνεια ή με όνομα: πρότυπο, δημοσίευση, επίσημη, έπαθλο, απόφαση. Μια άγνωστη προεπιλογή απορρίπτεται αντί να αλλάζει αθόρυβα για την προεπιλογή.
  • seats — δύο έως έξι θέσεις συζήτησης, το καθένα ένα μοντέλο ID από το GET /api / v1/models / και μια προαιρετική στάση.
  • referee — το μοντέλο που διέπει τα κριτήρια και ελέγχει εκ νέου τα αποδεικτικά στοιχεία.
  • max_rounds, usd_ceiling — Η προσέγγιση του ταβανιού σταματάει τους match αντί να ξοδεύει από αυτό, και ένας σταματημένος match συνεχίζει ακριβώς εκεί που σταμάτησε.
  • public — δημοσιεύει τα τελικά match στη δημόσια αίθουσα.
GET /api/v1/matches/{token}/

Ολόκληρο το 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 περισσότερες γύρους ή περισσότερα προϋπολογισμό. Ό, τι το πάνελ που έχει συσταθεί διατηρείται ~ τα αποτελέσματα είναι γραμμένα σε ένα βιβλίο κάποτε και ποτέ δεν επανεμφανίζονται, και καταγράφονται αδιέξοδα σταματήσει να περπατάει πίσω σε μια προσέγγιση που ήδη απέτυχε.

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 είναι ότι ξοδεύει την ισορροπία σας, και αυτά είναι εδώ για να σταματήσει μια επανάληψη ή μια δημοσκοπή τρέχει επίπεδη.

Η χρέωση είναι πανομοιότυπη με την ιστοσελίδα: πληρώνετε ανά μάρκα με το δημοσιευμένο ανά μοντέλο επιτόκιο, από προπληρωμένη πίστωση ή το δικό σας κλειδί. Πώς λειτουργεί η χρέωση