Messages
Send Event
Creates an event (meeting/calendar) with date, location and reminder
POST
Send Event
Auth:
TokenAccount or TokenInstance • Rate-limit: Global (100/min) • Idempotent: no
Description
Sends an event message (meeting/calendar card) to a 1-to-1 contact or, more commonly, a group (@g.us). The startAt and endAt fields accept ISO 8601 (RFC3339) timestamps with timezone (e.g. 2026-04-28T14:00:00-03:00) and are converted to Unix seconds internally. The event can optionally include description, location, joinLink, a reminder (hasReminder + reminderOffsetSec) and flags like isScheduleCall and extraGuestsAllowed. Supports delay, replyTo and replyPrivate.
Examples
Meeting with location and reminder
Creates an event in a group with start and end, a location and a reminder 15 minutes before (reminderOffsetSec: 900).
Scheduled call with link
isScheduleCall: true marks the event as a call and joinLink provides the link to join.
Success response
The returnedcontent is the event name, used to index the message in the history. Keep the messageId to correlate responses (going/not-going) received via webhook.
200 OK
Participant RSVPs don’t arrive synchronously in this response, they flow as events on the configured webhook/WebSocket, referencing the event’s
messageId.Path parameters
string
required
Instance name (e.g.,
$Instance_Name).Headers
string
required
TokenAccount or TokenInstance.string
required
application/jsonRequest body
string
required
Destination: phone (
5511999999999) or JID. Events work best in groups (@g.us).string
required
Event title shown on the card.
string
required
Start date/time in ISO 8601 (RFC3339) with timezone, e.g.
2026-04-28T14:00:00-03:00.string
End date/time in ISO 8601 (RFC3339). Optional.
string
Event description/details.
object
Event location. Fields:
name, address, latitude, longitude (all optional).string
Link to join (used for scheduled calls).
boolean
default:"false"
Marks the event as a scheduled call.
boolean
default:"false"
Enables a reminder for the event.
int
default:"0"
Reminder lead time, in seconds before
startAt (e.g. 900 = 15 min).boolean
default:"false"
Allows guests to bring additional people.
boolean
default:"false"
Marks the event as canceled.
int
default:"0"
Time in seconds to wait before sending. During the interval, the server shows the “typing…” indicator to the recipient and triggers “paused” before the actual send.
string
ID of the message to reply to. The original message must belong to the same instance and be saved in the database.
boolean
default:"false"
When
true and replyTo points to a message originating from a group, the event is redirected to the private chat of the original author (keeping the quote).string
default:"api"
Origin identifier for traceability (e.g.,
crm, support-bot, n8n). Saved on the message record and propagated to webhooks.Notes
startAt/endAtare ISO 8601 (RFC3339) with timezone; the server converts them to Unix seconds.delayis in seconds (not milliseconds);reminderOffsetSecis also in seconds.- Events render best in groups (
@g.us). - RSVPs don’t come back in this call, subscribe to webhook/WebSocket events to receive them referencing the
messageId.
Errors
Error envelope: