#5843·pipecat

Feature request: expose provider response/request ids (OpenAI Responses, Deepgram, ElevenLabs) without DEBUG logging

Author: mannyb223Created Sep 18, 2026Updated Sep 18, 2026

Feature request: surface the provider response id / request id for LLM (and TTS/STT) requests in a documented way

Why: when a provider has a slow or failed window (see #5842), the provider's support needs request ids to investigate. OpenAIResponsesLLMService receives the response id in response.created and keeps it in _current_response_id (services/openai/responses/llm.py ~L1096), and logs it only at DEBUG ("Response started: resp_…"). Running the whole process at DEBUG is not an option for us because the same module logs the full system instruction on every context frame at DEBUG (responses/llm.py ~L296; ours is ~12k tokens per turn), so in production we run INFO and the ids are lost.

Ask: a documented, public way to get the provider's response/request id per request without DEBUG logging, for example:

  • include it in the existing LLMUsageMetricsFrame / metrics data (alongside token counts), or
  • an event (on_response_started(service, response_id)), or
  • log the id at INFO on response.created.

Same for TTS/STT services where the provider returns a request id in headers (Deepgram's dg-request-id, ElevenLabs' request-id): today we cannot attach those to a stored call record either.

Happy to open a PR if you tell me which shape you would accept.