Message types
Every message is either plain text or a structured message_content object built from a fixed set of components. Which shape a category accepts is enforced server-side; see the API reference for the request fields.
Text message
A plain-text body. Required for utility, optional for marketing, not accepted for authentication.
Authentication message
Structured content with a required body and exactly one otp button carrying the code. An optional footer can state how long the code is valid for. There is no header or carousel option for this category. See Authentication for the full shape and an example request.
Marketing message
Structured content with an optional header (text, image, video, or document) and a required body. It then takes at most one of: 1-3 buttons (url or coupon_code), or a carousel of 1-10 items, each with exactly one url button. There is no footer option for this category. See Marketing for the full shape and example requests.
Service message
Free-form text sent through the separate service endpoint to a customer who actively follows the business. Always plain text, with no structured content option. See Service for the endpoint and follower requirements.