Web Messaging Guest API: Typing indicators not persisting to agent view

I’m trying to wire up typing indicators and read receipts for a custom web client using the Guest API. The chat connects fine, and messages flow in both directions, but the typing events seem to get swallowed or ignored by the platform.

I’m sending the events via the standard POST endpoint:

const response = await fetch(`${baseUrl}/api/v2/guest/conversations/messaging/events`, {
 method: 'POST',
 headers: {
 'Authorization': `Bearer ${token}`,
 'Content-Type': 'application/json',
 'X-Genesys-Request-Id': uuidv4()
 },
 body: JSON.stringify({
 conversationId: 'conv-123',
 type: 'typing',
 data: {
 typing: true
 }
 })
});

The API returns a 202 Accepted, which looks good on the surface. I’ve checked the response headers and there are no errors. But when I look at the agent desktop or query the conversation messages via /api/v2/conversations/messaging, the typing indicator doesn’t show up in the message list, and the agent doesn’t see the “user is typing” banner.

Is the Guest API even supposed to support these real-time soft events, or do I need to be using the WebSDK for that? The docs are a bit sparse on the exact payload structure for typing vs read events in the guest context. I’ve also tried adding a timestamp field manually, but that didn’t change anything.