Skip to main content
All send endpoints require a connected and logged-in session.
token: YOUR_TOKEN
Content-Type: application/json
Most send endpoints return a generated message ID. Store this ID if you want to edit, delete, react to, or inspect the message later.

Common fields

FieldMeaning
Phone / phoneRecipient phone number or JID.
Body / bodyMain text content.
IdOptional custom WhatsApp message ID. If omitted, WaGo generates one.
ForwardMarks a message as forwarded where supported.
ContextInfoOptional quoted-message context for replies.

Text

curl -X POST http://localhost:1337/send/text \
  -H "Content-Type: application/json" \
  -H "token: YOUR_TOKEN" \
  -d '{
    "Phone": "15551234567",
    "Body": "Hello from WaGo"
  }'
Required fields: Phone, Body.

Image

POST /send/image sends a base64 image data URL.
{
  "Phone": "15551234567",
  "Image": "data:image/jpeg;base64,/9j/4AAQ...",
  "Caption": "Invoice photo"
}

Audio

POST /send/audio sends audio. Use a data URL payload. For voice-note behavior, check the current handler fields in message.controller.go because audio behavior depends on the payload fields in that function.

Document

POST /send/document requires:
{
  "Phone": "15551234567",
  "Document": "data:application/octet-stream;base64,JVBERi0x...",
  "FileName": "invoice.pdf",
  "Caption": "Invoice",
  "Mimetype": "application/pdf"
}
The current handler expects the document data URL to start with data:application/octet-stream;base64,.

Video

POST /send/video sends a base64 video data URL with optional caption.

Sticker

POST /send/sticker sends a base64 sticker payload. Use a WhatsApp-compatible image or webp payload.

Poll

{
  "Phone": "15551234567",
  "Question": "Pick one",
  "Options": ["A", "B"],
  "MaxAnswer": 1
}
Options must contain at least two choices.

Location

POST /send/location sends latitude and longitude. Use this for static location messages, not live location.

Contact

POST /send/contact sends a vCard contact message. The server builds a WhatsApp contact payload from the request fields.

Group invite and previews

EndpointUse
POST /send/groupinviteSend a group-invite styled preview message.
POST /send/previewSend a link preview with uploaded thumbnail metadata.
POST /send/preview2Send an ad-reply style preview using external ad reply context.

Direct media URL

POST /send/mediaurl lets WaGo download media from a URL and send it. The WaGo server must be able to access the URL. Use this when your app stores files outside WaGo and does not want to base64 encode large media into JSON.

Full field reference

Every send endpoint and body field is listed in Complete endpoint reference.