> ## 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 17, 2026

> Your agent sends the request's fields. Connect in one click or with a key. Higher limits.

This release changes the request. Your agent turns what the user said into
the request's fields, and Kviria finds the place from them. A call in the
October 10 shape is refused with a 400 that says what to send instead.

The request:

* Send `request`, the request type: `find`, `search`, `near`, `across`,
  `next_to`, `corner`, `street_end`, `pick` or `confirm`. Add the fields
  the user gave: `place`, `kind`, `streets`, `street`, `address`, `side`,
  `pick` or `answer`. Leave out every field the user did not give. The
  [skill](https://kviria.com/skill.md) says what each type needs.
* `state`, `anchor`, `rangeM` and `confirmation` work as before.
* To refer to a place from an earlier answer, send `place` as
  `{ "ref": ... }` with that place's `gers`.
* A call with `transcript` gets `400 transcript_removed`. Kviria never
  receives the user's words.
* A request without what its type needs gets `400 invalid_request`, and
  the message names what is missing. It is not counted.
* Any other field gets a `400` whose message names it. `intent`,
  `candidates`, `references` and `frame` stay retired.
* The MCP tool `kviria` takes the same fields. The MCP server is version
  2.0.0.

The answers:

* Five decisions: `one`, `one_unconfirmed`, `many`, `none` and `unclear`.
* Every place in an answer carries `direction`, its quadrant from the
  user: `northwest`, `northeast`, `southwest` or `southeast`.
  `not_a_place_request` is no longer returned: your agent decides which
  turns are about a place, and calls Kviria only for those.
* `503 parser_unavailable` is gone.

Access:

* Every call belongs to a Kviria account, with no email and no password.
  MCP clients such as Claude and ChatGPT connect in one click with OAuth.
  Voice platforms, scripts and SDKs send a Kviria key
  (`Authorization: Bearer kvr_...`) from
  [api.kviria.com/key](https://api.kviria.com/key). See
  [Connect and pay](https://docs.kviria.com/guides/connect-and-pay.md).
* The wallet sign-in (`SIGN-IN-WITH-X`) is gone. A call without a key or
  token gets `401 unauthorized`.
* A wallet only pays: an x402 payment tops up the account's balance, and
  needs the account's key or token on the same call. `402
  payment_required` is no longer returned.
* Balances and free turns from the wallet sign-in do not carry over.

Limits:

* An account without a balance gets 600 free turns a day. A wallet got
  50\. It gets 60 turns a minute. It was 5.
* An account with a balance gets 1,800 turns a minute. It was 10.
* A turn outside coverage now counts toward the free turns. It is still
  never charged.

Price: unchanged. A paid turn costs \$0.01, and a turn that fails or is
refused with a `400` is never charged.

The [skill](https://kviria.com/skill.md), the tool definition and these
docs are rewritten for the new request. See the
[agent API](https://docs.kviria.com/api/agent.md) and the [errors](https://docs.kviria.com/api/errors.md).


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