Guest API 400 Bad Request on POST /api/v2/webmessaging/guest/messages

How do I set the guestId correctly when calling the Guest API directly?

I’m building a custom web chat UI without the widget. I created a guest via POST /api/v2/webmessaging/guests and got an ID. Now I’m sending this to send a message:

{
 "channelId": "abc-123",
 "guestId": "xyz-789",
 "message": "Hello"
}

The API returns a 400 Bad Request with error code 40001. The docs say the guest must exist, but it does. What am I missing?