The messages API provides a unified send endpoint that handles all WhatsApp message types through a single route. You specify theDocumentation Index
Fetch the complete documentation index at: https://docs.usetitan.app/llms.txt
Use this file to discover all available pages before exploring further.
type field and include the corresponding type-specific fields. Additional endpoints let you react to messages, send typing indicators, mark messages as read, edit sent messages, delete messages, and star them.
Send a message
POST /api/messages/send
Sends a message to any WhatsApp chat. The session and chatId fields are always required. The type field determines which additional fields are expected.
Common fields
Session name to send the message from.
Target chat JID. Individual:
{number}@s.whatsapp.net. Group: {id}@g.us. Status: status@broadcast.Message type. One of:
text, image, file, voice, video, poll, location, contact.Quote an existing message to reply to it.
Array of JIDs to tag in the message. The mentioned JIDs must appear in the message text prefixed with
@. Maximum 256 per message.Mark the message as forwarded.
Type-specific fields
- text
- image
- video
- voice
- file
- poll
- location
- contact
Text content of the message. Supports WhatsApp formatting (bold, italic, strikethrough, monospace).
Response
Message ID assigned by WhatsApp.
Delivery status:
pending, sent, delivered, or read.ISO 8601 timestamp when WhatsApp accepted the message.
Phone number of the target chat (when available).
LID of the target chat.
Media record ID. Present when the message contained media.
React to a message
POST /api/sessions/{session}/messages/react
Sends an emoji reaction to a message. Pass an empty string for reaction to remove an existing reaction.
Session name.
Chat JID containing the message.
ID of the message to react to.
Emoji to react with. Send an empty string
"" to remove your existing reaction.Send a typing indicator
POST /api/sessions/{session}/messages/typing
Sends a typing or recording state to a chat. This is a fire-and-forget operation — the API returns immediately without waiting for WhatsApp confirmation.
Session name.
Chat JID to send the typing state to.
Typing state:
typing, recording, or paused.Mark messages as seen
POST /api/sessions/{session}/messages/seen
Sends a read receipt for a message, marking it as seen. WhatsApp will show blue ticks to the sender.
Session name.
Chat JID containing the message.
ID of the message to mark as seen.
Edit a sent message
POST /api/sessions/{session}/messages/{messageId}/edit
Edits the text of a previously sent message. Only text messages you sent can be edited. WhatsApp shows an “edited” label on the message.
Session name.
ID of the message to edit.
New text content for the message.
Delete a message
DELETE /api/sessions/{session}/messages/{messageId}
Deletes a message for everyone in the chat. Only messages you sent can be deleted.
Session name.
ID of the message to delete.
Star or unstar a message
POST /api/sessions/{session}/messages/star
Stars or unstars a message to bookmark it.
Session name.
Chat JID containing the message.
ID of the message to star or unstar.
true to star, false to unstar. Defaults to true.Whether the message was sent by the session account.
JID of the message sender. Required for group messages not sent by the session account.