Skip to main content
HTTP status: 409 · Title: “Client request id conflict”

When it fires

You sent a clientRequestId in the body of POST /v1/trades that you already used for an earlier trade with a different body. Once you opt in, a clientRequestId is unique per user.

Why it happens

  • clientRequestId is a body field with stricter semantics than the Idempotency-Key header: it deduplicates against your trade history and does not expire. Most callers only need the header.
  • A bug rebuilt the body but kept the same clientRequestId.

How to fix

  • For most use cases, rely on Idempotency-Key alone. See Idempotency.
  • If you use clientRequestId, generate a fresh value for each logical trade.
  • The detail field references the earlier trade. Fetch it with GET /v1/trades/{id} to see what was submitted.