Elenchi. Sign In
API Reference

The engine, opened.

Programmatic access to the refutation engine. Ingest beliefs, run the Brigade, retrieve verdicts. Available to researchers, builders, and tool authors who have been granted API access.

§ I

Authentication

All API requests require a bearer token. Pass it in the Authorization header.

# Every request Authorization: Bearer el_live_your_token_here Content-Type: application/json

Tokens are scoped to a single user. They cannot read another user's beliefs, runs, or verdicts — the isolation guarantee is enforced at the token layer, not just the application layer.

Key prefix

Live keys begin el_live_. Test keys begin el_test_. Test runs do not write to your ground truth store and do not consume your monthly run quota.

§ II

Base URL

https://api.elenchi.org/v1

All endpoints below are relative to this base. The API is versioned at the path level. Breaking changes increment the major version; additive changes do not.

§ III

Rate Limits

TierIngestRuns / monthVerdicts / day
Research 500 beliefs / day 20 runs Unlimited
Builder 5,000 beliefs / day 200 runs Unlimited
Enterprise Negotiated Negotiated Unlimited

Rate limit headers are returned on every response: X-RateLimit-Remaining, X-RateLimit-Reset.

§ IV

POST /ingest

Submit one or more beliefs for inclusion in your Archive. Beliefs are tagged by Mise before being held for a run.

POST /v1/ingest
{ "beliefs": [ { "text": "Deliberate practice outperforms raw hours for skill acquisition.", "source": "obsidian://vault/notes/learning-models.md", "kind": "FACT" } ] }
FieldTypeDescription
text string Required The belief as a declarative statement. One claim per belief. Avoid hedges; the engine introduces them.
source string URI or reference to the note this came from. Stored but not transmitted to the Brigade.
kind enum Override Mise's tagging. One of: FACT, PREDICTION, VALUE, PREFERENCE. Omit to let Mise classify.
tags string[] Your own labels, passed through unmodified. Useful for filtering beliefs into a run.
§ V

POST /run

Start a Colosseum run against a selection of your beliefs. The Brigade prosecutes asynchronously; poll GET /verdict or subscribe to the webhook for completion.

POST /v1/run
{ "belief_ids": ["bel_a1b2", "bel_c3d4"], "webhook_url": "https://your-app.example/elenchi-webhook" }

Returns a run_id immediately. Runs typically complete in 90 to 240 seconds depending on belief count and Brigade depth.

Test mode

With a test key, runs return synthetic Brigade output in under two seconds. The synthesizer and Socrates both run; verdicts are not written to your ground truth store.

§ VI

GET /verdict/{run_id}

Retrieve the output of a completed run: Brigade findings, Clarity Index scores, Socrates' audit, and the synthesizer's presentation for each belief.

Note: the verdict object surfaces prosecution findings. It does not include a decision. The engine never rules. Your call to POST /verdict/{run_id}/pass with action keep, kill, or revise writes the decision.

§ VII

GET /beliefs

List beliefs in your Archive. Supports filtering by kind, tag, and ratification status.

GET /v1/beliefs?kind=FACT&ratified=true&limit=50
§ VIII

The Belief Object

FieldTypeNotes
idstringPrefixed bel_
textstringThe declarative statement as submitted
kindenumMise-assigned or user-overridden
clarity_indexnumber0.0 – 1.0. The VS Clarity Index score from the last run. Null if never run.
ratifiedbooleanTrue if you have issued a keep action against this belief
last_run_atISO 8601
created_atISO 8601
§ IX

Request API Access

The API is in private beta. Access is granted to researchers, tool authors, and teams building on top of the refutation engine. Describe your use case below.