I/O timeout (OpenAI)

What engineers usually see

  • Request times out waiting for I/O
  • No response within expected timeframe
  • SDK throws timeout exception
  • Cannot determine if provider received request

Why this is hard to debug

I/O timeouts are client-side. They don't indicate what happened upstream. Provider might have responded but the response didn't arrive in time. Receipts provide provider-side ground truth.

Minimal repro

from openai import OpenAI
from openai import APITimeoutError

client = OpenAI(
    api_key="YOUR_OPENAI_KEY",
    base_url="https://aibadgr.com/v1",
    timeout=10.0
)

try:
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": "test"}]
    )
except APITimeoutError:
    print("Request timed out")

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

  • Provider response time
  • Network latency breakdown
  • Whether provider completed request
  • Token usage despite timeout
  • Recommended timeout settings

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.