#24152 [Bug]: Key-level per-model rate limits (model_rpm_limit/model_tpm_limit) don't trigger fallbacks
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
When an API key has per-model rate limits (model_rpm_limit / model_tpm_limit) and a request exceeds the limit for a specific model, the configured fallback model is never attempted. Instead, the request returns a 429 without trying the fallback. This was reported in #10052 which was closed without full resolution.
### Steps to Reproduce
1. Create an API key with per-model rate limits: ``` { "model_rpm_limit": { "gpt-5.1": 1, "gpt-5.2": 100000 } } ``` 2. Make a successful request to exhaust the 1 RPM budget: ``` client.chat.completions.create( model="gpt-5.1", messages=[{"role": "user", "content": "Say hi"}], extra_body={"fallbacks": ["gpt-5.2"]} ) # ✅ Succeeds ``` …