Skip to main content
Kviria’s error surface is machine-readable on purpose: an agent that can parse the failure can fix the request itself.

HTTP status codes

A 400 starting with siwx_invalid: means the sign-in itself was rejected (stale nonce, wrong domain, bad signature) - build a fresh one and retry once.

400 messages

A rejected request names the exact field to fix. The messages you will see: Treat a 400 as a conversation, not a dead end: fix, retry once. The authoritative schema lives in the tool definition.

Honest answers that are not errors

  • notFound - nothing matched (may carry the absent category)
  • clarify - the reference was too vague; ask the user
  • Outside beta coverage (San Francisco) - a notFound, not an error