429 error but request succeeded

What engineers usually see

  • Client receives 429 rate limit error
  • Request actually completed successfully on provider
  • Billing shows token usage despite error
  • Cannot reconcile error with successful execution

Why this is hard to debug

Rate limit responses can be returned after partial or complete processing. Standard logs show a 429 but don't reveal if work was done. Receipts show execution despite the error code.

Minimal repro

curl -v https://aibadgr.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_OPENAI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "test"}]
  }'

This request routes through AI Badgr and returns a stable request ID that links to an execution record.

Note: AI Badgr is OpenAI-compatible and works as a drop-in proxy. No SDK changes required — only the base_url changes.

What a per-request execution record makes visible

  • HTTP status code vs actual execution
  • Whether tokens were consumed
  • Cost incurred despite 429
  • Provider processing timeline
  • Whether retry is safe

Run 1 request → get receipt

Change your base URL to https://aibadgr.com/v1 and run your request.

The response includes an X-Badgr-Request-Id header that links to a receipt showing latency, retries, tokens, cost, and failure stage for that specific execution.

Not the engineer?
Share this page with your dev and ask them to run one request through AI Badgr. That's all that's needed to get the receipt.

This kind of thing only makes sense when you can actually see what happened to a single request from start to finish, instead of trying to piece it together from scattered logs.