POST /conversations/conferences/{id}/disconnect not removing participant from active span context

I’m trying to programmatically disconnect a specific participant from an active conference call to trigger a state change in my OpenTelemetry pipeline. The goal is to capture the exact moment a user leaves the mix so I can end their specific trace span in Jaeger.

I’m using the Genesys Cloud Python SDK. Here’s the snippet:

from genestack.platform.client import api

conference_id = "conf-12345"
participant_id = "part-67890"

# Attempt to disconnect
try:
 response = api.conversations_api.post_conversations_conferences_disconnect(
 conference_id=conference_id,
 body=genestack.platform.client.models.ConferenceParticipantDisconnectRequest(
 participant_id=participant_id
 )
 )
 print(f"Disconnect response: {response}")
except Exception as e:
 print(f"Error: {e}")

The API call returns a 200 OK. The participant is definitely gone from the conference UI. However, when I look at the WebSocket notification stream for conversation:conference:participant:removed, the event arrives, but the context object inside the payload is missing the traceparent header I injected earlier via a Data Action.

I verified the injection works for standard API calls. Is the disconnect endpoint stripping the conversation context before emitting the webhook event? Or am I missing a parameter in the ConferenceParticipantDisconnectRequest to preserve the tracing metadata?

I’ve tried adding a custom X-Correlation-Id header to the HTTP client, but that doesn’t seem to propagate to the event payload either. The span for the disconnected user just hangs as ‘active’ in my backend.