POST /api/v2/conversations/messages failing on Guest API implementation without Messenger widget

We’re implementing a direct Guest API integration to bypass the standard Messenger widget. The routing configuration in the admin UI handles the initial trigger without issues. The problem emerges when submitting messages programmatically. Current request structure: POST /api/v2/conversations/{conversationId}/messages with a basic JSON payload containing guestId and text. The endpoint returns a 403 Forbidden. Verified the OAuth token contains message:read and message:write scopes. Switched to a dedicated service account with full platform permissions, same outcome. The admin dashboard displays the conversation as connected, yet the REST call fails every time. Tried replacing guestId with a webMessaging channel identifier, which just shifts the response to a 400 Bad Request. Not sure what we’re missing on the channel initialization side. What’s the exact payload format required for programmatic guest submissions when the widget isn’t initializing the session? We need the messages to route into the existing queue without breaking the supervisor dashboard metrics. The payload structure just isn’t clicking.