A minimal chat request. userId, message and
plan are required; everything else is optional.
curl -X POST https://api.oorr.ai/api/tutor \
-H "Content-Type: application/json" \
-d '{
"userId": "student_4821",
"message": "اشرح قانون أوم بإيجاز",
"plan": "normal",
"modelTier": "basic",
"grade": "السادس العلمي",
"subject": "physics"
}'
const res = await fetch("https://api.oorr.ai/api/tutor", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
userId: "student_4821",
message: "اشرح قانون أوم بإيجاز",
plan: "normal",
modelTier: "basic",
grade: "السادس العلمي",
subject: "physics",
}),
});
if (!res.ok) {
const err = await res.json();
throw new Error(`${err.code}: ${err.error}`);
}
const data = await res.json();
console.log(data.answer);
console.log(data.inputTokens, data.outputTokens, data.totalTokens);
import requests
res = requests.post(
"https://api.oorr.ai/api/tutor",
json={
"userId": "student_4821",
"message": "اشرح قانون أوم بإيجاز",
"plan": "normal",
"modelTier": "basic",
"grade": "السادس العلمي",
"subject": "physics",
},
timeout=90,
)
if not res.ok:
err = res.json()
raise RuntimeError(f"{err['code']}: {err['error']}")
data = res.json()
print(data["answer"])
print(data["inputTokens"], data["outputTokens"], data["totalTokens"])
Set a generous timeout
Tutoring answers routinely take longer than a typical default. OORR's own
clients use a 90 second request timeout. Use
/api/tutor/stream if you want tokens as they are produced.
oorr / api platform