Skip to main content
The Messages API lets you send WhatsApp messages directly from your own code — trigger transactional notifications, respond to events, or integrate WhatsApp into your existing workflows.

Message Types

WaMatrix supports two broad categories of outbound message:
  • Template messages — Pre-approved message templates submitted to and approved by Meta. Required when sending outside the 24-hour customer service window, or for bulk/broadcast sends. Templates may contain variable placeholders, header media, and call-to-action buttons.
  • Session messages — Free-form text, images, or documents sent within an active customer service session. A session opens when a customer sends your number a message and remains open for 24 hours from their last inbound message. After the window closes, only template messages are permitted.

POST /workspaces//messages

Send a WhatsApp message to a single recipient. The type field controls which message format is used and which additional fields are required.

Path Parameters

string
required
The unique ID of the workspace sending the message.

Body Parameters

string
required
The recipient’s phone number in E.164 format (e.g. +14155552671).
string
required
The ID of the WhatsApp channel (connected phone number) to send from (e.g. ch_9f2a1b3c). Find channel IDs in the workspace’s Channels settings.
string
required
The message format. Accepted values: template, text, image, document.
object
Required when type is template. Describes the approved template to send.
object
Required when type is text. Contains the message body.
object
Required when type is image. Specifies the image to send.

Request — Send a template message

Send template message

Request — Send a session text message

Send a text message

Request — Send an image message

Send an image message

Response


Message Status

After a message is created with status queued, it progresses through the following lifecycle: The typical flow is: queued → sent → delivered → read. To receive real-time status updates without polling, configure a webhook in your workspace settings. WaMatrix will POST a status update event to your endpoint each time a message’s status changes.
Free-form messages (type: "text", "image", or "document") can only be sent within the 24-hour customer service window — that is, within 24 hours of the recipient last sending a message to your number. Outside this window, use a template message instead. Attempting to send a session message outside the window will return a 4xx error.