Structured message payload rejected with 400 via Open Messaging API

Trying to push a quick reply card to a web messaging session using the Open Messaging API. The goal is to send a structured payload with multiple options, but the server keeps rejecting it with a 400 Bad Request.

I’ve been referencing the docs for application/vnd.nice.cxm.openmessage+json. Here’s the payload I’m sending to /api/v2/conversations/messaging/{conversationId}/messages:

{
 "type": "message",
 "text": "Select an option",
 "structuredMessage": {
 "type": "quickReply",
 "options": [
 { "text": "Option 1", "value": "opt1" },
 { "text": "Option 2", "value": "opt2" }
 ]
 }
}

The error response is generic: { "code": "bad_request", "message": "Invalid payload" }.

I’ve verified the conversation ID is active. The type field seems correct. Maybe the structuredMessage object is malformed? I tried moving the options array inside a data property but that didn’t help.

What’s the exact schema expected for the quick reply options? I can’t find a concrete example in the OpenAPI spec that works.