Trying to push a structured card with quick replies via the Open Messaging API. The docs state: “The actions array must contain objects with a type of ‘quick_reply’.” I’ve constructed the JSON strictly according to the schema, but the endpoint returns a 400 Bad Request with a generic validation error.
Here’s the payload I’m sending to POST /api/v2/conversations/messaging/messages:
{
"to": {
"id": "guest-123-abc",
"address": "web"
},
"content": {
"type": "card",
"title": "Select an option",
"actions": [
{
"type": "quick_reply",
"label": "Option A",
"payload": "option_a_value"
}
]
}
}
The error response doesn’t specify which field is invalid. It just says:
{
"errors": [
{
"code": "invalid_request",
"message": "Invalid message content structure"
}
]
}
I’ve verified the token is valid and has the messaging:messages scope. The guest ID is correct. I’ve tried changing the address to webchat and widget, but the 400 persists. The documentation implies that quick_reply is a supported action type for cards, but the API seems to reject it.
Is the actions field supposed to be nested under content directly? Or should it be part of a body object? The examples in the docs are sparse. I’ve checked the schema validator locally, and it passes. But the live API rejects it.
We’re using the EU-West-1 cluster. Maybe there’s a version mismatch? The endpoint version is v2. I don’t see any deprecation notices for this structure.
Does anyone know if quick_reply actions are actually supported in card messages via the API? Or is this a known bug? I’m hitting a wall here. The error message is too vague to debug further. I’ve tried removing the payload field, but that didn’t help. Just the label and type remain. Still 400.
What’s the exact expected structure for a card with quick replies? The docs aren’t clear on whether the actions array belongs in the root of content or nested deeper. I’ve tried both. No luck.
Can someone share a working payload? I’m stuck on this. The validation error gives no hints. It’s frustrating. I’ve spent hours on this.
Any help would be appreciated. I’m ready to test any suggestion. Just need to know the correct format. I’ve checked the API reference multiple times. Nothing stands out. Maybe I’m missing a required field? Or is the type value case-sensitive? I’ve tried Quick_Reply too. Same result.
It’s not working. I don’t know why. The docs say it should. But it doesn’t. I’m out of ideas.
What am I doing wrong?