API reference
Every request has the same shape. Replace {method} with one of the names below.
https://flowapi.pro/waInstance{idInstance}/{method}/{apiTokenInstance}- chatId is
972501234567@c.usfor a person and…@g.usfor a group. - Methods marked
GETtake no body; everything else isPOSTwith a JSON body unless the row says multipart. - Responses are JSON. Errors return
{"error":true,"message":"…"}with status 400, 401 or 404. - Existing Green API SDKs work unchanged: set the host / apiUrl to
https://flowapi.pro.
Account
getSettings{"wid":"972…@c.us","webhookUrl":"","incomingWebhook":"yes",…}setSettings{"webhookUrl":"https://…","webhookUrlToken":"secret","incomingWebhook":"yes"}{"saveSettings":true}getStateInstance{"stateInstance":"authorized"} // notAuthorized · starting · authorized · blockedgetStatusInstance{"statusInstance":"online"}reboot{"isReboot":true}logout{"isLogout":true}qr{"type":"qrCode","message":"<base64 png>"} // or {"type":"alreadyLogged"}getAuthorizationCode{"phoneNumber":972501234567}{"status":true,"code":"XXXX-XXXX"}getWaSettings{"avatar":"","phone":"972…","stateInstance":"authorized","deviceId":"…"}setProfilePicturemultipart: file
{"setProfilePicture":true}Sending
sendMessage{"chatId":"972501234567@c.us","message":"Hello","quotedMessageId":"optional"}{"idMessage":"…"}sendFileByUrl{"chatId":"…@c.us","urlFile":"https://…/a.pdf","fileName":"a.pdf","caption":""}{"idMessage":"…"}sendFileByUploadmultipart: chatId, file, caption, fileName
{"idMessage":"…"}uploadFileraw binary body; header X-Filename
{"urlFile":"https://…"}sendLocation{"chatId":"…","nameLocation":"Office","latitude":32.08,"longitude":34.78}{"idMessage":"…"}sendContact{"chatId":"…","contact":{"phoneContact":972…,"firstName":"Dana","lastName":"Levi"}}{"idMessage":"…"}sendPoll{"chatId":"…","message":"Pick","options":[{"optionName":"A"},{"optionName":"B"}],"multipleAnswers":false}{"idMessage":"…"}forwardMessages{"chatId":"…","chatIdFrom":"…","messages":["id1","id2"]}{"messages":["…"]}sendListMessage{"chatId":"…","message":"Pick a time","buttonText":"Choose","sections":[{"title":"Tomorrow","rows":[{"rowId":"am","title":"Morning"}]}]}{"idMessage":"…"} (needs Interactive menus)sendInteractiveButtons{"chatId":"…","header":"","body":"Confirm?","footer":"","buttons":[{"buttonId":"1","type":"reply","buttonText":"Yes"}]}{"idMessage":"…"} (shown as a menu; needs Interactive menus)sendTyping{"chatId":"…","typingType":"typing"}{"sendTyping":true}Receiving
receiveNotification?receiveTimeout=20{"receiptId":12,"body":{"typeWebhook":"incomingMessageReceived",…}} // null when emptydeleteNotification/{receiptId}{"result":true}downloadFile{"chatId":"…","idMessage":"…"}{"downloadUrl":"https://…"}Journals
getChatHistory{"chatId":"…@c.us","count":100}[{"type":"incoming","idMessage":"…","timestamp":…,"typeMessage":"textMessage","textMessage":"…"}]getMessage{"chatId":"…","idMessage":"…"}{…message…}lastIncomingMessages?minutes=1440[…]
lastOutgoingMessages?minutes=1440[…]
Groups
createGroup{"groupName":"Team","chatIds":["972…@c.us"]}{"created":true,"chatId":"…@g.us","groupInviteLink":"…"}updateGroupName{"groupId":"…@g.us","groupName":"New"}{"updateGroupName":true}getGroupData{"groupId":"…@g.us"}{"groupId":"…","subject":"…","participants":[{"id":"…","isAdmin":false}]}addGroupParticipant{"groupId":"…@g.us","participantChatId":"…@c.us"}{"addParticipant":true}removeGroupParticipant{"groupId":"…","participantChatId":"…"}{"removeParticipant":true}setGroupAdmin{"groupId":"…","participantChatId":"…"}{"setGroupAdmin":true}removeAdmin{"groupId":"…","participantChatId":"…"}{"removeAdmin":true}leaveGroup{"groupId":"…@g.us"}{"leaveGroup":true}setGroupPicturemultipart: groupId, file
{"setGroupPicture":true}Service
checkWhatsapp{"phoneNumber":972501234567}{"existsWhatsapp":true}getAvatar{"chatId":"…@c.us"}{"urlAvatar":"https://…","available":true}getContacts[{"id":"…@c.us","name":"…","type":"user"}]getContactInfo{"chatId":"…@c.us"}{"chatId":"…","name":"…","avatar":"…","isBusiness":false}readChat{"chatId":"…","idMessage":"optional"}{"setRead":true}deleteMessage{"chatId":"…","idMessage":"…"}{"deleteMessage":true}editMessage{"chatId":"…","idMessage":"…","message":"fixed"}{"idMessage":"…"}archiveChat{"chatId":"…"}{"archiveChat":true}unarchiveChat{"chatId":"…"}{"unarchiveChat":true}showMessagesQueue[]
clearMessagesQueue{"isCleared":true}Webhooks
Set webhookUrl (and optionally webhookUrlToken, sent as the Authorization header). Each notification is one POST with a JSON body. Answer with any 2xx. Failed deliveries are retried three times and then parked in the queue for receiveNotification.
incomingMessageReceivedA message arrived. messageData.typeMessage is textMessage, imageMessage, documentMessage, locationMessage, contactMessage, pollMessage, reactionMessage, editedMessage or deletedMessage.
outgoingMessageReceivedA message was sent from the phone.
outgoingAPIMessageReceivedA message was sent through the API.
outgoingMessageStatusDelivery status of an outgoing message: sent, delivered, read, played, failed.
stateInstanceChangedThe instance state changed (authorized, notAuthorized, starting).
incomingCallAn incoming voice/video call.
{
"typeWebhook": "incomingMessageReceived",
"instanceData": { "idInstance": 1101000001, "wid": "972…@c.us", "typeInstance": "whatsapp" },
"timestamp": 1791819789,
"idMessage": "…",
"senderData": { "chatId": "972501234567@c.us", "chatName": "Dana", "sender": "972501234567@c.us", "senderName": "Dana" },
"messageData": { "typeMessage": "textMessage", "textMessageData": { "textMessage": "Hi" } }
}Partner API
Manage instances for your own customers with the partner token from the console.
POST https://flowapi.pro/partner/createInstance/{partnerToken} {"name":"Customer A"}
POST https://flowapi.pro/partner/deleteInstance/{partnerToken} {"idInstance":1101000007}
GET https://flowapi.pro/partner/getInstances/{partnerToken}Errors
401Wrong idInstance or apiTokenInstance.404Unknown method, or the chat / message does not exist.400Missing fields, instance not linked, or the WhatsApp engine refused the action — message explains which.All methods
Link a number, read its state and change its settings.
Send text, files, locations, contacts, polls and buttons.
Get incoming messages by long polling instead of a webhook.
Read message history and recent messages.
Create and manage WhatsApp groups.
Contacts, chats, read receipts, edits and other helpers.