API reference
Send requests to https://racksort.com/api/v1 with Authorization: Bearer <key> and JSON bodies.
Endpoints
| Endpoint | Credential | Purpose |
|---|
POST /api/v1/decide | API key | Decide one request. |
GET /api/v1/decisions | None | The decisions, their questions and qualification status. |
GET /api/v1/decisions/{id} | None | One decision with its request schema. |
GET /api/v1/model | None | The model identity and every qualification in force. |
GET /api/v1/evals | None | Published evaluation results. |
GET /api/v1/openapi.json | None | The OpenAPI document. |
Request
Every request names a decision and a proposal with its operation, plus the fields that decision reads. Unknown fields are rejected. Quantities are decimal strings such as "12.5"; instants are ISO 8601 with an offset. See Decisions for each schema.
Response
| Field | Meaning |
|---|
verdict | One of the five verdicts below. |
state | The subject's state where the specification names one, such as Uncertain. |
next | action, text and, when a person acts, role. |
facts | What the rules computed: quantities, versions, attempt outcomes. |
questions | Every evidence question asked, with its answer, probabilities, status, threshold and error bound. |
clauses | The specification sentences applied, verbatim. |
spec, model, engine | What produced the verdict. |
Verdicts
| Verdict | Meaning |
|---|
allow | Run the operation as proposed. |
replay | It already ran. Return the existing result and apply nothing again. |
reject | It breaks a rule of the specification. Do not run it. |
review | A named role decides before anything runs. |
reconcile | An earlier outcome is unknown or the evidence is stale. Establish it first. |
Question statuses
| Status | Meaning |
|---|
certified | The answer cleared its qualified threshold and settled the fact. |
below_threshold | Qualified, but this answer was not confident enough. |
unqualified | No qualification exists for the running model. |
model_unavailable | No model answered. |
context_too_long | The evidence exceeded the model's input limit. |