Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kash.bot/llms.txt

Use this file to discover all available pages before exploring further.

HTTP status: 409 · Title: “Client request id conflict”

When it fires

The same (user_id, clientRequestId) body pair was used for an earlier trade with a different body. The trade row is unique on (user_id, clientRequestId) once you opt in.

Why it happens

  • Power-user mistake: clientRequestId is a body field with stricter conflict semantics than the HTTP Idempotency-Key header. Most callers should use the header; opt into clientRequestId only if you specifically want trade-row-scoped dedup.
  • A bug regenerated the body but kept the clientRequestId constant.

How to fix

  • For most use cases, drop clientRequestId and use only Idempotency-Key. See apps/public-api/README.md § Idempotency.
  • If you need clientRequestId’s row-scoped dedup, generate a fresh value per logical operation.
  • The conflicting trade row is referenced in the detail field — fetch it via GET /v1/trades/:id to see what was previously submitted.