Messages
Send, edit, delete, and forward messages within conversations
📄️ Send message
Sends a message to a conversation thread. The current user must have reply access. Supports file attachments, message metadata, and offline message sync via temporary IDs. If moderation is enabled, the message enters a pending queue instead of being delivered immediately. The temp_id and temp_time parameters enable offline-first messaging — the server validates that temp_time is within ±600 seconds of server time. After sending, the thread is automatically marked as read for the sender.
📄️ Load more messages
Loads additional messages for a thread, supporting both backward pagination (loading older messages) and forward range loading (loading messages up to a specific point). Also detects and returns any missed messages not in the client's loaded set. Returns up to 80 messages per request. The `mode` parameter controls the loading direction.
📄️ Delete messages
Deletes specific messages from a thread. Only the message sender can delete their own messages. Thread moderators can delete messages from non-moderators, and super-moderators can delete any message except those from other super-moderators. The delete method (hard delete vs. content replacement) is controlled by the plugin's `deleteMessageMethod` setting. When using the replacement method, the response includes updated message objects.
📄️ Forward message
Forwards a message to one or more destination threads. The forwarding feature must be enabled in plugin settings (`enableForwardMessages`). Attachments and voice messages are copied to each destination. Forward attribution tracks the original sender when enabled. The user must have reply access in each destination thread. Limited to a maximum of 20 destination threads per forward operation. Deleted messages and messages the user doesn't have access to cannot be forwarded.
📄️ Edit message
Edits an existing message with new content. Only the original sender can edit their messages, and the `allowEditMessages` setting must be enabled. Forwarded messages cannot be edited. The edit preserves any file attachments from the original message. A history of previous versions is saved internally for audit purposes. The response includes the updated message object.
📄️ Check for new messages
Polls for new messages and thread updates since the client's last check. This is the primary polling endpoint used in AJAX mode (when WebSocket is not available). Returns delta updates including new messages, updated threads, deleted threads and messages. Also marks visible threads as read. When lastUpdate is 0, returns initial thread data instead of delta.
📄️ Get threads for forwarding
Returns a list of threads suitable for the message forwarding picker UI. Supports search filtering by thread subject or participant names. Excludes threads with `exclude_from_threads_list` metadata and creator-only threads. Returns up to 20 threads with participant data, images, and pin status. The forwarding feature must be enabled in plugin settings.