Quickstart
Every capability lives behind one base URL:
https://api.olaverselab.com-
Create an API key. Sign in to the developer console, open API keys and create one. It is shown once, so store it somewhere safe.
-
Set your environment.
Terminal window export OLAVERSE_URL="https://api.olaverselab.com"export OLAVERSE_KEY="your-key" -
Make a call. This asks whether a customer wants a refund:
Terminal window curl -X POST "$OLAVERSE_URL/v1/decide" \-H "Authorization: Bearer $OLAVERSE_KEY" \-H "Content-Type: application/json" \-d '{"state": "I was charged twice, please refund me","questions": {"refund": {"type": "noul", "instructions": "The customer asks for money back."}}}'import os, requestsURL = os.environ["OLAVERSE_URL"]HEADERS = {"Authorization": f"Bearer {os.environ['OLAVERSE_KEY']}"}def call(path, body):r = requests.post(f"{URL}{path}", json=body, headers=HEADERS, timeout=120)r.raise_for_status()return r.json()result = call("/v1/decide", {"state": "I was charged twice, please refund me","questions": {"refund": {"type": "noul", "instructions": "The customer asks for money back."}},})print(result["answers"]["refund"]["noul"]) # e.g. 0.97
The rest of these docs use the small call helper above in their Python examples.
What’s available
Section titled “What’s available”| What you want | Endpoint | Billed per |
|---|---|---|
| Typed decisions about a message or record | POST /v1/decide |
decision |
| A document as JSON, with a confidence per field | POST /v1/extract |
document |
| The language of a text (608 languages) | POST /v1/language-id |
text |
| Diacritics and tone marks restored (11 languages) | POST /v1/diacritize |
1,000 characters |
| Search-style questions from a passage (25 languages) | POST /v1/questions/generate |
passage |
| What’s available | GET /v1/models |
free |
Each POST endpoint also has a /batch version. Every billable response includes a usage block in its billing unit.
