> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kviria.com/llms.txt
> Use this file to discover all available pages before exploring further.

# October 10, 2026

> Send the user's words and a signed state. The decisions get new names.

This release changes the request. A call in the old shape is refused
with a 400 that says what replaced each field.

The request:

* Send the user's whole turn as `transcript`, word for word. Kviria
  reads it. `intent` is no longer accepted.
* Send the `state` of the last response on every call, and an empty
  string on the first. It replaces `candidates`, `references` and
  `frame`.
* Send `anchor` on the first call, and after that only when the user
  moves.
* `rangeM` is 50 to 350 meters. It was up to 1,000. The default stays
  100\.
* A transcript may be one character, such as "2" for a pick.
* The MCP tool `kviria` takes the same fields.

The answers:

* Six decisions: `one`, `one_unconfirmed`, `many`, `none`,
  `unclear` and `not_a_place_request`. They replace `resolved`,
  `confirm`, `candidates`, `notFound` and `clarify`. The last one
  means the words are not about a place, so your agent replies itself.
* A place the user named only in part comes back as
  `one_unconfirmed` without its location. The location comes with
  the user's yes.
* When the kind of place the user asks for matches no kind of place in
  the area, the answer is `unclear`, so your agent asks the user. Kviria
  does not claim that nothing is there.
* A general kind, such as "a restaurant", also finds its narrower
  kinds in the area, such as a pizza restaurant, even where no place
  is listed as just a restaurant.
* When the user says left or right, the answer gives the places on both
  sides and an evidence entry, `side_not_used`. Kviria does not know
  which way the user faces. Ask which one they mean.
* Kviria no longer leaves out a kind of place the user excludes, such
  as "but not an American one". Each candidate carries its category, so
  your agent can leave those out itself.
* An answer relative to another place carries `baseDistanceM`. An
  answer across a street carries `acrossStreet` when the user named the
  street, or when the place is on a corner.
* On a later call, an `anchor` that is the coordinate of a place, a door
  or a street corner from the area does not move the search. Kviria
  keeps the earlier position, and the evidence says so.
* When Kviria cannot read a turn right now, the answer is a `503` with
  `parser_unavailable` and the state. Do not retry the call. Tell the
  user you cannot look it up right now and to ask again in a moment.

Speed: most turns answer in one to two seconds. Set your tool timeout
to at least 20 seconds.

Limits: a wallet with a balance gets 10 turns a minute. It was 5. The
free turns are unchanged: 50 a day for a wallet without a balance.

Price: a paid turn now costs \$0.01. It was \$0.005. The smallest top-up
is one turn's price, \$0.01. A failed turn, or one that is not about a
place, is never charged.

The Playground's replies are now written by an AI assistant that
calls the same `kviria` tool your agent calls.

The docs are rewritten for the new request and reorganized into
guides, concepts and reference. The old how-it-works pages redirect to
their new places. The [skill](https://kviria.com/skill.md) is
rewritten too.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.