Stream interrupted mid-response

What engineers usually see

  • Stream is actively sending chunks
  • Connection abruptly closes or errors
  • Partial response already delivered to client
  • Unclear if retries will duplicate the partial output

Why this is hard to debug

When a stream gets interrupted, you lose all context about what was sent, why it stopped, and whether retrying is safe. Without receipts tracking bytes delivered and the failure reason, you might end up with duplicate content or just miss responses entirely.

Minimal repro

curl -N 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": "Write a long story"}],
    "stream": true
  }'

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

  • Bytes delivered before interruption
  • Interruption reason (timeout, connection reset, etc)
  • Whether partial response was tokenized
  • Cost of partial response
  • Safe retry guidance (idempotency info)

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.