Vonage · JSON Structure

Vonage Message Structure

JSON structure documentation for Vonage Messages API.

Type: Properties: 0
CommunicationMessagingTelecommunicationsVideo ConferencingVoiceSMSVerification

Vonage Message Structure is a JSON Structure definition published by Vonage.

Meta-schema:

JSON Structure

Raw ↑
{
  "title": "Vonage Message Structure",
  "description": "JSON structure documentation for Vonage Messages API.",
  "version": "1.0",
  "structure": {
    "message": {
      "description": "A message sent through the Vonage Messages API.",
      "fields": {
        "message_uuid": {"type": "string", "format": "uuid", "description": "Unique message identifier returned after send."},
        "message_type": {"type": "string", "enum": ["text", "image", "audio", "video", "file", "template", "custom"], "required": true},
        "to": {"type": "string", "description": "Recipient number or ID.", "required": true},
        "from": {"type": "string", "description": "Sender number or ID.", "required": true},
        "channel": {"type": "string", "enum": ["sms", "whatsapp", "messenger", "viber_service", "mms", "rcs"], "required": true},
        "text": {"type": "string", "description": "Message text. Required for text messages."},
        "image": {"type": "object", "description": "Image payload with url and optional caption."},
        "audio": {"type": "object", "description": "Audio payload with url."},
        "video": {"type": "object", "description": "Video payload with url and optional caption."},
        "file": {"type": "object", "description": "File payload with url, name, and optional caption."},
        "client_ref": {"type": "string", "description": "Optional client reference for tracking (max 100 chars)."},
        "webhook_url": {"type": "string", "format": "uri", "description": "Optional webhook override URL."}
      }
    },
    "message_status": {
      "description": "Webhook payload for message status updates.",
      "fields": {
        "message_uuid": {"type": "string"},
        "to": {"type": "string"},
        "from": {"type": "string"},
        "channel": {"type": "string"},
        "timestamp": {"type": "string", "format": "date-time"},
        "status": {"type": "string", "enum": ["submitted", "delivered", "read", "rejected", "undeliverable"]},
        "error": {"type": "object", "description": "Error details if delivery failed."}
      }
    }
  }
}