Is there a specific sequence required to push typing indicators and read receipts through the guest endpoint?
{
“conversationId”: “conv-88a2f-19b3”,
“participantId”: “guest-xyz-990”,
“typing”: true,
“read”: false
}
POSTing this to /api/v2/conversations/messaging/typing keeps returning a 400 Bad Request. The payload matches the docs exactly, but the response body just says “error”: “Invalid participant state”. We’ve been hammering this endpoint for two days. The agent side sees the messages fine, but the UI never shows the little typing dots or the read receipt checkmarks.
Tried swapping the boolean flags to strings, then back. Nothing changes. The guest token refreshes every hour and we grab a fresh one before each call. Maybe the guest API doesn’t actually support these signals anymore? Console logs show the request hitting the gateway, but the routing queue never updates the participant metadata.
Running this from a standard Node express server behind the load balancer. PST isn’t the issue here. It’s just the payload structure. Hitting the /api/v2/conversations/messaging/messages endpoint right after works instantly. Only the indicators fail. Headers look fine. Timeout settings are default.
Does the guest API require a separate session handshake before typing events stick? Network tab shows standard bearer auth. The 400 error doesn’t give a clear field name to fix. Just keeps bouncing back. Wondering if the read receipt needs a different path entirely. The docs are pretty thin on this part. Just keep getting the 400 back.