Open Messaging API 400 Bad Request on structured card payloads

Running into a wall with the Open Messaging API when trying to send structured messages. I’ve got a Node.js worker sitting in Tokyo that listens for webhook events and pushes back quick replies using the genesys-cloud-node-sdk. The simple text messages work fine, but the moment I try to send a card with action buttons, the POST to /api/v2/conversations/messaging/contacts/{contactId}/messages throws a 400 Bad Request. The error message is pretty vague, just saying the payload is invalid, but the JSON looks identical to the examples in the docs. I’m using the genesysCloudSdk to build the message object, setting the type to card and nesting the content array with button actions. The button actions have type: 'postback' and a payload string. I’ve checked the scopes, they’re fine, and the contact ID is definitely valid since the text messages go through. Is there a specific schema requirement for the content array that the SDK isn’t handling? Or am I missing a required field in the button definition? The response body doesn’t give me much to go on, just a generic error object.

Here’s the snippet I’m using to construct the payload before sending it via messagingApi.postMessageToContact(). The messageObj is built dynamically based on the user’s input. I’ve tried logging the raw JSON before serialization, and it looks clean. No trailing commas, correct quotes, everything seems standard. I’ve also tried sending the same payload directly via Postman, and it fails there too with the same 400 error. That rules out any SDK-specific serialization bugs. The content array contains two buttons, each with a label, type, and payload. The label is a string, type is postback, and payload is a string like action_buy_now. I’ve double-checked the API reference, and it says payload is required for postback types. Maybe the issue is with the card type itself? Or perhaps the content needs a specific structure I’m not seeing? I’m stuck on this for a day now. Any hints would be great.