Answer contract
This is the product difference.
{
"ok": true,
"answer": "£100.00 = €116.89",
"say": "A sentence you could read aloud.",
"yes": true
}
Then the domain fields (rate, converted, holidays, …). Then docs, next, source, took_ms.
| Query | Result |
|---|---|
format=text |
answer as text/plain |
Accept: text/plain |
same, unless you also send application/json |
format=csv |
table endpoints (holidays, forecast, FX rates, crime categories, planets) |
format=md |
Markdown of answer and say for Slack |
format=svg |
1200×630 share card of the sentence |
format=svg&badge=1 |
Shields-style README badge (odrix | live answer). Cached five minutes. |
fields=answer,yes |
shrink JSON |
view=full or deep=1 |
extra wind, air, uv, feel on weather |
include=wind,air,planets |
pick extras |
where= |
postcode or lat,lon |
GET /v1/dialect returns this table as JSON. Try it is the live demo that shows why.
Errors use "ok": false and a hint that tells you how to fix the query.
Vibe classify POST is still a JSON array for compatibility. Everything GET is answer-first.