Get started
A8 documentation
Call A8 from the OpenAI or Anthropic SDK, or from an MCP host, and get verdicts at the accuracy you set.
This page as Markdown: https://u22a8.ai/docs.md. The index of every docs page: https://u22a8.ai/llms.txt.
A8 (Touchstone) is an evaluation model with a chat-model interface. You state a criterion in plain words and send a subject, and A8 returns a verdict where its evidence meets the minimum accuracy the request sets.
A first verdict
The system message is the criterion. The user message is the subject. The schema is the verdict’s shape:
curl https://api.u22a8.ai/eval/v1/chat/completions \
-H "Authorization: Bearer $U22A8_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "a8",
"messages": [
{"role": "system", "content": "Does the reply promise a refund?"},
{"role": "user", "content": "We will refund you in full by Friday."}
],
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "verdict",
"schema": {
"type": "object",
"properties": {"refund": {"type": "boolean"}}
}
}
}
}'
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.u22a8.ai/eval/v1",
api_key=os.environ["U22A8_API_KEY"],
)
resp = client.chat.completions.create(
model="a8",
messages=[
{"role": "system", "content": "Does the reply promise a refund?"},
{"role": "user", "content": "We will refund you in full by Friday."},
],
response_format={
"type": "json_schema",
"json_schema": {
"name": "verdict",
"schema": {
"type": "object",
"properties": {"refund": {"type": "boolean"}},
},
},
},
)
print(resp.choices[0].message.content) # the verdict
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.u22a8.ai/eval/v1",
apiKey: process.env.U22A8_API_KEY,
});
const resp = await client.chat.completions.create({
model: "a8",
messages: [
{ role: "system", content: "Does the reply promise a refund?" },
{ role: "user", content: "We will refund you in full by Friday." },
],
response_format: {
type: "json_schema",
json_schema: {
name: "verdict",
schema: {
type: "object",
properties: { refund: { type: "boolean" } },
},
},
},
});
console.log(resp.choices[0].message.content); // the verdict
The verdict is the message content:
{"refund": true}
Recorded from a8-1-1@20260715t140322z on 2026-10-22.
A8 answered at the default minimum accuracy of 90, or at the next level up it has earned: at least that share of the verdicts it returns at the level is correct. The response’s min_accuracy names the level. A case whose evidence falls short of it comes back as an abstention.