# X_RATE_LIMIT_BUCKET_CONFLICT

## Means

one bucket has two declarations that disagree

## Typical cause

an action's `rateLimit` and a `rateLimit.buckets.<name>` entry passed to `configureHttp()` name different numbers, or two routes claim one bucket name. Refused at `httpServer`/`httpPipeline`, **before the socket opens** — picking a winner leaves the loser a number someone reads and nothing applies. An identical restatement passes

## Fix

**one edit, not a choice**: delete `rateLimit.buckets.<name>` from the app's `configureHttp()` call. The route is authoritative because it sits beside the handler and is what the OpenAPI operation publishes, so a config entry duplicating it is the copy that goes stale — the cause says so, and says which numbers came from where

[HTTP](/error-codes#http)
