We are hitting a wall trying to implement typing indicators for our custom agent desktop using the Genesys Cloud Web Messaging Guest API. The goal is simple: when an agent starts typing, we want to send a signal to the guest widget so they see the “typing” animation.
We have the conversation ID and the participant ID from the active conversation object. We are constructing a POST request to /api/v2/conversations/messaging/typing. The documentation says we need an OAuth token with conversations:messaging:write scope. We are using the same token that successfully creates messages via /api/v2/conversations/messaging/messages.
Here is the payload we are sending:
{
"conversationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"participantId": "p9q8r7s6-t5u4-3210-wxyz-9876543210ab",
"text": "Agent is typing..."
}
The response we get back is consistently a 401 Unauthorized.
We’ve checked the following:
- The token is not expired. We regenerate it every 55 minutes.
- The scope
conversations:messaging:writeis definitely present in the token claims. - The participant ID matches the agent’s participant ID in the conversation, not the guest’s. We thought maybe we needed the guest ID, but that doesn’t make sense for an agent-initiated event.
- We tried sending the request from Postman with the same token and got the same 401.
Is this endpoint actually supported for agent-side typing indicators? Or is this strictly for guest widgets to notify the platform? The docs are a bit vague on who can call this. We are using the .NET SDK for other parts of the app, but for this specific call, we are using raw HTTP via HttpClient to avoid any SDK abstraction issues.
We are in the US/Pacific timezone, but that shouldn’t matter. The conversation is active and in the “open” state. We can send text messages fine. Just the typing indicator fails with auth error.