Skip to main content
POST
Send Event
Auth: TokenAccount or TokenInstanceRate-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).
isScheduleCall: true marks the event as a call and joinLink provides the link to join.

Success response

The returned content 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/json

Request 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).
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/endAt are ISO 8601 (RFC3339) with timezone; the server converts them to Unix seconds.
  • delay is in seconds (not milliseconds); reminderOffsetSec is 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: