Skip to main content
Bluejay accepts OpenTelemetry traces and shows each trace next to the simulated conversation that you link it to. If you are linking traces to production calls, see Traces.

Export traces to Bluejay

Bluejay accepts traces from any OpenTelemetry-compatible library, for example OpenInference, OpenLLMetry, or Langfuse. Using a voice framework? Its integration page can show a framework-specific setup.
1

Get an API key

Create one as described in Get an API key.
2

Install the packages

3

Point the exporter at Bluejay

Send spans over OTLP HTTP to https://otlp.getbluejay.ai/v1/traces, with your API key in the X-API-KEY header:
4

Instrument your LLM client

For example, the OpenAI client:
To show a trace next to its simulated conversation, send Bluejay the trace IDs for that call.
  1. Read the X-Simulation-Result-Id that Bluejay sends with each simulated call. It arrives as a SIP header, a WebSocket upgrade header, or in a form that your integration page describes.
  2. Collect the trace IDs that your agent creates during the call.
  3. After the call ends, call tracer_provider.force_flush(). If you skip this, the trace can be missing.
  4. Send simulation_result_id and trace_ids to POST /v1/update-simulation-result.
Last modified on October 21, 2026