← All Kiosk problem types

conflict

HTTP 409   title: State conflict

What it means

The request is well-formed and permitted, but the resource is not in a state that accepts it — registering a public key that is already registered, or a pay re-presenting a mandate chain already processed for this user_id.

What to do next

On registration, use POST <endpoint>/auth/login instead — the key is already known. On pay, the chain was already processed: that is the idempotency guard doing its job, so treat the original settlement as authoritative rather than re-presenting a fresh chain.

On the wire

{
  "type":   "https://kiosk.tech/problems/conflict",
  "title":  "State conflict",
  "status": 409,
  "detail": "… what went wrong on THIS request …",
  "code":   "conflict"
}

This page documents the RFC 9457 type URI https://kiosk.tech/problems/conflict. The URI is an identifier, not a locator a client should fetch: branch on the document’s code member. The normative definition lives in the error vocabulary of the Kiosk specification (§9 of the formal spec).