Skip to main content
Use this page when you already know which feature you need and want the exact endpoint, token type, and request fields. For guided examples, start with Production integration or the feature pages.

How to read this reference

  • Use token for normal session endpoints.
  • Use admintoken only for admin endpoints.
  • Field names are case-sensitive.
  • Some older handlers use uppercase JSON field names because their Go structs do not define lowercase JSON tags.

Sessions

POST /session/init

Create a local WaGo token row for a user.
  • Handler: Init
  • Authentication: Admin token
FieldTypeRequired
NamestringNo
TokenstringNo
OsstringNo
Example body:
{
  "Name": "JohnDoe",
  "Token": "veryhardtoken",
  "Os": "Chrome"
}

POST /session/connect

Start or restore the WhatsApp client for a token.
  • Handler: Connect
  • Authentication: Session token
FieldTypeRequired
SubscribestringNo
ImmediatebooleanNo
Example body:
{
  "Subscribe": [
    "Message",
    "ChatPresence"
  ],
  "Immediate": false
}

POST /session/disconnect

Disconnect the active client without unlinking WhatsApp.
  • Handler: Disconnect
  • Authentication: Session token
No JSON body is required.

POST /session/logout

Log out the linked WhatsApp device.
  • Handler: Logout
  • Authentication: Session token
No JSON body is required.

GET /session/status

Return connection and login state.
  • Handler: GetStatus
  • Authentication: Session token
No JSON body is required.

GET /session/qr

Return the current QR code for device linking.
  • Handler: GetQR
  • Authentication: Session token
No JSON body is required.

GET /session/all

List stored sessions for admins.
  • Handler: GetAllDbUsers
  • Authentication: Admin token
No JSON body is required.

POST /session/pair

Connect with WhatsApp pair-code flow.
  • Handler: ConnectPair
  • Authentication: Session token
FieldTypeRequired
PhonestringNo
Example body:
{
  "Phone": "+1872873827"
}

POST /session/delete

Delete a token and its local session data.
  • Handler: DeleteToken
  • Authentication: Admin token
No JSON body is required.

POST /session/scanned

List tokens that have completed scan/login.
  • Handler: GetScannedSessions
  • Authentication: Admin token
No JSON body is required.

Webhooks and realtime

POST /webhook

Read or update the webhook URL for a token.
  • Handler: SetWebhook
  • Authentication: Session token
FieldTypeRequired
WebhookURLstringYes
Example body:
{
  "WebhookURL": "http://server/webhook"
}

GET /webhook

Read or update the webhook URL for a token.
  • Handler: GetWebhook
  • Authentication: Session token
No JSON body is required.

Sending messages

POST /send/text

Send message.
  • Handler: SendMessage
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
BodystringYes
IdstringNo
ContextInfoobjectNo
Example body:
{
  "Phone": "987654321",
  "Body": "How you doing?",
  "Id": "ABCDABCD1234",
  "ContextInfo": {}
}

POST /send/image

Send image.
  • Handler: SendImage
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
ImagestringYes
CaptionstringNo
IdstringNo
ContextInfoobjectNo
Example body:
{
  "Phone": "987654321",
  "Image": "data:image/jpeg;base64,iVBORw0",
  "Caption": "Image Description",
  "Id": "ABCDABCD1234",
  "ContextInfo": {}
}

POST /send/audio

Send audio.
  • Handler: SendAudio
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
AudiostringYes
PttbooleanNo
DurationnumberNo
IdstringNo
ContextInfoobjectNo
Example body:
{
  "Phone": "987654321",
  "Audio": "data:audio/ogg;base64,iVBORw0a",
  "Ptt": true,
  "Duration": 10,
  "Id": "ABCDABCD1234",
  "ContextInfo": {}
}

POST /send/poll

Send poll.
  • Handler: SendPoll
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
QuestionstringYes
MaxAnswernumberYes
Optionsarray<any>Yes
ContextInfoobjectNo
Example body:
{
  "Phone": "987654321",
  "Question": "What is the color of the sky?",
  "MaxAnswer": 1,
  "Options": [
    "red",
    "blue",
    "yellow"
  ],
  "ContextInfo": {}
}

POST /send/document

Send document.
  • Handler: SendDocument
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
DocumentstringYes
FileNamestringYes
CaptionstringNo
MimetypestringNo
IdstringNo
ContextInfoobjectNo
Example body:
{
  "Phone": "987654321",
  "Document": "data:application/octet-stream;base64,aG9sYSBxdWUKdGFsCmNvbW8KXMK",
  "FileName": "file.txt",
  "Caption": "my file",
  "Mimetype": "text/plain",
  "Id": "ABCDABCD1234",
  "ContextInfo": {}
}

POST /send/template

Send template.
  • Handler: SendTemplate
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
TitlestringNo
ContentstringYes
FooterstringNo
ButtonsobjectNo
Example body:
{
  "Phone": "987654321",
  "Title": "Message title",
  "Content": "Message content",
  "Footer": "Text footer",
  "Buttons": [
    {
      "DisplayText": "tap to copy",
      "Type": "copy",
      "Id": "hello \ud83d\udc4b"
    },
    {
      "DisplayText": "Visit Site",
      "Type": "url",
      "Url": "https://www.google.com"
    },
    {
      "DisplayText": "Callme",
      "Type": "call",
      "PhoneNumber": "123811298"
    }
  ]
}

POST /send/video

Send video.
  • Handler: SendVideo
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
VideostringYes
CaptionstringNo
IdstringNo
JpegThumbnailstringNo
ContextInfoobjectNo
Example body:
{
  "Phone": "987654321",
  "Video": "data:video/mp4;base64,s8s77s",
  "Caption": "my video",
  "Id": "ABCDABCD1234",
  "JpegThumbnail": "AA00D010",
  "ContextInfo": {}
}

POST /send/sticker

Send sticker.
  • Handler: SendSticker
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
StickerstringYes
IdstringNo
PngThumbnailstringNo
ContextInfoobjectNo
Example body:
{
  "Phone": "987654321",
  "Sticker": "data:image/webp;base64,iVBOR787s7sw0",
  "Id": "ABCDABCD1234",
  "PngThumbnail": "AA00D010",
  "ContextInfo": {}
}

POST /send/location

Send location.
  • Handler: SendLocation
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
NamestringNo
IdstringNo
LatitudefloatYes
LongitudefloatYes
ContextInfoobjectNo
Example body:
{
  "Phone": "987654321",
  "Name": "Party",
  "Id": "ABCDABCD1234",
  "Latitude": 48.85837,
  "Longitude": 2.294481,
  "ContextInfo": {}
}

POST /send/contact

Send contact.
  • Handler: SendContact
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
IdstringNo
VcardobjectYes
ContextInfoobjectNo
Example body:
{
  "Phone": "987654321",
  "Id": "ABCDABCD1234",
  "Vcard": {
    "FullName": "Salman",
    "Phone": "7927839289",
    "Organization": "John Doe"
  },
  "ContextInfo": {}
}

POST /send/buttons

Send buttons.
  • Handler: SendButtons
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
TitlestringYes
ContentstringYes
FooterstringYes
ButtonsobjectYes
Example body:
{
  "Phone": "123456789",
  "Title": "testing buttons",
  "Content": "this is content aka body",
  "Footer": "this footer is optional",
  "Buttons": [
    {
      "id": "btn1",
      "text": "button 1"
    },
    {
      "id": "btn2",
      "text": "button 2"
    }
  ]
}

POST /send/mediabutton

Send button media.
  • Handler: SendButtonMedia
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
ContentstringYes
FooterstringNo
TitlestringNo
FilenamestringNo
MessageIdstringNo
Buttonsarray<object>Yes
TypestringYes
MediastringYes
Example body:
{
  "Phone": "123456789",
  "Content": "Message title",
  "Footer": "Footer text (optional)",
  "Title": "Optional header text",
  "Filename": "file.pdf",
  "MessageId": "custom-message-id-123",
  "Buttons": [],
  "Type": "image",
  "Media": "data:image/jpeg;base64,<base64-data>"
}

POST /send/mediaurl

Send media url.
  • Handler: SendMediaURL
  • Authentication: Session token
FieldTypeRequired
JidstringYes
UrlstringYes
TypestringYes
DurationnumberNo
CaptionstringYes
FilenamestringYes
Example body:
{
  "Jid": "123456789",
  "Url": "https://picsum.photos/536/354",
  "Type": "image",
  "Duration": 10,
  "Caption": "this is caption",
  "Filename": ""
}

POST /send/list

Send list.
  • Handler: SendList
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
ButtonTextstringYes
DescstringYes
TopTextstringYes
ListobjectYes
Example body:
{
  "Phone": "123456789",
  "ButtonText": "Click Here",
  "Desc": "This is a list",
  "TopText": "This is a list",
  "List": [
    {
      "title": "menu button 1",
      "desc": "long description ",
      "RowId": "1"
    },
    {
      "title": "menu button 2",
      "desc": "very good description ",
      "RowId": "2"
    }
  ]
}

POST /send/preview

Send link preview.
  • Handler: SendLinkPreview
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
TextstringYes
MatchedURLstringYes
TitlestringYes
DescriptionstringYes
ImagestringYes
Example body:
{
  "Phone": "123456789",
  "Text": "This is a test message with a link preview https://google.com",
  "MatchedURL": "https://google.com",
  "Title": "Title of the preview message",
  "Description": "Description of the preview message",
  "Image": "data:image/jpeg;base64,Akd9300..."
}

POST /send/preview2

Send link preview2.
  • Handler: SendLinkPreview2
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
TextstringYes
MatchedURLstringYes
TitlestringYes
DescriptionstringYes
ImagestringYes
Example body:
{
  "Phone": "123456789",
  "Text": "This is a test message with a link preview https://google.com",
  "MatchedURL": "https://google.com",
  "Title": "Title of the preview message",
  "Description": "Description of the preview message",
  "Image": "data:image/jpeg;base64,Akd9300..."
}

POST /send/groupinvite

Send group invite.
  • Handler: SendGroupInvite
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
TextstringYes
MatchedTextstringYes
TitlestringYes
Example body:
{
  "Phone": "987654321",
  "Text": "Open this link to join my WhatsApp Group: https://chat.whatsapp.com/LrOCfCEyd3",
  "MatchedText": "https://chat.whatsapp.com/LrOCfCEyd3",
  "Title": "my group"
}

POST /send/locationbutton

Send location button.
  • Handler: SendLocationButton
  • Authentication: Session token
FieldTypeRequired
PhonestringNo
BodystringNo
Example body:
{
  "Phone": "123456789",
  "Body": "\ud83d\uddfa\ufe0f *Tap the button to share your location*"
}

POST /send/pixbutton

Send pix button.
  • Handler: SendPixButton
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
TitlestringNo
BodystringYes
FooterstringNo
PixKeystringYes
MerchantNamestringNo
PixTypestringNo
Example body:
{
  "Phone": "123456789",
  "Title": "Payment Request",
  "Body": "Please complete your payment using the PIX button below",
  "Footer": "Thank you!",
  "PixKey": "+5511999999999",
  "MerchantName": "My Store",
  "PixType": "PHONE"
}

POST /send/reviewpay

Send review and pay button.
  • Handler: SendReviewAndPayButton
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
TitlestringNo
BodystringYes
CaptionstringNo
FooterstringNo
PixKeystringYes
MerchantNamestringNo
PixTypestringNo
CurrencystringNo
ReferenceIDstringNo
TotalValueintegerNo
TotalOffsetintegerNo
Itemsarray<object>No
Example body:
{
  "Phone": "123456789",
  "Title": "Order Summary",
  "Body": "Please review your order and complete the payment",
  "Caption": "Your order details",
  "Footer": "Thank you for your purchase!",
  "PixKey": "+5511999999999",
  "MerchantName": "My Store",
  "PixType": "PHONE",
  "Currency": "BRL",
  "ReferenceID": "ORDER-12345",
  "TotalValue": 15000,
  "TotalOffset": 100,
  "Items": []
}

POST /send/carousel

Send carousel button.
  • Handler: SendCarouselButton
  • Authentication: Session token
No JSON body is required.

POST /send/carouselmedia

Send carousel button media.
  • Handler: SendCarouselButtonMedia
  • Authentication: Session token
No JSON body is required.

Bots

POST /bot/message

Send bot message.
  • Handler: SendBotMessage
  • Authentication: Session token
FieldTypeRequired
BodystringNo
PersonaIDstringNo
Example body:
{
  "Body": "Hi",
  "PersonaID": ""
}

GET /bot/list

Get bot profiles.
  • Handler: GetBotProfiles
  • Authentication: Session token
No JSON body is required.

Users

POST /user/info

Get user.
  • Handler: GetUser
  • Authentication: Session token
FieldTypeRequired
PhoneobjectYes
Example body:
{
  "Phone": [
    "123456789",
    "987654321"
  ]
}

POST /user/check

Check user.
  • Handler: CheckUser
  • Authentication: Session token
FieldTypeRequired
PhoneobjectYes
Example body:
{
  "Phone": [
    "123456789",
    "987654321"
  ]
}

GET /user/avatar

Get avatar.
  • Handler: GetAvatar
  • Authentication: Session token
No JSON body is required. The route accepts GET and POST, but the current handler decodes a body. Use POST when requesting another user avatar.

POST /user/avatar

Get avatar.
  • Handler: GetAvatar
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
PreviewboolYes
Example body:
{
  "Phone": "123456789",
  "Preview": true
}

GET /user/contacts

Get contacts.
  • Handler: GetContacts
  • Authentication: Session token
No JSON body is required.

GET /user/privacy

Get privacy.
  • Handler: GetPrivacy
  • Authentication: Session token
No JSON body is required.

POST /user/block

Block contact.
  • Handler: BlockContact
  • Authentication: Session token
FieldTypeRequired
PhonestringNo
Example body:
{
  "Phone": "123456789"
}

POST /user/unblock

Unblock contact.
  • Handler: UnblockContact
  • Authentication: Session token
FieldTypeRequired
PhonestringNo
Example body:
{
  "Phone": "123456789"
}

GET /user/blocklist

Get block list.
  • Handler: GetBlockList
  • Authentication: Session token
No JSON body is required.

POST /user/profile

Set profile picture.
  • Handler: SetProfilePicture
  • Authentication: Session token
FieldTypeRequired
ImagestringYes
Example body:
{
  "Image": "data:image/jpeg;base64,Akd9300..."
}

POST /user/name

Update profile name.
  • Handler: UpdateProfileName
  • Authentication: Session token
FieldTypeRequired
NamestringNo
Example body:
{
  "Name": "John Doe"
}

POST /user/presence

Send presence.
  • Handler: SendPresence
  • Authentication: Session token
FieldTypeRequired
PresencestringNo
Example body:
{
  "Presence": "available"
}

GET /user/limits

Get limits.
  • Handler: GetLimits
  • Authentication: Session token
No JSON body is required.

POST /user/parselid

Get jidfrom lid.
  • Handler: GetJIDFromLID
  • Authentication: Session token
FieldTypeRequired
LIDstringNo
Example body:
{
  "LID": "123456789@lid"
}

GET /user/appstate

Fetch app state.
  • Handler: FetchAppState
  • Authentication: Session token
No JSON body is required.

Contacts and broadcasts

POST /contact/add

Contact add.
  • Handler: ContactAdd
  • Authentication: Session token
FieldTypeRequired
PhonestringNo
FirstNamestringNo
FullNamestringNo
SaveOnBookbooleanNo
Example body:
{
  "Phone": "123456789",
  "FirstName": "John",
  "FullName": "John Doe",
  "SaveOnBook": true
}

POST /contact/remove

Contact remove.
  • Handler: ContactRemove
  • Authentication: Session token
FieldTypeRequired
PhonestringNo
Example body:
{
  "Phone": "123456789"
}

POST /broadcast/listparticipants

Broadcast list participants.
  • Handler: BroadcastListParticipants
  • Authentication: Session token
FieldTypeRequired
IDstringYes
Example body:
{
  "ID": "123456789"
}

Messages

POST /message/react

React.
  • Handler: React
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
BodystringYes
IdstringYes
IsFromMebooleanYes
Example body:
{
  "Phone": "987654321",
  "Body": "\u2764\ufe0f",
  "Id": "3EB06F9067F80BAB89FF",
  "IsFromMe": true
}

POST /message/presence

Chat presence.
  • Handler: ChatPresence
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
StatestringYes
MediastringNo
Example body:
{
  "Phone": "987654321",
  "State": "composing",
  "Media": "audio"
}

POST /message/markread

Mark read.
  • Handler: MarkRead
  • Authentication: Session token
FieldTypeRequired
IdobjectYes
ChatstringYes
SenderstringNo
Example body:
{
  "Id": [
    "AABBCC11223344",
    "DDEEFF55667788"
  ],
  "Chat": "[email protected]",
  "Sender": "[email protected]"
}

POST /message/status

Get message status.
  • Handler: GetMessageStatus
  • Authentication: Session token
FieldTypeRequired
IdstringYes
Example body:
{
  "Id": "987654321"
}

POST /message/delete

Delete message everyone.
  • Handler: DeleteMessageEveryone
  • Authentication: Session token
FieldTypeRequired
ChatstringYes
MessageIDstringYes
Example body:
{
  "Chat": "987654321",
  "MessageID": "1222222287379827392"
}

POST /message/edit

Edit message.
  • Handler: EditMessage
  • Authentication: Session token
FieldTypeRequired
ChatstringYes
MessagestringYes
MessageIDstringYes
Example body:
{
  "Chat": "987654321",
  "Message": "Hello World",
  "MessageID": "1222222287379827392"
}

POST /message/downloadimage

Download image.
  • Handler: DownloadImage
  • Authentication: Session token
No JSON body is required.

POST /message/download/image

Download image.
  • Handler: DownloadImage
  • Authentication: Session token
FieldTypeRequired
UrlstringYes
DirectPathstringNo
MediaKeystringYes
MimetypestringYes
FileEncSHA256stringNo
FileSHA256stringYes
FileLengthnumberYes
Example body:
{
  "Url": "string",
  "DirectPath": "string",
  "MediaKey": "string",
  "Mimetype": "string",
  "FileEncSHA256": "string",
  "FileSHA256": "string",
  "FileLength": 0
}

POST /message/download/video

Download video.
  • Handler: DownloadVideo
  • Authentication: Session token
FieldTypeRequired
UrlstringYes
DirectPathstringNo
MediaKeystringYes
MimetypestringYes
FileEncSHA256stringNo
FileSHA256stringYes
FileLengthnumberYes
Example body:
{
  "Url": "string",
  "DirectPath": "string",
  "MediaKey": "string",
  "Mimetype": "string",
  "FileEncSHA256": "string",
  "FileSHA256": "string",
  "FileLength": 0
}

POST /message/download/document

Download document.
  • Handler: DownloadDocument
  • Authentication: Session token
FieldTypeRequired
UrlstringYes
DirectPathstringNo
MediaKeystringYes
MimetypestringYes
FileEncSHA256stringNo
FileSHA256stringYes
FileLengthnumberYes
Example body:
{
  "Url": "string",
  "DirectPath": "string",
  "MediaKey": "string",
  "Mimetype": "string",
  "FileEncSHA256": "string",
  "FileSHA256": "string",
  "FileLength": 0
}

POST /message/download/audio

Download audio.
  • Handler: DownloadAudio
  • Authentication: Session token
FieldTypeRequired
UrlstringYes
DirectPathstringNo
MediaKeystringYes
MimetypestringYes
FileEncSHA256stringNo
FileSHA256stringYes
FileLengthnumberYes
Example body:
{
  "Url": "string",
  "DirectPath": "string",
  "MediaKey": "string",
  "Mimetype": "string",
  "FileEncSHA256": "string",
  "FileSHA256": "string",
  "FileLength": 0
}

POST /message/download/sticker

Download sticker.
  • Handler: DownloadSticker
  • Authentication: Session token
FieldTypeRequired
UrlstringYes
DirectPathstringNo
MediaKeystringYes
MimetypestringYes
FileEncSHA256stringNo
FileSHA256stringYes
FileLengthnumberYes
Example body:
{
  "Url": "string",
  "DirectPath": "string",
  "MediaKey": "string",
  "Mimetype": "string",
  "FileEncSHA256": "string",
  "FileSHA256": "string",
  "FileLength": 0
}

Chats

POST /chat/pin

Chat pin.
  • Handler: ChatPin
  • Authentication: Session token
FieldTypeRequired
ChatstringYes
Example body:
{
  "Chat": "987654321"
}

POST /chat/unpin

Chat unpin.
  • Handler: ChatUnpin
  • Authentication: Session token
FieldTypeRequired
ChatstringYes
Example body:
{
  "Chat": "987654321"
}

POST /chat/archive

Chat archive.
  • Handler: ChatArchive
  • Authentication: Session token
FieldTypeRequired
ChatstringYes
Example body:
{
  "Chat": "987654321"
}

POST /chat/mute

Chat mute.
  • Handler: ChatMute
  • Authentication: Session token
FieldTypeRequired
ChatstringYes
Example body:
{
  "Chat": "987654321"
}

POST /chat/typing/start

Typing start.
  • Handler: TypingStart
  • Authentication: Session token
FieldTypeRequired
JidstringYes
Example body:
{
  "Jid": "123456789"
}

POST /chat/typing/stop

Typing stop.
  • Handler: TypingStop
  • Authentication: Session token
FieldTypeRequired
JidstringYes
Example body:
{
  "Jid": "123456789"
}

POST /chat/delete

Chat delete.
  • Handler: ChatDelete
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
Example body:
{
  "Phone": "123456789"
}

POST /chat/read

Chat read.
  • Handler: ChatRead
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
Example body:
{
  "Phone": "123456789"
}

POST /chat/unread

Chat unread.
  • Handler: ChatUnread
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
Example body:
{
  "Phone": "123456789"
}

POST /chat/recording/start

Recording start.
  • Handler: RecordingStart
  • Authentication: Session token
FieldTypeRequired
JidstringYes
Example body:
{
  "Jid": "123456789"
}

POST /chat/recording/stop

Recording stop.
  • Handler: RecordingStop
  • Authentication: Session token
FieldTypeRequired
JidstringYes
Example body:
{
  "Jid": "123456789"
}

POST /chat/disappearing-timer

Disappear.
  • Handler: Disappear
  • Authentication: Session token
FieldTypeRequired
phonestringYes
timerstringYes
Example body:
{
  "phone": "1276543210",
  "timer": "24h"
}

Groups

GET /group/list

List groups.
  • Handler: ListGroups
  • Authentication: Session token
No JSON body is required.

POST /group/info

Get group info.
  • Handler: GetGroupInfo
  • Authentication: Session token
FieldTypeRequired
GroupJIDstringNo
Example body:
{
  "GroupJID": "[email protected]"
}

POST /group/invitelink

Get group invite link.
  • Handler: GetGroupInviteLink
  • Authentication: Session token
FieldTypeRequired
GroupJIDstringNo
ResetbooleanNo
Example body:
{
  "GroupJID": "[email protected]",
  "Reset": false
}

POST /group/photo

Set group photo.
  • Handler: SetGroupPhoto
  • Authentication: Session token
FieldTypeRequired
GroupJIDstringNo
ImagestringNo
Example body:
{
  "GroupJID": "[email protected]",
  "Image": "data:image/jpeg;base64,Akd9300..."
}

POST /group/name

Set group name.
  • Handler: SetGroupName
  • Authentication: Session token
FieldTypeRequired
GroupJIDstringNo
NamestringNo
Example body:
{
  "GroupJID": "[email protected]",
  "Name": "My group name"
}

POST /group/create

Create group.
  • Handler: CreateGroup
  • Authentication: Session token
FieldTypeRequired
GroupNamestringNo
Participantsarray<any>No
Example body:
{
  "GroupName": "Family Group",
  "Participants": [
    "22222",
    "33333"
  ]
}

POST /group/update

Update participant.
  • Handler: UpdateParticipant
  • Authentication: Session token
FieldTypeRequired
GroupJIDstringNo
ParticipantJIDarray<any>No
ActionstringNo
Example body:
{
  "GroupJID": "[email protected]",
  "ParticipantJID": [
    "9999999999",
    "9876543128"
  ],
  "Action": "add"
}

GET /group/myall

Get my groups.
  • Handler: GetMyGroups
  • Authentication: Session token
No JSON body is required.

POST /group/join

Join group link.
  • Handler: JoinGroupLink
  • Authentication: Session token
FieldTypeRequired
CodestringNo
Example body:
{
  "Code": "123456xyz"
}

POST /group/leave

Leave group.
  • Handler: LeaveGroup
  • Authentication: Session token
FieldTypeRequired
GroupIdstringYes
Example body:
{
  "GroupId": "[email protected]"
}

POST /group/description

Update group description.
  • Handler: UpdateGroupDescription
  • Authentication: Session token
FieldTypeRequired
GroupJIDstringNo
DescriptionstringNo
Example body:
{
  "GroupJID": "[email protected]",
  "Description": "This is new group description"
}

POST /group/lock

Group lock.
  • Handler: GroupLock
  • Authentication: Session token
FieldTypeRequired
GroupJIDstringNo
LockbooleanNo
Example body:
{
  "GroupJID": "[email protected]",
  "Lock": true
}

POST /group/adminonly

Group admin only.
  • Handler: GroupAdminOnly
  • Authentication: Session token
FieldTypeRequired
GroupJIDstringNo
AdminOnlybooleanNo
Example body:
{
  "GroupJID": "[email protected]",
  "AdminOnly": true
}

Communities

POST /community/create

Create community.
  • Handler: CreateCommunity
  • Authentication: Session token
FieldTypeRequired
CommunityNamestringNo
Example body:
{
  "CommunityName": "My Community"
}

POST /community/add

Community add.
  • Handler: CommunityAdd
  • Authentication: Session token
FieldTypeRequired
CommunityJIDstringNo
GroupJIDArrayNo
Example body:
{
  "CommunityJID": "[email protected]",
  "GroupJID": [
    "[email protected]",
    "[email protected]"
  ]
}

POST /community/remove

Community remove.
  • Handler: CommunityRemove
  • Authentication: Session token
FieldTypeRequired
CommunityJIDstringNo
GroupJIDArrayNo
Example body:
{
  "CommunityJID": "[email protected]",
  "GroupJID": [
    "[email protected]",
    "[email protected]"
  ]
}

Labels

POST /label/chat

Chat label.
  • Handler: ChatLabel
  • Authentication: Session token
FieldTypeRequired
JidstringNo
LabelIdstringNo
Example body:
{
  "Jid": "123456789",
  "LabelId": "1"
}

POST /label/message

Message label.
  • Handler: MessageLabel
  • Authentication: Session token
FieldTypeRequired
JidstringNo
LabelIdstringNo
MessageIdstringNo
Example body:
{
  "Jid": "123456789",
  "LabelId": "1",
  "MessageId": "9812JHSHAS87"
}

POST /label/edit

Edit label.
  • Handler: EditLabel
  • Authentication: Session token
FieldTypeRequired
LabelIdstringNo
NamestringNo
ColornumberNo
ActionbooleanNo
Example body:
{
  "LabelId": "1",
  "Name": "My Label",
  "Color": 1,
  "Action": true
}

POST /unlabel/chat

Chat unlabel.
  • Handler: ChatUnlabel
  • Authentication: Session token
FieldTypeRequired
JidstringNo
LabelIdstringNo
Example body:
{
  "Jid": "123456789",
  "LabelId": "1"
}

POST /unlabel/message

Message unlabel.
  • Handler: MessageUnlabel
  • Authentication: Session token
FieldTypeRequired
JidstringNo
LabelIdstringNo
MessageIdstringNo
Example body:
{
  "Jid": "123456789",
  "LabelId": "1",
  "MessageId": "9812JHSHAS87"
}

Newsletters

POST /newsletter/create

Create newsletter.
  • Handler: CreateNewsletter
  • Authentication: Session token
FieldTypeRequired
NamestringNo
DescriptionstringNo
Example body:
{
  "Name": "My Newsletter",
  "Description": "This is my newsletter"
}

GET /newsletter/list

List newsletter.
  • Handler: ListNewsletter
  • Authentication: Session token
No JSON body is required.

POST /newsletter/info

Get newsletter.
  • Handler: GetNewsletter
  • Authentication: Session token
FieldTypeRequired
JidstringNo
Example body:
{
  "Jid": "123456789"
}

POST /newsletter/link

Get newsletter invite.
  • Handler: GetNewsletterInvite
  • Authentication: Session token
FieldTypeRequired
KeystringNo
Example body:
{
  "Key": "123456789"
}

POST /newsletter/subscribe

Subscribe newsletter.
  • Handler: SubscribeNewsletter
  • Authentication: Session token
FieldTypeRequired
JidstringNo
Example body:
{
  "Jid": "123456789"
}

POST /newsletter/messages

Get newsletter messages.
  • Handler: GetNewsletterMessages
  • Authentication: Session token
FieldTypeRequired
JidstringNo
CountnumberNo
BeforeIdnumberNo
Example body:
{
  "Jid": "123456789",
  "Count": 10,
  "BeforeId": 123456789
}

Business

POST /business/get/profile

Get business profile.
  • Handler: GetBusinessProfile
  • Authentication: Session token
FieldTypeRequired
JidstringNo
Example body:
{
  "Jid": "123456789"
}

GET /business/get/categories

Get business categories.
  • Handler: GetBusinessCategories
  • Authentication: Session token
No JSON body is required.

POST /business/update/desc

Update business desc.
  • Handler: UpdateBusinessDesc
  • Authentication: Session token
FieldTypeRequired
DescstringNo
Example body:
{
  "Desc": "This is my business description"
}

POST /business/update/address

Update business address.
  • Handler: UpdateBusinessAddress
  • Authentication: Session token
FieldTypeRequired
AddressstringNo
Example body:
{
  "Address": "This is my business address"
}

POST /business/update/email

Update business email.
  • Handler: UpdateBusinessEmail
  • Authentication: Session token
FieldTypeRequired
EmailstringNo
Example body:
{
  "Email": "[email protected]"
}

POST /business/catalog/create

Create catalog product.
  • Handler: CreateCatalogProduct
  • Authentication: Session token
FieldTypeRequired
IdstringNo
NamestringNo
Imagesarray<string>No
DescriptionstringNo
PricestringNo
CurrencystringNo
UrlstringNo
IsHiddenbooleanNo
Example body:
{
  "Id": "1234567890",
  "Name": "My Product",
  "Images": [],
  "Description": "This is my product",
  "Price": "100000",
  "Currency": "INR",
  "Url": "https://google.com",
  "IsHidden": false
}

POST /business/catalog/edit

Edit catalog product.
  • Handler: EditCatalogProduct
  • Authentication: Session token
FieldTypeRequired
IdstringNo
NamestringNo
Imagesarray<string>No
DescriptionstringNo
PricestringNo
CurrencystringNo
UrlstringNo
IsHiddenbooleanNo
Example body:
{
  "Id": "1234567890",
  "Name": "My Product",
  "Images": [],
  "Description": "This is my product",
  "Price": "100000",
  "Currency": "INR",
  "Url": "https://google.com",
  "IsHidden": false
}

POST /business/catalog/list

Get catalog.
  • Handler: GetCatalog
  • Authentication: Session token
FieldTypeRequired
JidstringNo
Example body:
{
  "Jid": "123456789"
}

POST /business/catalog/info

Get catalog product.
  • Handler: GetCatalogProduct
  • Authentication: Session token
FieldTypeRequired
JidstringNo
IdstringNo
Example body:
{
  "Jid": "123456789",
  "Id": "988782362"
}

POST /business/catalog/delete

Delete catalog product.
  • Handler: DeleteCatalogProduct
  • Authentication: Session token
FieldTypeRequired
IdstringNo
Example body:
{
  "Id": "988782362"
}

POST /business/catalog/show

Show product.
  • Handler: ShowProduct
  • Authentication: Session token
FieldTypeRequired
IdstringNo
Example body:
{
  "Id": "988782362"
}

POST /business/catalog/hide

Hide product.
  • Handler: HideProduct
  • Authentication: Session token
FieldTypeRequired
IdstringNo
Example body:
{
  "Id": "988782362"
}

POST /business/order/details

Get order details.
  • Handler: GetOrderDetails
  • Authentication: Session token
FieldTypeRequired
OrderIdstringYes
TokenstringYes
Example body:
{
  "OrderId": "123456789",
  "Token": "AR7LsQpmS1K/HO24sdk5QnV80g=="
}

POST /business/send/catalog

Send business catalog.
  • Handler: SendBusinessCatalog
  • Authentication: Session token
FieldTypeRequired
PhonestringYes
TextstringYes
MatchedTextstringYes
TitlestringYes
Example body:
{
  "Phone": "987654321",
  "Text": "Follow this link to view our catalog on WhatsApp: https://wa.me/c/123456789",
  "MatchedText": "https://wa.me/c/123456789",
  "Title": "MyShopName"
}

Calls

POST /call/make

Start an outgoing WhatsApp audio call.
  • Handler: CallMake
  • Authentication: Session token
FieldTypeRequired
CallTostringYes
AudioFilestringNo
Example body:
{
  "CallTo": "string",
  "AudioFile": "string"
}

POST /call/answer

Answer a tracked incoming call.
  • Handler: CallAnswer
  • Authentication: Session token
FieldTypeRequired
CallIDstringYes
Example body:
{
  "CallID": "string"
}

POST /call/reject

Reject a tracked incoming call.
  • Handler: CallReject
  • Authentication: Session token
FieldTypeRequired
CallIDstringYes
Example body:
{
  "CallID": "string"
}

POST /call/hangup

Hang up a tracked call.
  • Handler: CallHangup
  • Authentication: Session token
FieldTypeRequired
CallIDstringYes
Example body:
{
  "CallID": "string"
}

POST /call/play

Play a server-side audio file into a call.
  • Handler: CallPlay
  • Authentication: Session token
FieldTypeRequired
CallIDstringYes
AudioFilestringYes
Example body:
{
  "CallID": "string",
  "AudioFile": "string"
}

POST /call/play/pause

Pause call audio playback.
  • Handler: CallPlayPause
  • Authentication: Session token
FieldTypeRequired
CallIDstringYes
Example body:
{
  "CallID": "string"
}

POST /call/play/resume

Resume call audio playback.
  • Handler: CallPlayResume
  • Authentication: Session token
FieldTypeRequired
CallIDstringYes
Example body:
{
  "CallID": "string"
}

POST /call/play/stop

Stop call audio playback.
  • Handler: CallPlayStop
  • Authentication: Session token
FieldTypeRequired
CallIDstringYes
Example body:
{
  "CallID": "string"
}

POST /call/record

Record call audio to WAV on the server.
  • Handler: CallRecord
  • Authentication: Session token
FieldTypeRequired
CallIDstringYes
PathstringNo
Example body:
{
  "CallID": "string",
  "Path": "string"
}

POST /call/record/stop

Stop active call recording.
  • Handler: CallRecordStop
  • Authentication: Session token
FieldTypeRequired
CallIDstringYes
Example body:
{
  "CallID": "string"
}

GET /call/status

List tracked calls or inspect one call by query parameter.
  • Handler: CallStatus
  • Authentication: Session token
No JSON body is required. Optional query: callID=CALL_ID returns one tracked call. Without it, the endpoint returns all tracked calls.

GET /call/webrtc/config

Return STUN config and TURN coming-soon marker.
  • Handler: CallWebRTCConfig
  • Authentication: Session token
No JSON body is required.

POST /call/webrtc/offer

Accept browser SDP offer and return WaGo SDP answer.
  • Handler: CallWebRTCOffer
  • Authentication: Session token
FieldTypeRequired
callIDstringYes
sdpstringYes
typestringNo
Example body:
{
  "callID": "string",
  "sdp": "string",
  "type": "string"
}

POST /call/webrtc/close

Close the browser live-audio bridge without hanging up.
  • Handler: CallWebRTCClose
  • Authentication: Session token
FieldTypeRequired
callIDstringYes
Example body:
{
  "callID": "string"
}

Status

POST /status/text

Text status.
  • Handler: TextStatus
  • Authentication: Session token
FieldTypeRequired
TextstringNo
TextColornumberNo
BackgroundColornumberNo
FontnumberNo
Example body:
{
  "Text": "Hey there! I am using WhatsApp.",
  "TextColor": 4294967295,
  "BackgroundColor": 4285408638,
  "Font": 1
}

POST /status/image

Image status.
  • Handler: ImageStatus
  • Authentication: Session token
FieldTypeRequired
ImagestringNo
CaptionstringNo
Example body:
{
  "Image": "data:image/jpeg;base64,Akd9300...",
  "Caption": "this is caption"
}

POST /status/video

Video status.
  • Handler: VideoStatus
  • Authentication: Session token
No JSON body is required.

Server and admin

GET /server/ok

Health check.
  • Handler: ServerOk
  • Authentication: None
No JSON body is required.

POST /server/license

Read license information.
  • Handler: VerifyLicense
  • Authentication: Admin token
No JSON body is required.

GET /server/update

Check or run server update flow.
  • Handler: UpdateServer
  • Authentication: Admin token
No JSON body is required.