Open Messaging API: Structured message payload rejected with 400

Trying to send a quick reply card via the Open Messaging API. The basic text works fine, but adding the structuredMessage object returns a 400 Bad Request. The JSON looks valid to me. Here is the payload body:

{
 "structuredMessage": {
 "type": "card",
 "title": "Check Status",
 "actions": [{"type": "button", "label": "Yes"}]
 }
}

The error message is generic. Is the schema different for guest-initiated messages?