← Kiosk specification

Kiosk problem types

Every error Kiosk puts on the wire is an RFC 9457 problem document, and its type member is one of the URIs below — https://kiosk.tech/problems/<code>, one per vocabulary entry. These pages are what those URIs dereference to.

The URI is a name, not the contract. An AI assistant MUST branch on the problem document’s code member and MUST NOT parse type to recover it. The normative definition of every code is the error vocabulary in the specification and §9 of the formal spec; these pages restate it for a human who pasted the URI into a browser.

The vocabulary is closed: these seventeen codes are the whole of it, and a schema-validating client rejects anything else. Adding one is a wire change, and the spec goes first.

typeHTTPtitle
bad_request400Malformed request
unauthenticated401Not authenticated
pow_required402Proof-of-work required
payment_setup_required402Payment setup required
payment_failed402Payment failed
forbidden403Forbidden
rls_denied403Row-level security denied the statement
spending_cap_exceeded403Spending cap exceeded
kyc_required403KYC attestation required
verb_not_found404No such verb
not_found404Not found
method_not_allowed405Method not allowed
conflict409State conflict
quota_exceeded429Quota exceeded
action_failed500Action failed
internal_error500Internal error
module_not_served501Module not served