POST /v1/agent, or connect the
MCP server. Both answer the same way.
How a turn works
Each call carries three things:- the request: its type (
find,search,near,across,next_to,corner,street_end,pickorconfirm) and the fields the user gave, such asplace,kindorstreets. state: thestatefield of the previous response. Send an empty string on the first call.anchor: the user’s position. Send it on the first call, and after that only when the user moves.
decision:
The user’s next turn becomes the next call, with the new
state. The
conversation narrows until one place remains. See
Narrowing.
Why your agent needs it
A language model guesses places. It invents coordinates, distances and names. Kviria answers only with places that exist in its map data, and returns their names, categories, distances and coordinates as it has them. Each answer lists the checks behind it in anevidence array (see
Determinism and evidence).
When the user names a place only in part, its coordinate waits for the
user’s yes (Confirmation). When nothing matches,
the answer is none. Kviria does not make up a place to fill the gap.
Coverage
Kviria is in beta and covers the contiguous United States: latitude 24.4 to 49.5, longitude -125.0 to -66.8. A position outside it getsnone with
an out_of_coverage evidence entry, and that turn is never charged. See
Coverage.
Your first call
$KVIRIA_KEY is a key from api.kviria.com/key.
MCP clients connect in one click instead: see
Connect and pay. The Quickstart
walks through a whole conversation. To try Kviria without code, open
the Playground. Your agent can also read the
skill directly.