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).