openapi: 3.0.0 info: contact: name: Whapi Support email: care@whapi.cloud url: https://whapi.cloud/support description: Sending and receiving messages using HTTP requests. Fixed price with no hidden fees, without limits and restrictions. You will be able to send and receive text/media/files/locations/goods/orders/polls messages via WhatsApp in private or group chats. Guides and SDK can be found on our website. title: WhatsApp API version: 1.8.7 termsOfService: https://whapi.cloud/terms servers: - url: https://gate.whapi.cloud - url: http://localhost:8000 security: - bearerAuth: [] - tokenAuth: [] tags: - name: Channel description: The channel is the main entity of the API. It is the entity that represents the user's WhatsApp session - name: Users description: Manage the WhatsApp users related to the channel - name: Messages description: Manage the messages sent and received by the channel - name: Chats description: Manage the chats of the channel - name: Contacts description: Manage the contacts of the channel - name: Presences description: Contact presence - name: Groups description: Manage the groups of the channel - name: Stories description: WhatsApp Statuses (Stories) Functions - name: Statuses description: WhatsApp View Statuses (ACK) Functions. Use for checking the view status of the group message or story - name: Newsletters description: WhatsApp Channels Functions (Threads) - name: Media description: Manage the media of the channel - name: Business description: WhatsApp Business Functions - name: Labels description: WhatsApp Labels Functions - name: Blacklist description: WhatsApp Blacklist Functions - name: Communities description: WhatsApp Communities Functions - name: Bots description: WhatsApp Bots Functions paths: /health: get: tags: - Channel parameters: - $ref: "#/components/parameters/wakeup" - $ref: "#/components/parameters/platform" - $ref: "#/components/parameters/channel_type" responses: "200": $ref: "#/components/responses/Health" "500": $ref: "#/components/responses/Error" deprecated: false operationId: checkHealth summary: Check health & launch channel description: Allows you to track and get feedback on the operational status of the whapi channel (instance). An instance is a connection with a phone number that has a WhatsApp account, which will be responsible for sending and receiving messages /settings: get: tags: - Channel requestBody: required: false content: application/json: schema: type: object description: OK responses: "200": $ref: "#/components/responses/GetSettings" "500": $ref: "#/components/responses/Error" deprecated: false operationId: getChannelSettings summary: Get channel settings delete: tags: - Channel responses: "200": $ref: "#/components/responses/Success" "409": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Settings already reset "500": $ref: "#/components/responses/Error" deprecated: false operationId: resetChannelSettings summary: Reset channel settings patch: tags: - Channel requestBody: $ref: "#/components/requestBodies/UpdateSettings" responses: "200": $ref: "#/components/responses/UpdateSettings" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong settings format "500": $ref: "#/components/responses/Error" deprecated: false operationId: updateChannelSettings summary: Update channel settings description: If a field is not present in the request, no change is made to that setting. For example, if 'proxy' is not sent with the request, the existing configuration for 'proxy' is unchanged. callbacks: incomingWebhook: "{$request.body#/webhooks[0].url}": post: requestBody: content: application/json: schema: $ref: "#/components/schemas/WebhookPayload" responses: "200": description: OK /settings/events: get: tags: - Channel responses: "200": content: application/json: schema: $ref: "#/components/schemas/Events" description: OK "500": $ref: "#/components/responses/Error" deprecated: false operationId: getAllowedEvents summary: Get allowed events description: Get a list of specific events that you can be notified about when Webhook is configured /settings/webhook_test: post: tags: - Channel requestBody: $ref: "#/components/requestBodies/WebhookTest" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong parameters "500": $ref: "#/components/responses/Error" deprecated: false operationId: webhookTest summary: Test webhook description: Sends a test webhook callback to the specified URL. /users/login: get: tags: - Users parameters: - $ref: "#/components/parameters/wakeup" - $ref: "#/components/parameters/Size" - $ref: "#/components/parameters/Width" - $ref: "#/components/parameters/Height" - $ref: "#/components/parameters/ColorLight" - $ref: "#/components/parameters/ColorDark" responses: "200": $ref: "#/components/responses/UserLogin" "406": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Not acceptable for mobile type channel "409": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Channel already authenticated "422": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Render QR failed "500": $ref: "#/components/responses/Error" deprecated: false operationId: loginUser summary: Login user with QR-base64 description: This method returns an image of the type base64. You can render this in a component of the type image that is compatible with the language that you use to program. Just like on WhatsApp Web you will need to read a QR code to connect to Whapi.Cloud. There are two ways that you can do the reading of the QR code. Connect through our dashboard panel or Make this experience available within your own application. /users/login/image: get: tags: - Users parameters: - $ref: "#/components/parameters/wakeup" - $ref: "#/components/parameters/Size" - $ref: "#/components/parameters/Width" - $ref: "#/components/parameters/Height" - $ref: "#/components/parameters/ColorLight" - $ref: "#/components/parameters/ColorDark" responses: "200": $ref: "#/components/responses/Image" "500": $ref: "#/components/responses/Error" deprecated: false operationId: loginUserImage summary: Login user with QR-image description: This method returns an image. Just like on WhatsApp Web you will need to read a QR code to connect to Whapi.Cloud. There are two ways that you can do the reading of the QR code. Connect through our dashboard panel or Make this experience available within your own application. /users/login/rowdata: get: tags: - Users parameters: - $ref: "#/components/parameters/wakeup" responses: "200": $ref: "#/components/responses/UserLogin" "406": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Not acceptable for mobile type channel "409": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Channel already authenticated "500": $ref: "#/components/responses/Error" deprecated: false operationId: loginUserRowData summary: Login user with QR-rowdata /users/login/{PhoneNumber}: get: tags: - Users parameters: - $ref: "#/components/parameters/PhoneNumber" responses: "200": $ref: "#/components/responses/AuthCode" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Invalid phone number "406": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Not acceptable for mobile type channel "409": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Channel already authenticated "422": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Render QR failed "500": $ref: "#/components/responses/Error" deprecated: false operationId: loginUserViaAuthCode summary: Get auth code by phone number description: This method returns a code that allows you to connect the phone number to the API without the need to scan a QR code, simply by entering the generated code. /users/logout: post: tags: - Users responses: "200": $ref: "#/components/responses/Success" "409": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Channel already logged out "500": $ref: "#/components/responses/Error" deprecated: false operationId: logoutUser summary: Logout user /users/profile: get: tags: - Users responses: "200": $ref: "#/components/responses/UserProfile" "500": $ref: "#/components/responses/Error" deprecated: false operationId: getUserProfile summary: User info description: The method allows you to get information about your WhatsApp profile patch: tags: - Users requestBody: content: application/json: example: name: Some Cool Name about: Some Cool About icon: https://pps.whatsapp.net/v/... schema: $ref: "#/components/schemas/UserProfileUpdate" multipart/form-data: schema: $ref: "#/components/schemas/UserProfileUpdate" description: Change user profile required: true responses: "200": $ref: "#/components/responses/Success" "500": $ref: "#/components/responses/Error" deprecated: false operationId: updateUserProfile summary: Update user info description: This method is responsible for changing the details of your WhatsApp profile /status: put: tags: - Users requestBody: content: application/json: schema: $ref: "#/components/schemas/ChangeStatusRequest" description: New about text required: true responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "500": $ref: "#/components/responses/Error" deprecated: false operationId: changeStatus summary: Change status text description: Updates the "About" text of the account /messages/list: get: tags: - Messages parameters: - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/time_from" - $ref: "#/components/parameters/time_to" - $ref: "#/components/parameters/normal_types" - $ref: "#/components/parameters/author" - $ref: "#/components/parameters/from_me" - $ref: "#/components/parameters/sort" responses: "200": $ref: "#/components/responses/Messages" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "500": $ref: "#/components/responses/Error" deprecated: false operationId: getMessages summary: Get messages description: The method contains a list of all received and sent messages in a particular chat. Sorting by descending date of message sending. /messages/list/{ChatID}: get: tags: - Messages parameters: - $ref: "#/components/parameters/ChatID" - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/time_from" - $ref: "#/components/parameters/time_to" - $ref: "#/components/parameters/normal_types" - $ref: "#/components/parameters/author" - $ref: "#/components/parameters/from_me" - $ref: "#/components/parameters/sort" responses: "200": $ref: "#/components/responses/Messages" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified chat not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getMessagesByChatID summary: Get messages by chat ID description: The method contains a list of all received and sent messages in a particular chat. Sorting by descending date of message sending. You will need to specify [Chat ID](https://support.whapi.cloud/help-desk/faq/chat-id.-what-is-it-and-how-to-get-it) /messages/text: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderText" example: to: "61371989950" body: Hello, this message was sent via API! multipart/form-data: schema: $ref: "#/components/schemas/SenderText" description: Message text required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request body too large "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageText summary: ๐Ÿ’ฌ Send text message description: This endpoint will let you send messages to any WhatsApp-enabled phone number or to any WhatsApp Group/Channel using your own number connected to Whapi.Cloud. Follow the instructions if you want to [format text](https://support.whapi.cloud/help-desk/faq/whatsapp-text-formatting), [send a emoji](https://support.whapi.cloud/help-desk/sending/send-emoji) or [use line breaks](https://support.whapi.cloud/help-desk/faq/how-to-send-a-paragraph-line-break). /messages/image: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderImage" example: to: "61371989950" caption: Hello, this message was sent via API! media: https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg multipart/form-data: schema: $ref: "#/components/schemas/SenderImage" description: Message image required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageImage summary: ๐Ÿ–ผ Send media-image message description: This method is responsible for sending images for chats. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /messages/video: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderVideo" example: to: "61371989950" caption: Hello, this message was sent via API! media: https://whapi.cloud/assets/img/example/example.mp4 multipart/form-data: schema: $ref: "#/components/schemas/SenderVideo" description: Message video required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageVideo summary: ๐ŸŽฅ Send media-video message description: This method is responsible for sending a video message for chats. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /messages/short: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderShort" example: to: "61371989950" media: https://whapi.cloud/assets/img/example/example.mp4 multipart/form-data: schema: $ref: "#/components/schemas/SenderShort" description: Message short required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageShort summary: ๐Ÿ“น Send media-short video message (PTV) description: This method is responsible for sending a short video in the circle for chats. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /messages/gif: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderGif" example: to: "61371989950" media: https://theminimalistfisherman.com/wp-content/uploads/2024/01/confused-cat-gif.gif multipart/form-data: schema: $ref: "#/components/schemas/SenderGif" description: Message gif required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageGif summary: ๐ŸŽฌ Send media-gif message description: Method responsible for sending GIFs to your chats through the API (The file to be sent must be an MP4) /messages/audio: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderAudio" example: to: "61371989950" media: https://filesamples.com/samples/audio/mp3/sample1.mp3 multipart/form-data: schema: $ref: "#/components/schemas/SenderAudio" description: Message audio required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageAudio summary: ๐ŸŽต Send media-audio message description: This method is responsible for sending audio messages for chats. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /messages/voice: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderVoice" example: to: "61371989950" media: https://upload.wikimedia.org/wikipedia/commons/c/c8/Example.ogg multipart/form-data: schema: $ref: "#/components/schemas/SenderVoice" description: Message voice required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageVoice summary: ๐ŸŽค Send media-voice message description: This method is responsible for sending a voice message for chats. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document). However, there are [some nuances](https://support.whapi.cloud/help-desk/sending/overview-of-other-methods-for-sending/send-voice-message) when sending voice messages /messages/document: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderDocument" example: to: "61371989950" media: https://filesamples.com/samples/document/pdf/sample2.pdf filename: Example caption: Text caption under the document multipart/form-data: schema: $ref: "#/components/schemas/SenderDocument" description: Message document required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageDocument summary: ๐Ÿ“‘ Send media-document message description: This method is responsible for sending documents for chats. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /messages/link_preview: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderLinkPreview" example: to: "61371989950" body: Here you can write text about a page on this site. It is important that this text must contain a link to be sent in the message! https://whapi.cloud/features title: The title of your link media: https://whapi.cloud/assets/img/content/whatsapp-cloud-api.png multipart/form-data: schema: $ref: "#/components/schemas/SenderLinkPreview" description: Message link preview send parameters required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageLinkPreview summary: ๐Ÿ“Ž Send link preview message description: Method responsible for sending links with customize preview to your contacts, it is used to share links so that the user can be redirected to a website. Your link must necessarily be in the Body parameter. It is important for you to know that [the link is only clickable](https://support.whapi.cloud/help-desk/faq/inactive-links-in-whatsapp-messages) if the recipient already has your phone number in their contacts, or if they start a conversation with you /messages/location: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderLocation" multipart/form-data: schema: $ref: "#/components/schemas/SenderLocation" description: Message location required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request body too large "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageLocation summary: ๐Ÿ“ Send location message description: Method responsible for sending a fixed location to your contacts, it is mostly used to send an addressโ€™s location /messages/live_location: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderLiveLocation" multipart/form-data: schema: $ref: "#/components/schemas/SenderLiveLocation" description: Message live location required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request body too large "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageLiveLocation summary: ๐Ÿงญ Send live location message /messages/contact: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderContact" example: to: "61371989950" name: Name of contact vcard: |- BEGIN:VCARD VERSION:3.0 N:Last Name;Example First Name;;; FN:Example First Name Last Name ORG:Company Name Department TITLE:Job Title NOTE:null TEL;type=Mobile:+90 850242323 item1.URL:www.youdomain.com item1.X-ABLabel:OTHER EMAIL;TYPE=Home:test@yourdomain.com item2.ADR;type=Home:;;Street Example;Istanbul;;;Turkey item2.X-ABADR: END:VCARD multipart/form-data: schema: $ref: "#/components/schemas/SenderContact" description: Message contact required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request body too large "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageContact summary: ๐Ÿ‘ค Send contact message description: Simple and straightforward, this method allows you to send a contact. You don't need to have it added to your contacts list; simply fill in the method attributes with the contact information and send. [A few ready examples](https://support.whapi.cloud/help-desk/sending/overview-of-other-methods-for-sending/send-contact-vcard) /messages/contact_list: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderContactList" multipart/form-data: schema: $ref: "#/components/schemas/SenderContactList" description: Message contact list required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request body too large "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageContactList summary: ๐Ÿ‘ฅ Send contact list message description: Simple and straightforward, this method allows you to send multiple contacts. You don't need to have them in your contacts; just fill the method's attributes with the contact information and send. [A few ready examples](https://support.whapi.cloud/help-desk/sending/overview-of-other-methods-for-sending/send-contact-vcard) /messages/poll: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderPoll" multipart/form-data: schema: $ref: "#/components/schemas/SenderPoll" description: Message poll required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessagePoll summary: ๐Ÿ“Š Send poll message description: In this method, you can send poll-type messages. Often, it's the polls that replace [the buttons for interactive communication](https://support.whapi.cloud/help-desk/hints/how-to-use-polls-as-buttons) /messages/interactive: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderInteractive" multipart/form-data: schema: $ref: "#/components/schemas/SenderInteractive" description: Message interactive required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageInteractive summary: ๐ŸŽฎ Send interactive message description: This endpoint is responsible for sending messages with buttons. The section is constantly updated as the functionality of buttons depends on WhatsApp updates. Attention! The functionality of sending messages with buttons is not stable! For more information, please visit the [Button Status topic](https://support.whapi.cloud/help-desk/faq/current-status-of-buttons-on-whatsapp). /messages/carousel: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderCarousel" multipart/form-data: schema: $ref: "#/components/schemas/SenderCarousel" description: Message carousel required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageCarousel summary: ๐Ÿ–ผ๏ธ Send carousel message description: Sends interactive carousel messages with media, captions, and buttons (link, call, reply). The carousel messaging feature depends on WhatsApp updates. For more information, please visit the [Buttons Status topic](https://support.whapi.cloud/help-desk/faq/current-status-of-buttons-on-whatsapp). /messages/sticker: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderSticker" multipart/form-data: schema: $ref: "#/components/schemas/SenderSticker" description: Message sticker required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageSticker summary: ๐ŸŽญ Send media-sticker message description: This method is responsible for sending a sticker message for chats. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /messages/story: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderStories" multipart/form-data: schema: $ref: "#/components/schemas/SenderStories" description: Stories post parameters required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for posting stories "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageStory summary: ๐Ÿ‘๏ธโ€๐Ÿ—จ๏ธ Send story message description: The method responsible for sending images or texts to your status. Remember that statuses disappear after 24 hours. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /messages/story/audio: post: tags: - Messages requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderStoriesAudio" multipart/form-data: schema: $ref: "#/components/schemas/SenderStoriesAudio" description: Stories post parameters for audio required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for posting stories "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageStoryAudio summary: ๐ŸŽต๏ธ Send story audio message description: The method responsible for sending audio to your status. Remember that statuses disappear after 24 hours. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /messages/story/media: post: tags: - Messages requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/SenderStoriesMedia" application/json: schema: $ref: "#/components/schemas/SenderStoriesMedia" description: Media stories post parameters required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for posting stories "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageStoryMedia summary: ๐Ÿ–ผ Send story media message description: The method responsible for sending images or video to your status. Remember that statuses disappear after 24 hours. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /messages/story/text: post: tags: - Messages - Stories requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderStoriesText" description: Text stories post parameters required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for posting stories "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMessageStoryText summary: ๐Ÿ’ฌ Send story text message description: The method responsible for sending texts to your status. Remember that statuses disappear after 24 hours. /messages/media/{MediaMessageType}: post: tags: - Messages parameters: - $ref: "#/components/parameters/MediaMessageType" - $ref: "#/components/parameters/send_params" requestBody: $ref: "#/components/requestBodies/UploadMedia" responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMediaMessage summary: ๐Ÿ“Ž Send media message description: | Additional endpoint for easy send media-file as message. Use request body as file and inpath parameters for send parameters. Media message can be one of the following types: - ๐Ÿ“ท image - ๐ŸŽฅ video - ๐ŸŽฌ gif - ๐ŸŽต audio - ๐ŸŽค voice - ๐Ÿ“„ document - ๐ŸŽญ sticker /messages/{MessageID}: get: tags: - Messages parameters: - $ref: "#/components/parameters/MessageID" - $ref: "#/components/parameters/resync" responses: "200": $ref: "#/components/responses/Message" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified message not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getMessage summary: Get message description: The method returns a message from any chat by message id. post: tags: - Messages parameters: - $ref: "#/components/parameters/MessageID" requestBody: content: application/json: schema: $ref: "#/components/schemas/ForwardMessage" description: Forward message required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for forward message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified message not found "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: forwardMessage summary: โ†ช Forward message description: Simple and straightforward, in this method, you can forward messages through the API by providing the messageId of the message you want to forward and the phone number of the chat where this messageId is located. put: tags: - Messages parameters: - $ref: "#/components/parameters/MessageID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for mark as read message "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified message not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: markMessageAsRead summary: โœ”โœ” Mark message as read delete: tags: - Messages parameters: - $ref: "#/components/parameters/MessageID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for delete message "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified message not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: deleteMessage summary: โŒ Delete message description: Method used to delete a text sent in a chat. You will be able to delete a message that you sent as well as a message that was sent by a contact. To use this resource you will only need the messageId of the message that you want to delete. /messages/{MessageID}/reaction: put: tags: - Messages parameters: - $ref: "#/components/parameters/MessageID" requestBody: content: application/json: schema: $ref: "#/components/schemas/ReactToMessage" description: React to message required: true responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for react to message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified message not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: reactToMessage summary: ๐Ÿ˜ React to message description: In this method you will be able to react to messages that were sent or received by you. You will need to specify the ID of the message you will respond to, as well as [the emoji](https://support.whapi.cloud/help-desk/sending/send-emoji) delete: tags: - Messages parameters: - $ref: "#/components/parameters/MessageID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for react to message "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified message not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: removeReactFromMessage summary: Remove react from message description: In this method you will be able to remove react from message. /messages/{MessageID}/star: put: tags: - Messages parameters: - $ref: "#/components/parameters/MessageID" requestBody: content: application/json: schema: $ref: "#/components/schemas/Star" description: Star message required: true responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for star message "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified message not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: starMessage summary: โญ Star message /messages/{MessageID}/pin: post: tags: - Messages parameters: - $ref: "#/components/parameters/MessageID" requestBody: content: application/json: schema: $ref: "#/components/schemas/Pin" description: Star message required: true responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for star message "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified message not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: pinMessage summary: ๐Ÿ“Œ Pin message delete: tags: - Messages parameters: - $ref: "#/components/parameters/MessageID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for star message "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified message not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: unpinMessage summary: Unpin message /chats: get: tags: - Chats parameters: - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" responses: "200": $ref: "#/components/responses/Chats" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "500": $ref: "#/components/responses/Error" deprecated: false operationId: getChats summary: Get chats description: This method is responsible for returning all of your chats. If you need to get a profile pic of your contacts or chats, [refer to these instructions](https://support.whapi.cloud/help-desk/receiving/http-api/get-a-profile-picture-of-a-chat-or-user). /chats/{ChatID}: get: tags: - Chats parameters: - $ref: "#/components/parameters/ChatID" responses: "200": $ref: "#/components/responses/Chat" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified chat not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getChat summary: Get chat description: This method is responsible for returning the metadata of a chat. Read more about [Chat ID](https://support.whapi.cloud/help-desk/faq/chat-id.-what-is-it-and-how-to-get-it) delete: tags: - Chats parameters: - $ref: "#/components/parameters/ChatID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for delete chat "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified chat not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: deleteChat summary: โŒ Delete chat description: This method is responsible for deleting chats post: tags: - Chats parameters: - $ref: "#/components/parameters/ChatID" requestBody: content: application/json: schema: $ref: "#/components/schemas/ArchiveChatRequest" description: Request body responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for archive/unarchive chat "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified chat not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: archiveChat summary: ๐Ÿ—„ Archive/Unarchive chat description: This method is responsible for archiving or unarchiving chats patch: tags: - Chats parameters: - $ref: "#/components/parameters/ChatID" requestBody: content: application/json: schema: $ref: "#/components/schemas/PatchChatRequest" description: Request body responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for patch chat "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified chat not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: patchChat summary: "โš™๏ธChat Settings Management: Pin, Mute, Read, Disappearing." description: This method is responsible for pinning and unpinning, for muting and unmuting your chats. Also this method is responsible for performing the action of reading an entire chat or marking a chat as unread /contacts: get: tags: - Contacts parameters: - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" responses: "200": $ref: "#/components/responses/Contacts" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getContacts summary: Get contacts description: This method is responsible for returning all of your Whatsapp contacts post: tags: - Contacts requestBody: content: application/json: schema: $ref: "#/components/schemas/CheckContactRequest" example: force_check: false contacts: - "{{Recipient-WA-ID}}" description: Contact data required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/CheckContactResponse" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for check phones "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: checkPhones summary: Check phones description: This method returns whether or not the number has Whatsapp. Batch check provisioning is supported, and there is no batch check limit. However, an atypical mass check can draw attention to your number, so we advise [balancing the check between channels](https://support.whapi.cloud/help-desk/faq/checking-if-the-number-has-whatsapp) put: tags: - Contacts requestBody: content: application/json: schema: $ref: "#/components/schemas/AddContactRequest" example: phone: 61371989950 name: Contact description: Add new contact required: true responses: "200": $ref: "#/components/responses/Contact" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Channel authorization is required to add a contact "409": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: The contact already exists "500": $ref: "#/components/responses/Error" deprecated: false operationId: addContact summary: Add contact description: Add contact on mobile app and on the channel /contacts/{ContactID}: get: tags: - Contacts parameters: - $ref: "#/components/parameters/ContactID" responses: "200": $ref: "#/components/responses/Contact" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getContact summary: Get contact description: This method is responsible for returning all of you contactโ€™s metadata post: tags: - Contacts parameters: - $ref: "#/components/parameters/ContactID" requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderContactFromPhonebook" multipart/form-data: schema: $ref: "#/components/schemas/SenderContactFromPhonebook" description: Message contact required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send contact "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not found "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendContact summary: Send contact head: tags: - Contacts parameters: - $ref: "#/components/parameters/ContactID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not registered "500": $ref: "#/components/responses/Error" deprecated: false operationId: checkExist summary: Check exist description: The method individually checks for a number in WhatsApp without additional information patch: tags: - Contacts parameters: - $ref: "#/components/parameters/ContactID" requestBody: content: application/json: schema: $ref: "#/components/schemas/EditContactRequest" example: name: Contact responses: "200": $ref: "#/components/responses/Contact" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not registered "500": $ref: "#/components/responses/Error" deprecated: false operationId: editContact summary: Edit contact description: The method allow to edit contact on mobile app and on the channel delete: tags: - Contacts parameters: - $ref: "#/components/parameters/ContactID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not registered "500": $ref: "#/components/responses/Error" deprecated: false operationId: deleteContact summary: Delete contact description: The method allow to remove contact on mobile app and on the channel /contacts/{ContactID}/profile: get: tags: - Contacts parameters: - $ref: "#/components/parameters/ContactID" responses: "200": $ref: "#/components/responses/UserProfile" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for getting user info "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified user not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getContactProfile summary: Get profile description: This method allows you to get profile information (description, profile image) by phone number, even if it is not in your contact list /contacts/lids: get: tags: - Contacts parameters: - $ref: "#/components/parameters/ContactIDList" responses: "200": $ref: "#/components/responses/Lids" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "500": $ref: "#/components/responses/Error" deprecated: false operationId: getLidByIds summary: Get LIDs by IDs description: Retrieve Linked IDs (LIDs) for specified user IDs /contacts/lids/{ContactID}: get: tags: - Contacts parameters: - $ref: "#/components/parameters/ContactID" responses: "200": $ref: "#/components/responses/Lid" "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: User not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getLidById summary: Get LID by ID description: Retrieve Linked ID (LID) for a single user /presences/me: put: tags: - Presences requestBody: content: application/json: schema: $ref: "#/components/schemas/SendMePresenceRequest" responses: "200": content: application/json: schema: $ref: "#/components/schemas/CheckContactResponse" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization to send online or offline presence "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendMePresence summary: Send online or offline presence /presences/{EntryID}: get: tags: - Presences parameters: - $ref: "#/components/parameters/EntryID" responses: "200": $ref: "#/components/responses/Presence" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization to get presence "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact presence not subscribed "500": $ref: "#/components/responses/Error" deprecated: false operationId: getPresence summary: Get presence post: tags: - Presences parameters: - $ref: "#/components/parameters/EntryID" responses: "200": content: application/json: schema: $ref: "#/components/schemas/CheckContactResponse" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization to subscribe to presence "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not found in whatsapp "409": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact presence already subscribed "500": $ref: "#/components/responses/Error" deprecated: false operationId: subscribePresence summary: Subscribe to presence put: tags: - Presences parameters: - $ref: "#/components/parameters/EntryID" requestBody: content: application/json: schema: $ref: "#/components/schemas/SendPresenceRequest" responses: "200": content: application/json: schema: $ref: "#/components/schemas/CheckContactResponse" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization to send typing or recording presence "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendPresence summary: Send typing or recording presence /groups: get: tags: - Groups parameters: - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" responses: "200": $ref: "#/components/responses/Groups" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "500": $ref: "#/components/responses/Error" deprecated: false operationId: getGroups summary: Get groups post: tags: - Groups requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateGroupRequest" example: subject: description: Group data required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/GroupCreate" description: "" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for create group "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified participant not found in contacts list "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: createGroup summary: Create group description: This method is responsible for creating a group with its respective participants. Just like WhatsApp you will need to add at least one contact to be able to create a group. Due to WhatsApp's anti-spam policy, some contacts are not automatically added to the group. [Read more here](https://support.whapi.cloud/help-desk/groups/add-new-member-to-group) put: tags: - Groups requestBody: content: application/json: schema: $ref: "#/components/schemas/GroupInvite" example: invite_code: description: Group data required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/NewGroup" description: "" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for accept invite link "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong invite code "500": $ref: "#/components/responses/Error" deprecated: false operationId: acceptGroupInvite summary: Accept group invite description: Allows you to join a group by knowing its invitation code /groups/{GroupID}: get: tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/Group" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getGroup summary: Get group description: This method returns the group metadata with all information about the group and its participants put: tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" requestBody: description: "" content: application/json: schema: $ref: "#/components/schemas/UpdateGroupInfoRequest" example: subject: required: true responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for update group "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: You do not have permissions for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: updateGroupInfo summary: Update group info description: This method is responsible for changing the name and description of a group that already exists delete: tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for leave group "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: leaveGroup summary: Leave group description: This method allows you to leave a group that you are a member of patch: tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" requestBody: description: "" content: application/json: schema: $ref: "#/components/schemas/UpdateGroupSettingRequest" example: subject: required: true responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for update group "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: You do not have permissions for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: updateGroupSetting summary: Update group setting description: This method is responsible for changing the privacy settings for group /groups/{GroupID}/invite: get: tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" responses: "200": content: application/json: schema: $ref: "#/components/schemas/GroupInvite" description: "" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for create invite link "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: You do not have permissions for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getGroupInvite summary: Get group invite description: This method retrieves the ID of the group invitation. [What it is and how to work with it](https://support.whapi.cloud/help-desk/groups/add-new-member-to-group#sending-an-invitation-to-a-group) delete: tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for delete invite link "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: revokeGroupInvite summary: Revoke group invite /groups/{GroupID}/participants: post: requestBody: $ref: "#/components/requestBodies/ListParticipants" required: true tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/ListParticipants" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for add participant "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: You do not have permissions for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group or participant not found "409": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified participant already in group "500": $ref: "#/components/responses/Error" deprecated: false operationId: addGroupParticipant summary: Add group participant description: This method is responsible for adding new members to the group. Due to WhatsApp's anti-spam policy, some contacts are not automatically added to the group. [Read more here](https://support.whapi.cloud/help-desk/groups/add-new-member-to-group) delete: requestBody: $ref: "#/components/requestBodies/ListParticipants" required: true tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/ListParticipants" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for remove participant "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: You do not have permissions for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group or participant not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: removeGroupParticipant summary: Remove group participant description: This method is responsible for removing members of the group /groups/{GroupID}/icon: get: tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/Image" "204": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Group icon not set "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for get group icon "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: You do not have permissions for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getGroupIcon summary: Get group icon description: This method returns the profile image of group put: requestBody: $ref: "#/components/requestBodies/UploadImage" tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for set group icon "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: You do not have permissions for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: setGroupIcon summary: Set group icon description: This method is responsible for changing a group image that already exists delete: tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for delete group icon "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: You do not have permissions for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: deleteGroupIcon summary: Delete group icon /groups/{GroupID}/admins: delete: requestBody: $ref: "#/components/requestBodies/ListParticipants" tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for demote group admin "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: You do not have permissions for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group or participant not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: demoteGroupAdmin summary: Demote group admin description: This method is responsible for removing one or more admins from a group patch: requestBody: $ref: "#/components/requestBodies/ListParticipants" tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for promote group admin "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: You do not have permissions for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group or participant not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: promoteToGroupAdmin summary: Promote to group admin description: This method is responsible for promoting group members to admins, you can promote one or more members to admins /groups/link/{InviteCode}: post: tags: - Groups parameters: - $ref: "#/components/parameters/InviteCode" requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderGroupInviteByCode" multipart/form-data: schema: $ref: "#/components/schemas/SenderGroupInviteByCode" description: Message group invite required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for this action "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendGroupInvite summary: Send group invite link get: tags: - Groups parameters: - $ref: "#/components/parameters/InviteCode" responses: "200": $ref: "#/components/responses/GroupInfoByInviteCode" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: getGroupMetadataByInviteCode summary: Get group info by invite code /groups/{GroupID}/applications: get: tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" responses: "200": $ref: "#/components/responses/GroupApplications" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getGroupApplicationsList summary: Get list of join requests to the group description: This method returns the list of join requests to the group post: tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" requestBody: $ref: "#/components/requestBodies/ApplicationRequest" responses: "200": $ref: "#/components/responses/GroupApplicationsChange" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: approveGroupApplicationsList summary: Accept group application for listed user description: This method accepts a single join request (application) for the specified group. To accept multiple applications, you need to call this method in a loop, passing each application ID separately. delete: tags: - Groups parameters: - $ref: "#/components/parameters/GroupID" requestBody: $ref: "#/components/requestBodies/ApplicationRequest" responses: "200": $ref: "#/components/responses/GroupApplicationsChange" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified group not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: rejectGroupApplicationsList summary: Reject group applications for listed users description: This method rejects a single join request (application) for the specified group. To reject multiple applications, you need to call this method in a loop, passing each application ID separately. /stories: get: tags: - Stories parameters: - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/time_from" - $ref: "#/components/parameters/time_to" - $ref: "#/components/parameters/normal_types" - $ref: "#/components/parameters/author" - $ref: "#/components/parameters/from_me" responses: "200": $ref: "#/components/responses/Messages" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "500": $ref: "#/components/responses/Error" deprecated: false operationId: getStories summary: Get list of stories post: tags: - Stories requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderStories" description: Stories post parameters required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for posting stories "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: createStory summary: Create & publish story description: The method responsible for sending images or texts to your status. Remember that statuses disappear after 24 hours. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /stories/send/text: post: tags: - Stories requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderStoriesText" description: Text stories post parameters required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for posting stories "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: createStoryText summary: ๐Ÿ’ฌ Post text story description: The method responsible for sending texts to your status. Remember that statuses disappear after 24 hours. /stories/send/media: post: tags: - Stories requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/SenderStoriesMedia" application/json: schema: $ref: "#/components/schemas/SenderStoriesMedia" description: Media stories post parameters required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for posting stories "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: createStoryMedia summary: ๐Ÿ–ผ Post media story description: The method responsible for sending images or video to your status. Remember that statuses disappear after 24 hours. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /stories/send/audio: post: tags: - Stories requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderStoriesAudio" multipart/form-data: schema: $ref: "#/components/schemas/SenderStoriesAudio" description: Stories post parameters for audio required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for posting stories "402": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Trial version limit exceeded "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: It is forbidden to send to this group/recipient "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Media with specified id not found "413": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Request media too large "415": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Unsupported media type "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: createStoryAudio summary: ๐ŸŽต๏ธ Post audio story description: The method responsible for sending audio to your status. Remember that statuses disappear after 24 hours. The requirements for [sending all media types are identical](https://support.whapi.cloud/help-desk/sending/send-video-audio-image-document) /stories/{MessageID}: get: tags: - Stories parameters: - $ref: "#/components/parameters/MessageID" responses: "200": $ref: "#/components/responses/Message" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified story not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getStory summary: Get story put: tags: - Stories parameters: - $ref: "#/components/parameters/MessageID" requestBody: content: application/json: schema: $ref: "#/components/schemas/CopyStories" description: Stories post parameters required: true responses: "201": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified story not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: copyStory summary: Copy story /statuses/{MessageID}: get: tags: - Statuses parameters: - $ref: "#/components/parameters/MessageID" responses: "200": $ref: "#/components/responses/Statuses" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: View statuses available only for outgoing messages "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified message not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getMessageViewStatuses summary: Get message or story view statuses /newsletters: get: tags: - Newsletters parameters: - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" responses: "200": $ref: "#/components/responses/Newsletters" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "500": $ref: "#/components/responses/Error" deprecated: false operationId: getNewsletters summary: Get newsletters description: This method returns a list with metadata of your own WhatsApp Channel and followed Channels, including all Channel information and their views. post: tags: - Newsletters requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateNewsletterRequest" example: name: description: Newsletter data required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/Newsletter" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for create newsletter "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified participant not found in contacts list "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: createNewsletter summary: Create newsletter description: This method is responsible for creating a WhatsApp Channel. [How to send a post to WhatsApp Channel](https://support.whapi.cloud/help-desk/channels/send-post-to-whatsapp-channel) /newsletters/find: get: tags: - Newsletters parameters: - $ref: "#/components/parameters/country_code" - $ref: "#/components/parameters/search" - $ref: "#/components/parameters/newsletter_field" - $ref: "#/components/parameters/cursor" - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/sort" responses: "200": $ref: "#/components/responses/NewslettersListPaged" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: findNewsletter summary: Find newsletters by filters description: This method returns a list of WhatsApp Channels data based on the search performed using filters provided in the request body /newsletters/recommended: get: tags: - Newsletters parameters: - $ref: "#/components/parameters/country_code" - $ref: "#/components/parameters/cursor" - $ref: "#/components/parameters/count" responses: "200": $ref: "#/components/responses/NewslettersListPaged" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: recommendedNewsletter summary: Get recommended newsletters by country description: This method returns a list of WhatsApp Channels data based on the search performed using filters provided in the request body /newsletters/{NewsletterID}: get: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterID" - $ref: "#/components/parameters/role" responses: "200": $ref: "#/components/responses/Messages" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getNewsletter summary: Get newsletter information description: This method returns the metadata of a WhatsApp Channel delete: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need to be owner of newsletter "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: deleteNewsletter summary: Delete newsletter description: This method is responsible for deleting a WhatsApp Channel patch: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterID" requestBody: content: application/json: schema: $ref: "#/components/schemas/editNewsletterRequest" example: name: description: Newsletter data required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/Newsletter" description: OK "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need admin permissions for edit newsletter "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: editNewsletter summary: Edit newsletter description: This method is responsible for editing a WhatsApp Newsletter Channel /newsletters/{NewsletterID}/subscription: post: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: subscribeNewsletter summary: Subscribe to newsletter description: This method is responsible for following a WhatsApp Channel delete: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: unsubscribeNewsletter summary: Unsubscribe from newsletter description: This method is responsible for unfollowing a WhatsApp Channel /newsletters/invite/{NewsletterInviteCode}/subscription: post: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterInviteCode" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: subscribeNewsletterInvite summary: Subscribe to newsletter by invite code description: This method is responsible for following a WhatsApp Channel. Read more about how to get an [invite code](https://support.whapi.cloud/help-desk/channels/send-channel-newsletter-invite-link). delete: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterInviteCode" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: unsubscribeNewsletterInvite summary: Unsubscribe from newsletter by invite code description: This method is responsible for unfollowing a WhatsApp Channel. Read more about how to get an [invite code](https://support.whapi.cloud/help-desk/channels/send-channel-newsletter-invite-link). /newsletters/{NewsletterID}/tracking: post: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: trackingNewsletter summary: Subscribe to newsletter updates description: It is necessary to receive notifications about new votes in the polls /newsletters/{NewsletterID}/messages: get: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterID" - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/before" - $ref: "#/components/parameters/after" responses: "200": $ref: "#/components/responses/Messages" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getMessagesNewsletter summary: Get newsletter messages description: The method returns the history of WhatsApp Channel messages /newsletters/{NewsletterID}/invite/{ContactID}: post: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterID" - $ref: "#/components/parameters/ContactID" requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateNewsletterAdminInviteRequest" example: message: description: Invite data responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: createNewsletterAdminInvite summary: Create Newsletter admin-invite description: This method is responsible for sending an invitation for WhatsApp Channel administrator. Once the invitation is created, an invitation message will be sent to the contact delete: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterID" - $ref: "#/components/parameters/ContactID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: revokeNewsletterAdminInvite summary: Revoke Newsletter admin-invite description: This method is responsible for revoking an invitation for WhatsApp Channel administrator. /newsletters/{NewsletterID}/admins/{ContactID}: put: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterID" - $ref: "#/components/parameters/ContactID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: acceptNewsletterAdminRequest summary: Accept Newsletter admin-request description: This method is responsible for accepting an request to become an administrator of a WhatsApp Channel. This request is a message that you can both send like invitation and receive through the received message webhook delete: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterID" - $ref: "#/components/parameters/ContactID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: demoteNewsletterAdmin summary: Demote Newsletter admin description: This method is responsible for removing a user from the administration of the WhatsApp Channel /newsletters/link/{NewsletterInviteCode}: post: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterInviteCode" requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderNewsletterInviteByCode" multipart/form-data: schema: $ref: "#/components/schemas/SenderNewsletterInviteByCode" description: Newsletter invite link required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendNewsletterInvite summary: Send newsletter invite link description: Read more about how to get an [invite code](https://support.whapi.cloud/help-desk/channels/send-channel-newsletter-invite-link). get: tags: - Newsletters parameters: - $ref: "#/components/parameters/NewsletterInviteCode" responses: "200": $ref: "#/components/responses/Newsletter" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified newsletter not found "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: getNewsletterByInviteCode summary: Get newsletter info by invite code description: Read more about how to get an [invite code](https://support.whapi.cloud/help-desk/channels/send-channel-newsletter-invite-link). /media: post: requestBody: $ref: "#/components/requestBodies/UploadMedia" tags: - Media responses: "200": content: application/json: schema: $ref: "#/components/schemas/UploadMediaResponse" description: "" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for upload media "500": $ref: "#/components/responses/Error" deprecated: false operationId: uploadMedia summary: Upload media description: This method is used to upload a file to cloud storage. In the response, you will receive the MediaID for the uploaded file, which can be used later, for example, to send media messages. The file type are determined by the file extension. [Read more about file storage period.](https://support.whapi.cloud/help-desk/receiving/file-expiration-period) get: tags: - Media parameters: - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/time_from" - $ref: "#/components/parameters/time_to" - $ref: "#/components/parameters/sort" responses: "200": $ref: "#/components/responses/MediaFiles" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "500": $ref: "#/components/responses/Error" deprecated: false operationId: getMediaFiles summary: Get media files description: This method is responsible for returning all of your media files /media/{MediaID}: get: tags: - Media parameters: - $ref: "#/components/parameters/MediaID" responses: "200": $ref: "#/components/responses/Media" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified media not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getMedia summary: Get media description: Receive a file from the cloud by ID. [Read more about file storage period.](https://support.whapi.cloud/help-desk/receiving/file-expiration-period) delete: tags: - Media parameters: - $ref: "#/components/parameters/MediaID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified media not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: deleteMedia summary: Delete media description: Delete a file from the cloud by ID /blacklist/{ContactID}: put: tags: - Blacklist parameters: - $ref: "#/components/parameters/ContactID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: blacklistAdd summary: Add contact to blacklist description: Through this method, it is possible to add the contact on the disallowed list (blacklist). This will restrict the specified numbers to certain interactions with your account delete: tags: - Blacklist parameters: - $ref: "#/components/parameters/ContactID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: blacklistRemove summary: Remove contact from blacklist description: Through this method, it is possible to remove the contact on the disallowed list (blacklist) /blacklist: get: tags: - Blacklist responses: "200": $ref: "#/components/responses/ContactIDList" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "500": $ref: "#/components/responses/Error" deprecated: false operationId: getBlackList summary: Get blacklist description: This method is responsible for getting contacts from the blacklist. /business: get: tags: - Business responses: "200": $ref: "#/components/responses/BusinessProfile" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for get business profile "500": $ref: "#/components/responses/Error" deprecated: false operationId: getBusinessProfile summary: Get business profile description: The method allows you to get information about your WhatsApp Business profile post: tags: - Business requestBody: content: application/json: schema: $ref: "#/components/schemas/BusinessProfileCustom" description: Request body responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for edit business profile "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: editBusinessProfile summary: Edit your Business Profile description: The method allows you to edit information of your WhatsApp Business profile /business/products: get: tags: - Business parameters: - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" responses: "200": $ref: "#/components/responses/Products" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for getting products "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: getProducts summary: Get products description: With this method you will be able to get the products from a Whatsapp Business catalog post: tags: - Business requestBody: content: application/json: schema: $ref: "#/components/schemas/ProductCreate" description: Request body responses: "200": $ref: "#/components/responses/Product" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for create product "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: createProduct summary: Create product description: In this method you will be able to register a product in your catalog /business/{ContactID}/products: get: tags: - Business parameters: - $ref: "#/components/parameters/ContactID" - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" responses: "200": $ref: "#/components/responses/Products" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for getting products "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified user not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getContactProducts summary: Get products by Contact ID description: This method allows you to get the catalog and products by [Chat ID](https://support.whapi.cloud/help-desk/faq/chat-id.-what-is-it-and-how-to-get-it), even if it is not in your contact list /business/products/{ProductID}: get: tags: - Business parameters: - $ref: "#/components/parameters/ProductID" responses: "200": $ref: "#/components/responses/Product" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for getting products "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified product not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getProduct summary: Get product description: In this method you will be able to get your product by its ID post: tags: - Business parameters: - $ref: "#/components/parameters/ProductID" requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderProductFromCatalog" multipart/form-data: schema: $ref: "#/components/schemas/SenderProductFromCatalog" description: Message product required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send product "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified product not found "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendProduct summary: Send product description: The method is for sending an item from your catalog patch: tags: - Business parameters: - $ref: "#/components/parameters/ProductID" requestBody: content: application/json: schema: $ref: "#/components/schemas/ProductEdit" multipart/form-data: schema: $ref: "#/components/schemas/ProductEdit" description: Message product required: true responses: "200": $ref: "#/components/responses/Product" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for update product "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified product not found "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: updateProduct summary: Update product description: The *images* field is required and must contain all images delete: tags: - Business parameters: - $ref: "#/components/parameters/ProductID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for delete product "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified product not found "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: deleteProduct summary: Delete product description: In this method you will be able to delete a product by its ID /business/orders/{OrderID}: get: tags: - Business parameters: - $ref: "#/components/parameters/OrderID" - $ref: "#/components/parameters/order_token" responses: "200": $ref: "#/components/responses/OrderItems" "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for get order items "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need order token for get order items "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified order not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getOrderItems summary: Get order items description: The method allows you to get information about the items in the shopping cart sent to you in messages. Note! Use the token as a Query (as in a get request). [More details in the knowledge base](https://support.whapi.cloud/help-desk/receiving/http-api/get-order-items) /business/catalogs/{ContactID}: post: tags: - Business parameters: - $ref: "#/components/parameters/ContactID" requestBody: content: application/json: schema: $ref: "#/components/schemas/SenderCatalogByID" multipart/form-data: schema: $ref: "#/components/schemas/SenderCatalogByID" description: Message catalog required: true responses: "200": $ref: "#/components/responses/SentMessage" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for send catalog "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified contact not found "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: sendCatalog summary: Send catalog by Contact ID (phone number) /business/collections: post: tags: - Business requestBody: content: application/json: schema: $ref: "#/components/schemas/BusinessCollectionCreate" description: Business collection parameters required: true responses: "200": $ref: "#/components/responses/BusinessCollectionEditResult" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for create collection "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: createCollection summary: Create collection description: Create business collection get: tags: - Business parameters: - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" responses: "200": $ref: "#/components/responses/BusinessCollectionList" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for getting collection "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: getCollectionsList summary: Get collections description: With this method you will be able to get the collections list from a Whatsapp Business catalog. Products count in collection is 10. /business/collections/products: get: tags: - Business parameters: - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" - $ref: "#/components/parameters/products_count" responses: "200": $ref: "#/components/responses/BusinessCollectionList" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for getting collection "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: true operationId: getCollectionsProductsList summary: Get collections products description: With this method you will be able to get the products list from a Whatsapp Business catalog /business/collections/{CollectionID}: get: tags: - Business parameters: - $ref: "#/components/parameters/CollectionID" responses: "200": $ref: "#/components/responses/BusinessCollection" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for getting collection "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: getCollection summary: Get collection description: With this method you will be able to get business collection patch: tags: - Business parameters: - $ref: "#/components/parameters/CollectionID" requestBody: content: application/json: schema: $ref: "#/components/schemas/BusinessCollectionEdit" description: Business collection edit parameters required: true responses: "200": $ref: "#/components/responses/BusinessCollectionEditResult" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for editing collection "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: editCollection summary: Edit collection description: With this method you will be able to edit business collection delete: tags: - Business parameters: - $ref: "#/components/parameters/CollectionID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization to delete collection "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: deleteCollection summary: Delete collection description: Method to delete business collection /business/collections/{CollectionID}/products: get: tags: - Business parameters: - $ref: "#/components/parameters/CollectionID" - $ref: "#/components/parameters/products_count" responses: "200": $ref: "#/components/responses/Products" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for getting collection "429": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Too many requests "500": $ref: "#/components/responses/Error" deprecated: false operationId: getCollectionProductList summary: Get collection description: With this method you will be able to get business collection products /labels: get: tags: - Labels responses: "200": $ref: "#/components/responses/Labels" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "500": $ref: "#/components/responses/Error" deprecated: false operationId: getLabels summary: Get labels description: In this method, you retrieve all your registered labels in your WhatsApp Business post: tags: - Labels requestBody: description: "" content: application/json: schema: $ref: "#/components/schemas/CreateLabel" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "500": $ref: "#/components/responses/Error" deprecated: false operationId: createLabel summary: Create label description: Create label /labels/{LabelID}: get: tags: - Labels parameters: - $ref: "#/components/parameters/LabelID" responses: "200": $ref: "#/components/responses/Label" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified label not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getLabelAssociations summary: Get objects associated with label /labels/{LabelID}/{AssociationID}: post: tags: - Labels parameters: - $ref: "#/components/parameters/LabelID" - $ref: "#/components/parameters/AssociationID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for add label association "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified chat or message not found "409": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Label association already exists "500": $ref: "#/components/responses/Error" deprecated: false operationId: addLabelAssociation summary: Add label association description: Through this method, it is possible to assign a label to a chat in WhatsApp Business delete: tags: - Labels parameters: - $ref: "#/components/parameters/LabelID" - $ref: "#/components/parameters/AssociationID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for delete label association "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified association not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: deleteLabelAssociation summary: Delete label association description: Through this method, it is possible to remove the labels from a chat in WhatsApp Business /limits: get: tags: - Channel responses: "200": $ref: "#/components/responses/Limits" "204": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: No limits "500": $ref: "#/components/responses/Error" deprecated: false operationId: getLimits summary: Get limits description: Sandbox as well as Trials have some limitations. This endpoint allows you to get information about the remaining and used limits on your channel /communities: get: tags: - Communities parameters: - $ref: "#/components/parameters/count" - $ref: "#/components/parameters/offset" responses: "200": $ref: "#/components/responses/CommunityList" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization to get info "500": $ref: "#/components/responses/Error" deprecated: false operationId: getCommunities summary: Get communities description: This method is responsible for get a communities. [Learn more about the nuances of community:](https://support.whapi.cloud/help-desk/communities/introduction) post: tags: - Communities requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateCommunityRequest" description: Community data required: true responses: "200": $ref: "#/components/responses/Community" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for create community "500": $ref: "#/components/responses/Error" deprecated: false operationId: createCommunity summary: Create community description: This method is responsible for creating a community. [Learn more about the nuances of community:](https://support.whapi.cloud/help-desk/communities/introduction) /communities/{CommunityID}: get: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" responses: "200": $ref: "#/components/responses/Community" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization to get info "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getCommunity summary: Get community description: This method is responsible for get a community. [Learn more about the nuances of community:](https://support.whapi.cloud/help-desk/communities/introduction) post: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateGroupInCommunityRequest" description: Group data required: true responses: "200": $ref: "#/components/responses/Group" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: createGroupInCommunity summary: Create group in community description: This method is responsible for creating a group in community. [Learn more about the nuances of community:](https://support.whapi.cloud/help-desk/communities/introduction) delete: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Not permission "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: deactivateCommunity summary: Deactivate community description: This method is responsible for deactivate community. /communities/{CommunityID}/link: delete: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for delete invite link "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: revokeCommunityInvite summary: Revoke community invite code /communities/{CommunityID}/{GroupID}: put: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Not permission "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: linkGroupToCommunity summary: Link group to community description: This method is responsible for link group to community. delete: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Not permission "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: unlinkGroupFromCommunity summary: Unlink group from community description: This method is responsible for unlink group from community. /communities/{CommunityID}/{GroupID}/join: post: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" - $ref: "#/components/parameters/GroupID" responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "500": $ref: "#/components/responses/Error" deprecated: false operationId: joinInCommunityGroup summary: Join in community group description: This method is responsible for join in community group. [Learn more about the nuances of community:](https://support.whapi.cloud/help-desk/communities/introduction) /communities/{CommunityID}/settings: patch: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" requestBody: content: application/json: schema: $ref: "#/components/schemas/ChangeCommunitySettingsRequest" description: Community change settings data required: true responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for update group settings "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: You do not have permissions for this action "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Specified community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: changeCommunitySettings summary: Change community settings description: This method is responsible for change a community settings. /communities/{CommunityID}/participants: post: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" requestBody: $ref: "#/components/requestBodies/ListParticipants" required: true responses: "200": $ref: "#/components/responses/ListParticipants" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Not permission "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: addCommunityParticipant summary: Add participants to community description: This method is responsible for add participants community. delete: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" requestBody: $ref: "#/components/requestBodies/ListParticipants" required: true responses: "200": $ref: "#/components/responses/ListParticipants" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Not permission "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: removeCommunityParticipant summary: Remove participants from community description: This method is responsible for remove paricipants from community. /communities/{CommunityID}/admins: patch: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" requestBody: $ref: "#/components/requestBodies/ListParticipants" required: true responses: "200": $ref: "#/components/responses/ListParticipants" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Not permission "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: promoteCommunityParticipant summary: Promote participants to admin in community description: This method is responsible for promote participants to admin in community. delete: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" requestBody: $ref: "#/components/requestBodies/ListParticipants" required: true responses: "200": $ref: "#/components/responses/ListParticipants" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "403": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Not permission "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: demoteCommunityParticipant summary: Demote participants to admin in community description: This method is responsible for demote participants to admin in community. /communities/{CommunityID}/subgroups: get: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" responses: "200": $ref: "#/components/responses/CommunitySubGroups" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization to get info "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Community not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: getCommunitySubGroups summary: Get community subgroups description: This method is responsible for get a community subgroups. [Learn more about the nuances of community:](https://support.whapi.cloud/help-desk/communities/introduction) /communities/event: post: tags: - Communities requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateEventRequest" description: Event body required: true responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "500": $ref: "#/components/responses/Error" deprecated: false operationId: createEvent summary: Create event description: This method is responsible for creating a event. /communities/{CommunityID}/createGroup: post: tags: - Communities parameters: - $ref: "#/components/parameters/CommunityID" requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateGroupInCommunityRequest" description: Group data required: true responses: "200": $ref: "#/components/responses/Group" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Community not found "500": $ref: "#/components/responses/Error" deprecated: true operationId: createGroupInCommunityDeprecated summary: Create group in community description: This method is responsible for creating a group in community. [Learn more about the nuances of community:](https://support.whapi.cloud/help-desk/communities/introduction) /calls: post: tags: - Calls requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateCallEventRequest" description: Call data required: true responses: "200": $ref: "#/components/responses/CreateCallEventResponse" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for create call event "500": $ref: "#/components/responses/Error" deprecated: false operationId: createCallEvent summary: Create call event description: This method is responsible for creating a call event. /calls/{CallID}: delete: tags: - Calls parameters: - $ref: "#/components/parameters/CallID" requestBody: content: application/json: schema: $ref: "#/components/schemas/RejectCallRequest" description: Reject call data required: true responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization to reject a call "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Call not found "500": $ref: "#/components/responses/Error" deprecated: false operationId: rejectCall summary: Reject call description: This method is responsible for rejecting a call. /calls/{CallID}/reject: post: tags: - Calls parameters: - $ref: "#/components/parameters/CallID" requestBody: content: application/json: schema: $ref: "#/components/schemas/RejectCallRequest" description: Reject call data required: true responses: "200": $ref: "#/components/responses/Success" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization to reject a call "404": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Call not found "500": $ref: "#/components/responses/Error" operationId: rejectCallDeprecated deprecated: true summary: Reject call description: This method is responsible for rejecting a call. /calls/group_link: post: tags: - Calls requestBody: content: application/json: schema: $ref: "#/components/schemas/CreateGroupCallLinkRequest" description: Call link options required: true responses: "200": $ref: "#/components/responses/CreateGroupCallLinkResponse" "400": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Wrong request parameters "401": content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Need channel authorization for create call link "500": $ref: "#/components/responses/Error" deprecated: false operationId: createGroupCallLink summary: Create group video call link description: This method creates a link for starting a group video call. components: parameters: wakeup: name: wakeup description: If set to false, the channel will not launch schema: type: boolean default: true in: query platform: name: platform description: "Browser name, OS name, OS version separated by commas. Example: 'Safari,Windows,10.0.19044' or 'Desktop,Mac OS,11.6.3'" schema: type: string example: Chrome,Whapi,1.6.0 in: query channel_type: name: channel_type description: Channel type. Web - for linking existing WA account via WA Web, Mobile - for creating new WA account schema: type: string enum: - web - mobile default: web in: query Size: name: size description: Size of QR-code schema: type: number in: query Width: name: width description: Width of result image schema: type: number in: query Height: name: height description: Height of result image schema: type: number in: query ColorLight: name: color_light description: Background color example: null schema: type: string in: query ColorDark: name: color_dark description: Color of code example: null schema: type: string in: query PhoneNumber: name: PhoneNumber style: simple explode: false description: Phone number without + and spaces, only digits schema: $ref: "#/components/schemas/ContactID" in: path required: true count: name: count description: Count of objects to return schema: type: number minimum: 1 maximum: 500 default: 100 in: query offset: name: offset description: Offset of objects to return schema: type: number minimum: 0 in: query time_from: name: time_from description: Timestamp from which to get objects schema: type: number in: query time_to: name: time_to description: Timestamp up to which to get objects schema: type: number in: query normal_types: name: normal_types description: If false, include system messages schema: type: boolean in: query author: name: author description: To filter by author (Contact ID) schema: $ref: "#/components/schemas/ContactID" in: query from_me: name: from_me description: If true, only return messages sent by the authenticated user. If false, only return messages sent by other users. schema: type: boolean in: query sort: name: sort description: Order for items in request schema: type: string enum: - asc - desc in: query ChatID: name: ChatID style: simple explode: false description: Chat ID schema: $ref: "#/components/schemas/ChatID" in: path required: true MediaMessageType: name: MediaMessageType style: simple explode: false description: Media message type schema: $ref: "#/components/schemas/MediaMessageType" in: path required: true send_params: name: SendParams style: form explode: true description: Send sender parameters via query schema: $ref: "#/components/schemas/SenderMedia" in: query required: true MessageID: name: MessageID style: simple explode: false description: Message ID schema: $ref: "#/components/schemas/MessageID" in: path required: true resync: name: resync description: If set to true, the channel will resync its data. schema: type: boolean default: false in: query ContactID: name: ContactID style: simple explode: false description: Contact ID schema: $ref: "#/components/schemas/ContactID" in: path required: true ContactIDList: name: ContactIDList in: query style: form explode: false description: Comma separated list of contact IDs schema: type: array items: $ref: "#/components/schemas/ContactID" required: true EntryID: name: EntryID style: simple explode: false description: Contact or group id schema: oneOf: - $ref: "#/components/schemas/ContactID" - $ref: "#/components/schemas/ChatID" in: path required: true GroupID: name: GroupID style: simple explode: false description: Group ID schema: $ref: "#/components/schemas/GroupID" in: path required: true InviteCode: name: InviteCode style: simple explode: false description: Invite Code schema: $ref: "#/components/schemas/InviteCode" in: path required: true country_code: name: country_code description: Country for search example: null schema: type: string in: query search: name: search description: Search word example: null schema: type: string in: query newsletter_field: name: newsletter_field description: Cursor to continue pagination schema: type: string enum: - creation_time - subscribers in: query cursor: name: cursor description: Cursor to continue pagination example: null schema: type: string in: query NewsletterID: name: NewsletterID style: simple explode: false description: Newsletter ID schema: $ref: "#/components/schemas/NewsletterID" in: path required: true role: name: user role description: User's role regarding the newsletter schema: type: string enum: - subscriber - admin - guest - owner in: query NewsletterInviteCode: name: NewsletterInviteCode style: simple explode: false description: Newsletter Invite Code schema: $ref: "#/components/schemas/NewsletterInviteCode" in: path required: true before: name: before description: Request messages before the specified one (see first and last) schema: type: number minimum: 0 in: query after: name: after description: Request messages after the specified one (see first and last) schema: type: number minimum: 0 in: query MediaID: name: MediaID style: simple explode: false description: Media ID schema: $ref: "#/components/schemas/MediaID" in: path required: true ProductID: name: ProductID style: simple explode: false description: Product ID schema: $ref: "#/components/schemas/ProductID" in: path required: true OrderID: name: OrderID style: simple explode: false description: Order ID schema: $ref: "#/components/schemas/OrderID" in: path required: true order_token: name: order_token description: Base64 token from order for receiving information schema: type: string in: query allowReserved: true products_count: name: products_count description: Count of products in collection to return schema: type: number minimum: 1 maximum: 30 default: 10 in: query CollectionID: name: CollectionID style: simple explode: false description: Collection ID schema: $ref: "#/components/schemas/CollectionID" in: path required: true LabelID: name: LabelID style: simple explode: false description: Label ID schema: $ref: "#/components/schemas/LabelID" in: path required: true AssociationID: name: AssociationID style: simple explode: false description: Chat ID or Message ID for label association schema: $ref: "#/components/schemas/ChatID" in: path required: true CommunityID: name: CommunityID style: simple explode: false description: Community ID schema: $ref: "#/components/schemas/GroupID" in: path required: true CallID: name: CallID style: simple explode: false description: Call ID schema: $ref: "#/components/schemas/CallID" in: path required: true requestBodies: UpdateSettings: description: New settings required: false content: application/json: schema: $ref: "#/components/schemas/Settings" example: callback_backoff_delay_ms: 3000 max_callback_backoff_delay_ms: 900000 callback_persist: true media: auto_download: - image - document - audio init_avatars: true webhooks: - url: events: - type: ack method: put - type: chat method: put mode: method on_call_pager: pass_through: false sent_status: false proxy: socks5://login:password@167.160.89.124:10030 WebhookTest: description: Options for webhook test content: application/json: schema: $ref: "#/components/schemas/WebhookTestRequest" UploadMedia: content: application/pdf: schema: format: binary type: string application/msword: schema: format: binary type: string application/vnd.ms-powerpoint: schema: format: binary type: string application/vnd.ms-excel: schema: format: binary type: string text/plain: schema: format: binary type: string image/jpeg: schema: format: binary type: string image/png: schema: format: binary type: string audio/acc: schema: format: binary type: string audio/mp4: schema: format: binary type: string audio/amr: schema: format: binary type: string audio/mpeg: schema: format: binary type: string audio/ogg: schema: format: binary type: string codecs=opus: schema: format: binary type: string video/mp4: schema: format: binary type: string application/json: schema: title: Message media file parameters for media upload description: | Media file to upload. type: object properties: no_encode: description: Do not use our encoding type: boolean media: anyOf: - $ref: "#/components/schemas/MediaWithUploadFromFile" - $ref: "#/components/schemas/MediaWithUploadFromUrl" - $ref: "#/components/schemas/MediaWithUploadFromBase64" required: true ListParticipants: description: "" content: application/json: schema: $ref: "#/components/schemas/ListParticipantsRequest" example: participants: - required: true UploadImage: content: image/jpeg: schema: format: binary type: string image/png: schema: format: binary type: string application/json: schema: title: Group icon parameters description: > Group icon. You can use preuploaded file or upload file on the fly. type: object properties: media: anyOf: - $ref: "#/components/schemas/MediaWithUploadFromUrl" - $ref: "#/components/schemas/MediaWithUploadFromBase64" - $ref: "#/components/schemas/MediaWithoutUpload" mime_type: description: Mime type of media type: string required: - media required: true ApplicationRequest: description: Chat ID list content: application/json: schema: $ref: "#/components/schemas/ApplicationRequest" required: - application responses: Health: content: application/json: schema: $ref: "#/components/schemas/Health" description: OK Error: content: application/json: schema: $ref: "#/components/schemas/ResponseError" description: Internal Error GetSettings: content: application/json: schema: $ref: "#/components/schemas/Settings" description: OK Success: content: application/json: schema: $ref: "#/components/schemas/ResponseSuccess" description: OK UpdateSettings: content: application/json: schema: $ref: "#/components/schemas/UpdateSettings" description: OK UserLogin: content: application/json: schema: $ref: "#/components/schemas/QR" description: OK Image: content: image/png: schema: type: string format: binary description: OK AuthCode: content: application/json: schema: $ref: "#/components/schemas/AuthCode" description: OK UserProfile: content: application/json: schema: $ref: "#/components/schemas/UserProfile" example: name: Some Cool Name about: Some Cool About icon: https://pps.whatsapp.net/v/... description: OK Messages: content: application/json: schema: $ref: "#/components/schemas/MessagesList" description: OK SentMessage: content: application/json: schema: $ref: "#/components/schemas/SentMessage" description: Created Message: content: application/json: schema: $ref: "#/components/schemas/Message" description: OK Chats: content: application/json: schema: $ref: "#/components/schemas/ChatsList" description: OK Chat: content: application/json: schema: $ref: "#/components/schemas/Chat" description: OK Contacts: content: application/json: schema: $ref: "#/components/schemas/ContactsList" description: OK Contact: content: application/json: schema: $ref: "#/components/schemas/Contact" description: OK Lids: content: application/json: schema: $ref: "#/components/schemas/Lids" description: Map of user LIDs Lid: content: application/json: schema: $ref: "#/components/schemas/Lid" description: User LID information Presence: content: application/json: schema: $ref: "#/components/schemas/Presence" description: OK Groups: content: application/json: schema: $ref: "#/components/schemas/GroupsList" description: OK Group: content: application/json: schema: $ref: "#/components/schemas/Group" description: OK ListParticipants: content: application/json: schema: title: ResponseListParticipants type: object properties: success: type: boolean failed: type: array items: $ref: "#/components/schemas/ContactID" processed: type: array items: $ref: "#/components/schemas/ContactID" required: - result example: success: true failed: - 1234567890 processed: - 1234567890 description: OK GroupInfoByInviteCode: content: application/json: schema: $ref: "#/components/schemas/GroupInfoByInviteCode" description: Group Info GroupApplications: content: application/json: schema: $ref: "#/components/schemas/GroupApplicationList" description: Group Application List GroupApplicationsChange: content: application/json: schema: $ref: "#/components/schemas/GroupApplicationChangeList" description: Group Application edit result list Statuses: content: application/json: schema: $ref: "#/components/schemas/StatusesList" description: OK Newsletters: content: application/json: schema: $ref: "#/components/schemas/NewslettersList" description: OK NewslettersListPaged: content: application/json: schema: $ref: "#/components/schemas/NewslettersListPaged" description: OK Newsletter: content: application/json: schema: $ref: "#/components/schemas/Newsletter" description: OK MediaFiles: content: application/json: schema: $ref: "#/components/schemas/MediaFilesList" description: OK Media: content: application/pdf: schema: format: binary type: string application/msword: schema: format: binary type: string application/vnd.ms-powerpoint: schema: format: binary type: string application/vnd.ms-excel: schema: format: binary type: string text/plain: schema: format: binary type: string image/jpeg: schema: format: binary type: string image/png: schema: format: binary type: string audio/acc: schema: format: binary type: string audio/mp4: schema: format: binary type: string audio/amr: schema: format: binary type: string audio/mpeg: schema: format: binary type: string audio/ogg: schema: format: binary type: string codecs=opus: schema: format: binary type: string video/mp4: schema: format: binary type: string description: OK ContactIDList: content: application/json: schema: $ref: "#/components/schemas/ContactIDList" description: OK BusinessProfile: content: application/json: schema: $ref: "#/components/schemas/BusinessProfile" description: Business Profile Products: content: application/json: schema: $ref: "#/components/schemas/ProductsList" description: OK Product: content: application/json: schema: $ref: "#/components/schemas/Product" description: OK OrderItems: content: application/json: schema: $ref: "#/components/schemas/OrderItems" description: OK BusinessCollectionEditResult: content: application/json: schema: $ref: "#/components/schemas/BusinessCollectionEditResult" description: Business Collection Edit Result BusinessCollectionList: content: application/json: schema: $ref: "#/components/schemas/BusinessCollectionList" description: Business Collection List BusinessCollection: content: application/json: schema: $ref: "#/components/schemas/BusinessCollection" description: Business Collection Labels: content: application/json: schema: $ref: "#/components/schemas/Labels" description: OK Label: content: application/json: schema: $ref: "#/components/schemas/LabelAssociations" description: OK Limits: content: application/json: schema: $ref: "#/components/schemas/Limits" description: OK CommunityList: content: application/json: schema: $ref: "#/components/schemas/GroupsList" description: OK Community: content: application/json: schema: $ref: "#/components/schemas/Group" description: OK CommunitySubGroups: content: application/json: schema: $ref: "#/components/schemas/CommunitySubGroups" description: OK CreateCallEventResponse: content: application/json: schema: $ref: "#/components/schemas/CreateCallEventResponse" description: Internal Error CreateGroupCallLinkResponse: content: application/json: schema: $ref: "#/components/schemas/CreateGroupCallLinkResponse" description: OK schemas: ResponseError: title: ResponseError type: object properties: error: $ref: "#/components/schemas/Error" required: - error WebhookPayload: title: Webhook payload description: "" type: object properties: contacts: type: array description: The contacts array contains all contacts that were sent to the webhook URL. Sent on event "contacts.post" items: $ref: "#/components/schemas/Contact" messages: type: array description: The messages array contains all messages that were sent to the webhook URL. Sent on event "messages.post" or "messages.put" items: $ref: "#/components/schemas/Message" messages_updates: type: array description: The messages updates array contains all messages updates that were sent to the webhook URL. Sent on event "messages.patch" items: $ref: "#/components/schemas/MessageUpdate" messages_removed: type: array description: The messages removed array contains all messages removed that were sent to the webhook URL. Sent on event "messages.delete" items: $ref: "#/components/schemas/MessageID" messages_removed_all: type: string description: The messages removed all contains the chat ID of the chat that was cleared. Sent on event "messages.delete" example: 1234567890@s.whatsapp.net statuses: type: array description: The messages statuses array contains all statuses that were sent to the webhook URL. Sent on event "statuses.post" or "statuses.put" items: $ref: "#/components/schemas/Status" chats: type: array description: The chats array contains all chats that were sent to the webhook URL. Sent on event "chats.post" or "chats.put" items: $ref: "#/components/schemas/Chat" chats_updates: type: array description: The chats updates array contains all chats updates that were sent to the webhook URL. Sent on event "chats.patch" items: $ref: "#/components/schemas/ChatUpdate" chats_removed: type: array description: The chats removed array contains all chats removed that were sent to the webhook URL. Sent on event "chats.delete" items: $ref: "#/components/schemas/ChatID" contacts_updates: type: array description: The contacts updates array contains all contacts updates that were sent to the webhook URL. Sent on event "contacts.patch" items: $ref: "#/components/schemas/ContactUpdate" groups: type: array description: The groups array contains all groups that were sent to the webhook URL. Sent on event "groups.post" items: $ref: "#/components/schemas/Group" groups_participants: type: array description: The groups participants event array contains all groups participants event that were sent to the webhook URL. Sent on event "groups.put" items: $ref: "#/components/schemas/ParticipantEvent" groups_updates: type: array description: The groups updates array contains all groups updates that were sent to the webhook URL. Sent on event "groups.patch" items: $ref: "#/components/schemas/GroupUpdate" presences: type: array description: The presences array contains all presences that were sent to the webhook URL. Sent on event "presences.post" items: $ref: "#/components/schemas/Presence" labels: type: array description: The labels array contains all labels that were sent to the webhook URL. Sent on event "labels.post" items: $ref: "#/components/schemas/Label" labels_removed: type: array description: The labels removed array contains all labels removed that were sent to the webhook URL. Sent on event "labels.delete" items: $ref: "#/components/schemas/LabelID" calls: type: array description: The calls array contains all calls that were sent to the webhook URL. Sent on event "calls.post" items: $ref: "#/components/schemas/CallEvent" qr: $ref: "#/components/schemas/QR" health: $ref: "#/components/schemas/Health" user: $ref: "#/components/schemas/Contact" errors: type: array items: $ref: "#/components/schemas/Error" event: $ref: "#/components/schemas/Event" channel_id: type: string description: The channel ID example: SUPERMAN-f75 Events: title: Events type: array items: $ref: "#/components/schemas/Event" UserProfileUpdate: title: UserProfile request body type: object properties: name: type: string description: Update user name. minLength: 3 maxLength: 25 about: type: string description: Update user info in About section. minLength: 1 maxLength: 139 icon: type: string description: Update user icon in base64/url. ChangeStatusRequest: title: Change status request type: object properties: status: type: string required: - status SenderText: title: Message text send parameters type: object required: - to - body allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/MessagePropsText" - properties: typing_time: type: number description: Time in seconds to simulate typing default: 0 minimum: 0 maximum: 60 no_link_preview: type: boolean description: Set "true" if necessary to send the link without preview wide_link_preview: type: boolean description: Set "true" to try to send the fullwidth link preview - $ref: "#/components/schemas/Mentions" SenderImage: title: Message image send parameters type: object required: - to - media allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsImageOrVideo" - $ref: "#/components/schemas/Size" - $ref: "#/components/schemas/Mentions" - $ref: "#/components/schemas/ViewOnce" SenderVideo: title: Message video send parameters type: object required: - to - media allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsImageOrVideo" - $ref: "#/components/schemas/Size" - $ref: "#/components/schemas/Mentions" - $ref: "#/components/schemas/ViewOnce" SenderShort: title: Message short video send parameters type: object required: - to - media allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsImageOrVideo" - $ref: "#/components/schemas/Size" - $ref: "#/components/schemas/Mentions" - $ref: "#/components/schemas/ViewOnce" SenderGif: title: Message gif send parameters type: object required: - to - media allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsImageOrVideo" - $ref: "#/components/schemas/MessagePropsGif" - $ref: "#/components/schemas/Size" - $ref: "#/components/schemas/ViewOnce" SenderAudio: title: Message audio send parameters type: object required: - to - media allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsAudio" - properties: background_color: type: string description: Background color of the story (ARGB) pattern: ^#[0-9a-fA-F]{6,8}$ example: "#FF000000" default: "#00000000" SenderVoice: title: Message voice send parameters type: object required: - to - media allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsAudio" - $ref: "#/components/schemas/MessagePropsVoice" SenderDocument: title: Message document send parameters type: object required: - to - media allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsDocument" SenderLinkPreview: title: Message link preview send parameters type: object required: - to - body - title allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/MessagePropsText" - $ref: "#/components/schemas/MessagePropsLinkPreview" - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/Mentions" SenderLocation: title: Message location send parameters type: object required: - to - latitude - longitude allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/MessageContentLocation" SenderLiveLocation: title: Message live location send parameters type: object required: - to - latitude - longitude allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/MessageContentLocation" SenderContact: title: Message contact send parameters type: object required: - name - vcard allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/MessageContentContact" SenderContactList: title: Message contact list send parameters type: object required: - to - list allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/MessageContentContacts" SenderPoll: title: Message poll send parameters type: object required: - to - title - options allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/MessagePropsPoll" SenderInteractive: title: Message interactive send parameters type: object required: - to allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/MessagePropsInteractive" - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsImageOrVideo" SenderCarousel: title: Message carousel send parameters type: object required: - to allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/MessagePropsCarousel" SenderSticker: title: Message sticker send parameters type: object required: - to - media allOf: - $ref: "#/components/schemas/Sender" - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsSticker" - $ref: "#/components/schemas/Size" - $ref: "#/components/schemas/ViewOnce" SenderStories: title: Stories post parameters type: object allOf: - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsImageOrVideo" - $ref: "#/components/schemas/MessagePropsAudio" - $ref: "#/components/schemas/Size" - properties: contacts: type: array description: List of contacts to send the story to items: $ref: "#/components/schemas/ContactID" exclude_contacts: type: array description: List of contacts to exclude items: $ref: "#/components/schemas/ContactID" background_color: type: string description: Background color of the story (ARGB) pattern: ^#[0-9a-fA-F]{6,8}$ example: "#FF000000" default: "#00000000" caption_color: type: string description: Caption color of the story (ARGB) pattern: ^#[0-9a-fA-F]{6,8}$ example: "#FF000000" default: "#FFFFFFFF" font_type: type: string description: Font style of the story enum: - SYSTEM - SYSTEM_TEXT - FB_SCRIPT - SYSTEM_BOLD - MORNINGBREEZE_REGULAR - CALISTOGA_REGULAR - EXO2_EXTRABOLD - COURIERPRIME_BOLD SenderStoriesAudio: title: Stories audio post parameters type: object required: - media allOf: - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsAudio" - $ref: "#/components/schemas/Size" - properties: contacts: type: array description: List of contacts to send the story to items: $ref: "#/components/schemas/ContactID" exclude_contacts: type: array description: List of contacts to exclude items: $ref: "#/components/schemas/ContactID" background_color: type: string description: Background color of the story (ARGB) pattern: ^#[0-9a-fA-F]{6,8}$ example: "#FF000000" default: "#00000000" SenderStoriesMedia: title: Stories audio post parameters type: object required: - media allOf: - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/MessagePropsImageOrVideo" - properties: contacts: type: array description: List of contacts to send the story to items: $ref: "#/components/schemas/ContactID" exclude_contacts: type: array description: List of contacts to exclude items: $ref: "#/components/schemas/ContactID" SenderStoriesText: title: Stories post parameters type: object required: - caption properties: contacts: type: array description: List of contacts to send the story to items: $ref: "#/components/schemas/ContactID" exclude_contacts: type: array description: List of contacts to exclude items: $ref: "#/components/schemas/ContactID" caption: description: Optional. Text caption under the media. type: string background_color: type: string description: Background color of the story (ARGB) pattern: ^#[0-9a-fA-F]{6,8}$ example: "#FF000000" default: "#00000000" caption_color: type: string description: Caption color of the story (ARGB) pattern: ^#[0-9a-fA-F]{6,8}$ example: "#FF000000" default: "#FFFFFFFF" font_type: type: string description: Font style of the story enum: - SYSTEM - SYSTEM_TEXT - FB_SCRIPT - SYSTEM_BOLD - MORNINGBREEZE_REGULAR - CALISTOGA_REGULAR - EXO2_EXTRABOLD - COURIERPRIME_BOLD ForwardMessage: title: Forward message parameters required: - to type: object properties: to: type: string description: Chat ID or phone number where the message will be forwarded pattern: ^[\d-]{10,31}(@[\w\.]{1,})?$ force: type: boolean description: Force forward message ReactToMessage: title: React to message type: object properties: emoji: $ref: "#/components/schemas/Emoji" description: Leave blank to remove the reaction. Star: title: Starred Messages type: object properties: starred: type: boolean description: Indicates if the message is starred or not example: true Pin: title: Starred Messages type: object properties: time: description: Pin message for this amount of days enum: - day - week - month type: string example: 2592000 ArchiveChatRequest: title: Archive chat request parameters type: object properties: archive: type: boolean description: Archive or unarchive chat example: true PatchChatRequest: title: Patch chat request parameters type: object properties: pin: type: boolean description: Pin or unpin chat example: true mute_until: type: integer description: Time until which the chat should remain muted, in UNIX timestamp format (in milliseconds). Use 0 to unmute the chat example: 1810364624000 mark_unread: type: boolean description: Mark as unread/read chat example: true ephemeral: type: string description: Amount of days to store messages, when set to none will store infinitely enum: - none - day - week - quarter example: week CheckContactRequest: title: Check contact request required: - contacts type: object properties: contacts: description: Array of contact phone numbers. The numbers can be in any standard telephone number format. type: array items: type: string force_check: description: Force check determines whether the request should check the contact even if it is already in the cache. default: false type: boolean CheckContactResponse: title: Check contact response description: "" type: object allOf: - type: object properties: contacts: type: array items: $ref: "#/components/schemas/CheckContact" AddContactRequest: title: Add contact request type: object properties: phone: $ref: "#/components/schemas/ContactID" name: type: string required: - phone - name SenderContactFromPhonebook: title: Message contact from phonebook send parameters type: object required: - to allOf: - $ref: "#/components/schemas/Sender" - properties: name: description: Name of contact type: string EditContactRequest: title: Edit contact request type: object properties: name: type: string required: - name SendMePresenceRequest: title: Send me presence request required: - presence type: object properties: presence: type: string enum: - online - offline SendPresenceRequest: title: Send presence request required: - presence type: object properties: presence: type: string enum: - typing - recording - pause delay: type: number description: Delay in seconds to simulate typing or recording default: 0 minimum: 0 CreateGroupRequest: title: Create group request required: - subject - participants type: object allOf: - type: object properties: subject: type: string - $ref: "#/components/schemas/Participants" GroupCreate: title: GroupCreate type: object required: - id - type - name - participants allOf: - properties: id: $ref: "#/components/schemas/ChatID" name: type: string description: Group name example: Group name type: type: string description: Chat type example: group enum: - group - contact - broadcast - newsletter - unknown timestamp: type: integer description: Chat timestamp example: 1675964377 participants: type: array description: Group participants items: $ref: "#/components/schemas/Participant" name_at: type: integer description: Group name set timestamp example: 1675964377 created_at: type: integer description: Group creation timestamp example: 1675964377 created_by: $ref: "#/components/schemas/ContactID" unprocessed_participants: type: array description: ะกontacts that could not be added to the group items: $ref: "#/components/schemas/ContactID" GroupInvite: title: Group invite description: "" type: object required: - invite_code properties: invite_code: type: string NewGroup: title: New group type: object required: - group_id properties: group_id: $ref: "#/components/schemas/GroupID" UpdateGroupInfoRequest: title: Update group info request type: object properties: subject: type: string description: type: string UpdateGroupSettingRequest: title: Update group settings request type: object properties: setting: type: string enum: - send_messages - edit_group_info - approve_participants - add_participants policy: type: string enum: - anyone - admins required: - setting - policy SenderGroupInviteByCode: title: Message group invite link send parameters type: object required: - to allOf: - $ref: "#/components/schemas/Sender" - properties: title: type: string description: Title of the group. If not set, the group title will be used body: description: > Invite message with link. Example: "Follow this link to join my group on WhatsApp". Use %URL% to insert the invite link. type: string preview_type: type: string description: > Type of the group preview. Use 'group_picture' to set a group picture as large preview, 'thumbnail' to set a custom small jpeg image from 'preview' param as preview, 'media' to set a custom large image from 'media' param as large preview, 'style1' to set a isometric style for group invite link preview stub, 'style2' to set a flat style for group invite link preview stub, 'style3' to set a WA style for group invite link preview stub, or 'none' to not set a preview. If not set, the default is group_picture. enum: - group_picture - thumbnail - media - style1 - style2 - style3 - none default: group_picture preview: type: string description: Base64 encoded image for small version group invite link preview (preview_type=thumbnail). In JPEG format - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/Mentions" CopyStories: title: Stories copy parameters type: object properties: contacts: type: array description: List of contacts to send the story to items: $ref: "#/components/schemas/ContactID" exclude_contacts: type: array description: List of contacts to exclude items: $ref: "#/components/schemas/ContactID" CreateNewsletterRequest: title: Create newsletter request type: object properties: name: type: string example: description: type: string example: newsletter_pic: type: string example: required: - name Newsletter: title: Newsletter type: object required: - id - type - name allOf: - $ref: "#/components/schemas/Chat" - properties: name: type: string description: Newsletter name example: Newsletter name name_at: type: integer description: Newsletter name change timestamp example: 1675964377 description: type: string description: Newsletter description example: Newsletter description description_at: type: string description: Newsletter description change timestamp example: Newsletter description ID subscribers_count: type: integer description: Newsletter subscribers count example: 2 created_at: type: integer description: Newsletter creation timestamp example: 1675964377 invite_code: type: string description: Newsletter invite code example: Newsletter invite code handle: type: string description: Newsletter handle example: Newsletter handle verification: type: boolean description: Is newsletter verified example: true preview: type: string description: Newsletter preview URL example: https://example.com/photo.jpg role: type: string description: User's role regarding the newsletter enum: - subscriber - admin - guest - owner editNewsletterRequest: title: Edit newsletter request type: object properties: name: type: string example: description: type: string example: newsletter_pic: type: string description: Newsletter jpeg picture in base64 format example: reactions: description: Available reactions type: string enum: - all - basic - blocklist - none CreateNewsletterAdminInviteRequest: title: Create newsletter admin-invite request type: object properties: message: type: string description: Additional text to invitation SenderNewsletterInviteByCode: title: Message newsletter link send parameters type: object required: - to allOf: - $ref: "#/components/schemas/Sender" - properties: title: type: string description: Title of the newsletter. If not set, the newsletter title will be used body: description: > Invite message with link. Example: "Follow this link to join my newsletter on WhatsApp". Use %URL% to insert the invite link. type: string preview_type: type: string description: > Type of the newsletter preview. Use 'newsletter_picture' to set a newsletter picture as large preview, 'thumbnail' to set a custom small jpeg image from 'preview' param as preview, 'media' to set a custom large image from 'media' param as large preview, 'style1' to set a isometric style for newsletter invite link preview stub, 'style2' to set a flat style for newsletter invite link preview stub, 'style3' to set a WA style for newsletter invite link preview stub, or 'none' to not set a preview. If not set, the default is newsletter_picture. enum: - newsletter_picture - thumbnail - media - style1 - style2 - style3 - none default: newsletter_picture preview: type: string description: Base64 encoded image for small version newsletter invite link preview (preview_type=thumbnail). In JPEG format - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/Mentions" UploadMediaResponse: title: Upload media response description: "" type: object properties: media: type: array items: $ref: "#/components/schemas/UploadMedia" BusinessProfileCustom: title: Business Profile type: object properties: address: description: |- Address of the business Maximum of 256 characters type: string description: description: |- Description of the business Maximum of 256 characters type: string email: description: |- Email address to contact the business Maximum of 128 characters type: string hours: type: object properties: timeZone: description: Timezone identifier type: string example: Europe/Bucharest config: description: Working hours configuration type: array items: $ref: "#/components/schemas/BusinessHours" websites: description: >- URLs associated with business (e.g., website, Facebook page, Instagram) Maximum of 2 websites with a maximum of 256 characters each type: array items: type: string ProductCreate: title: Product item type: object allOf: - $ref: "#/components/schemas/ProductEdit" required: - price - currency - images - name - description SenderProductFromCatalog: title: Message product from catalog send parameters type: object required: - to allOf: - $ref: "#/components/schemas/Sender" - properties: catalog_id: description: Catalog ID type: string ProductEdit: title: Product item type: object properties: product_retailer_id: description: Product Retailer ID type: string currency: $ref: "#/components/schemas/Currency" images: description: Product images urls type: array items: anyOf: - $ref: "#/components/schemas/MediaWithUploadFromUrl" - $ref: "#/components/schemas/MediaWithUploadFromBase64" - $ref: "#/components/schemas/MediaWithoutUpload" minItems: 1 maxItems: 10 availability: description: Product availability type: string enum: - in stock - out of stock name: description: Product name type: string url: description: Product url type: string description: description: Product description type: string price: description: Product price type: number minimum: 0 is_hidden: description: Product is hidden type: boolean required: - images SenderCatalogByID: title: Message catalog send parameters type: object required: - to allOf: - $ref: "#/components/schemas/Sender" - properties: title: type: string description: Title of the catalog (if not set, the business name will be used) description: type: string description: Description of the catalog body: description: > Message text with link. Example: "Follow this link to view our catalog on WhatsApp". Use %URL% to insert the catalog link. type: string preview_type: type: string description: > Type of the catalog preview. Use 'product' to set a first product image as preview, 'business_profile' to set the business profile pic as preview, 'thumbnail' to set a custom small jpeg image from 'preview' param as preview, 'media' to set a custom large image from 'media' param as large preview, 'style1' to set a isometric style for catalog preview stub, 'style2' to set a flat style for catalog preview stub, 'style3' to set a WA style for catalog preview stub, or 'none' to not set a preview. If not set, the default is product. enum: - product - business_profile - thumbnail - media - style1 - style2 - style3 - none default: product preview: type: string description: Base64 encoded image for small version catalog preview (preview_type=thumbnail). In JPEG format - $ref: "#/components/schemas/SendMedia" - $ref: "#/components/schemas/Mentions" BusinessCollectionCreate: title: Business Collection type: object properties: name: description: Collection name type: string products: description: Collection's Products type: array items: $ref: "#/components/schemas/ProductID" required: - name - products BusinessCollectionEdit: title: Business Collection Edit type: object properties: name: description: Collection name type: string remove_products: description: List of product's ids type: array items: $ref: "#/components/schemas/ProductID" add_products: description: List of product's ids type: array items: $ref: "#/components/schemas/ProductID" CreateLabel: title: Create Label Request type: object properties: id: $ref: "#/components/schemas/LabelID" name: type: string description: Label name color: type: string description: Label color enum: - salmon - lightskyblue - gold - plum - silver - mediumturquoise - violet - goldenrod - cornflowerblue - greenyellow - cyan - lightpink - mediumaquamarine - orangered - deepskyblue - limegreen - darkorange - lightsteelblue - mediumpurple - rebeccapurple required: - id - name - color CreateCommunityRequest: title: Create community request type: object properties: subject: type: string description: type: string required: - subject - description CreateGroupInCommunityRequest: title: Create group request required: - subject - participants type: object allOf: - type: object properties: subject: type: string isHidden: type: boolean - $ref: "#/components/schemas/Participants" ChangeCommunitySettingsRequest: title: Change community settings request type: object properties: setting: type: string enum: - modify_groups - member_add_mode policy: type: string enum: - anyone - admins required: - setting - policy CreateEventRequest: title: Event message send parameters type: object required: - to - title - startTime allOf: - properties: to: type: string description: Use [Get communities](https://gate.whapi.cloud/communities) to get the community ID. pattern: ^[\d-]{10,31}(@[\w\.]{1,})?$ example: 1234567891@g.us title: type: string description: Event name. description: type: string description: Event description. startTime: type: number description: Start time (format timestamp) endTime: type: number description: End time (format timestamp) degreesLatitude: type: number format: double degreesLongitude: type: number format: double locationName: type: string locationAddress: type: string - $ref: "#/components/schemas/ViewOnce" CreateCallEventRequest: title: Create call event request body type: object properties: start_time: type: string description: Start time of the call in UNIX timestamp format (in seconds) example: 1810202551 required: - start_time RejectCallRequest: title: RejectCallRequest type: object properties: callFrom: $ref: "#/components/schemas/ContactID" required: - callFrom CreateGroupCallLinkRequest: title: Create group call link request type: object properties: start_time: type: string description: Optional start time of the call in UNIX timestamp seconds required: - start_time ChatID: type: string description: Chat ID pattern: ^[\d-]{10,31}@[\w\.]{1,}$ ContactID: type: string description: Contact ID pattern: ^([\d]{7,15})?$ CallID: type: string description: Call ID CollectionID: type: string description: CollectionID GroupID: type: string description: Group ID pattern: ^[\d-]{10,31}@g\.us$ InviteCode: type: string description: Invite code pattern: ^[A-Za-z0-9]{14,22}$ LabelID: type: string description: Label ID pattern: ^([\d]{1,2})?$ MediaID: type: string description: Media ID pattern: ^[a-zA-Z0-9]+-[0-9a-fA-F-]+$ MediaMessageType: type: string description: Media message type enum: - image - video - gif - audio - voice - document - sticker MessageID: type: string description: Message ID pattern: ^[A-Za-z0-9._]{4,30}-[A-Za-z0-9._]{4,14}(-[A-Za-z0-9._]{4,10})?(-[A-Za-z0-9._]{2,10})?$ NewsletterID: type: string description: Newsletter ID pattern: ^[\d]{10,18}@newsletter$ NewsletterInviteCode: type: string description: Newsletter Invite code pattern: ^[A-Za-z0-9]{24}$ OrderID: type: string description: Order ID pattern: ^([\d]{10,18})?$ ProductID: type: string description: Product ID pattern: ^([\d]{10,18})?$ SenderMedia: title: Sender media type: object required: - to allOf: - $ref: "#/components/schemas/Sender" - oneOf: - $ref: "#/components/schemas/MessagePropsImageOrVideo" - $ref: "#/components/schemas/MessagePropsGif" - $ref: "#/components/schemas/MessagePropsSticker" - $ref: "#/components/schemas/MessagePropsDocument" - $ref: "#/components/schemas/MessagePropsAudio" - $ref: "#/components/schemas/MessagePropsVoice" - $ref: "#/components/schemas/Size" - $ref: "#/components/schemas/Mentions" - $ref: "#/components/schemas/ViewOnce" ApplicationRequest: title: Chat ID List type: object properties: application: $ref: "#/components/schemas/ChatID" ListParticipantsRequest: title: List participants request required: - participants type: object allOf: - $ref: "#/components/schemas/Participants" Settings: title: Channel Settings type: object properties: callback_backoff_delay_ms: description: Backoff delay for a failed callback in milliseconds This setting is used to configure the amount of time the backoff delays before retrying a failed callback. The backoff delay increases linearly by this value each time a callback fails to get a HTTPS 200 OK response. The backoff delay is capped by the max_callback_backoff_delay_ms setting. type: number minimum: 3000 maximum: 15000 max_callback_backoff_delay_ms: description: Maximum delay for a failed callback in milliseconds type: number minimum: 600000 maximum: 3600000 callback_persist: description: Stores callbacks on disk until they are successfully acknowledged by the Webhook or not. Restart required. type: boolean media: $ref: "#/components/schemas/MediaSettings" webhooks: $ref: "#/components/schemas/Webhooks" proxy: description: Use your Socks5 proxy if your account activity arouses suspicion from WhatsApp. This can help maintain anonymity and ensure smooth operation. type: string pattern: ^socks5h?:\/\/([!-\/:-@[-`{-~a-zA-Z0-9_-]+):([a-zA-Z0-9_-]+)@(((?:[0-9]{1,3}\.){3}[0-9]{1,3})|[a-zA-Z0-9.]+):([0-9]{1,5})$|^$ mobile_proxy: description: Service proxy for mobile authorization. Beta-only parameter; ignored in the production version. type: string offline_mode: description: When true, API will not send online status to the server on connection. This will allow you to receive push notifications to devices connected to the number. Working after reconnect. default: false type: boolean full_history: description: When true, all messages will be cached after the connection. If false, old messages will selectively not be cached, allowing large accounts to run faster. Working after reconnect. default: false type: boolean MediaWithUploadFromUrl: title: Media with upload from URL description: Media file URL for upload type: string MediaWithUploadFromBase64: title: Media with upload from base64 description: Base64 encoded file to upload type: string MediaWithoutUpload: title: Media without upload description: Media file ID type: string MediaWithUploadFromFile: title: Media with upload from file description: File to upload type: string format: binary WebhookTestRequest: title: Webhook unsubscribe request type: object allOf: - $ref: "#/components/schemas/WebhookEventType" - $ref: "#/components/schemas/WebhookParameters" required: - url - type - mode AuthCode: title: Auth code description: The auth code is the code that is sent to the user's phone app to authenticate the user. type: object properties: code: type: string description: The auth code example: 123-456 BusinessCollection: title: Business Collection type: object properties: id: description: Collection ID type: string name: description: Collection name type: string products: description: Collection's Products type: array items: $ref: "#/components/schemas/Product" status: description: Moderation status type: string required: - id - name BusinessCollectionEditResult: title: Business Collection Edit Result type: object properties: id: description: Collection ID type: string status: description: Status of moderation type: string BusinessCollectionList: title: Collections List type: object allOf: - type: object properties: collections: $ref: "#/components/schemas/BusinessCollections" - $ref: "#/components/schemas/Iterator" BusinessProfile: title: Business Profile type: object allOf: - $ref: "#/components/schemas/BusinessProfileCustom" - properties: id: $ref: "#/components/schemas/UserID" Chat: title: Chat type: object required: - id - type properties: id: $ref: "#/components/schemas/ChatID" name: type: string description: Chat name example: Chat name type: type: string description: Chat type example: group enum: - group - contact - broadcast - newsletter - unknown timestamp: type: integer description: Chat timestamp example: 1675964377 chat_pic: type: string description: Chat picture URL example: https://example.com/photo.jpg chat_pic_full: type: string description: Chat full picture URL example: https://example.com/photo.jpg pin: type: boolean description: Is chat pinned example: true mute: type: boolean description: Is chat muted example: true mute_until: type: integer description: Chat mute until example: 0 archive: type: boolean description: Is chat archived example: true unread: type: integer description: Unread messages count example: 0 unread_mention: type: boolean description: Is chat unread mention example: false read_only: type: boolean description: Is chat read only example: false not_spam: type: boolean description: Is chat not spam example: true last_message: $ref: "#/components/schemas/Message" labels: type: array items: $ref: "#/components/schemas/Label" description: Labels associated with chat ChatsList: title: List of chats type: object allOf: - type: object properties: chats: $ref: "#/components/schemas/Chats" - $ref: "#/components/schemas/Iterator" Group: title: Group type: object required: - id - type - name - participants - participants_count allOf: - $ref: "#/components/schemas/Chat" - properties: name: type: string description: Group name example: Group name name_owner: type: string description: Group name owner example: Group name owner name_at: type: integer description: Group name change timestamp example: 1675964377 description: type: string description: Group description example: Group description description_owner: type: string description: Group description owner example: Group description owner description_id: type: string description: Group description ID example: Group description ID participants_count: type: integer description: Number of participants in the group example: 2 participants: type: array description: Group participants items: $ref: "#/components/schemas/Participant" created_at: type: integer description: Group creation timestamp example: 1675964377 created_by: $ref: "#/components/schemas/ContactID" suspended: type: boolean description: Is group suspended example: false terminated: type: boolean description: Is group terminated example: false is_parent: type: boolean description: Is group parent example: false is_default_subgroup: type: boolean description: Is group default subgroup example: false restricted: type: boolean description: If only admins can change group settings example: false announcements: type: boolean description: If only admins can send messages example: false adminAddMemberMode: type: boolean description: If only admins can add members ephemeral: type: number description: Group ephemeral timer example: 0 invite_code: type: string description: Group invite code example: Group invite code isCommunityAnnounce: type: boolean description: If group is community announce example: false linkedParent: $ref: "#/components/schemas/ChatID" GroupsList: title: List of groups type: object allOf: - type: object properties: groups: $ref: "#/components/schemas/Groups" - $ref: "#/components/schemas/Iterator" CommunitySubGroups: title: Community subgroups type: object properties: announceGroupInfo: type: object properties: title: type: string creationTime: type: string id: type: string inviteCode: type: string otherGroups: type: array items: type: object properties: title: type: string id: type: string inviteCode: type: string creationTime: type: string properties: type: object properties: general_chat: type: boolean required: - announceGroupInfo - otherGroups Contact: title: WA Contact type: object properties: id: type: string description: WA ID name: type: string description: Contact title from contact book pushname: type: string description: Account name from WA or WA Business name is_business: type: boolean description: Is a business account profile_pic: type: string description: Profile picture URL profile_pic_full: type: string description: Profile full picture URL status: type: string description: Contact status saved: type: boolean description: If true - the contact is saved in the contact list required: - id - name ContactIDList: title: Contacts type: array items: $ref: "#/components/schemas/ContactID" ContactsList: title: List of contacts type: object allOf: - type: object properties: contacts: $ref: "#/components/schemas/Contacts" - $ref: "#/components/schemas/Iterator" CreateCallEventResponse: title: Create call event response body type: object properties: call_url: type: string required: - call_url CreateGroupCallLinkResponse: title: Create group call link response type: object properties: link: type: string required: - link GroupApplicationList: title: List of join requests type: object allOf: - type: object properties: applications: $ref: "#/components/schemas/GroupApplications" - $ref: "#/components/schemas/Iterator" GroupApplicationChangeList: title: Group applications change list type: array items: $ref: "#/components/schemas/GroupApplicationChange" GroupInfoByInviteCode: title: Group info by invite code type: object properties: id: $ref: "#/components/schemas/ChatID" name_at: type: integer description: Group name change timestamp example: 1675964377 name: type: string description: Group name example: Group name participants: type: array description: Group participants items: $ref: "#/components/schemas/Participant" participantsCount: type: number description: Group participants count created_at: type: integer description: Group creation timestamp example: 1675964377 created_by: $ref: "#/components/schemas/ContactID" ephemeral: type: number description: Group ephemeral timer example: 0 Health: title: Health response type: object description: The health object contains information about the uptime of the channel and the status of the channel. Sent on event "channels.post" properties: channel_id: type: string description: Active channel ID start_at: type: number description: Date timestamp when channel started on the server. uptime: type: number description: Seconds have passed since the start of the instance. version: type: string description: Channel version core_version: type: string description: Core version api_version: type: string description: Api version device_id: type: number description: Current device ID ip: type: string format: ipv4 description: Current channel ip-address status: $ref: "#/components/schemas/ChannelStatus" user: $ref: "#/components/schemas/Contact" required: - start_at - uptime - status LabelAssociations: title: Label Associations type: object properties: chats: type: array items: $ref: "#/components/schemas/Chat" messages: type: array items: $ref: "#/components/schemas/Message" Labels: title: Labels type: array items: $ref: "#/components/schemas/Label" Lid: title: Lid type: object properties: lid: description: WhatsApp LID type: string required: - lid Lids: title: Lids type: object additionalProperties: $ref: "#/components/schemas/Lid" description: Mapping from user id to lid data Limits: title: Trial limits type: object properties: messages: type: integer description: Maximum number of messages that can be sent example: 100 chats: type: array items: $ref: "#/components/schemas/ChatID" description: List of chat IDs that can be used checks: type: integer description: Maximum number of check phone numbers example: 100 requests: type: integer description: Maximum number of channel requests example: 1000 required: - messages - chats - checks - requests MediaFilesList: title: List of Media Files type: object allOf: - type: object properties: files: $ref: "#/components/schemas/MediaFiles" - $ref: "#/components/schemas/Iterator" Message: title: Message required: - id - type - chat_id - from_me - timestamp type: object properties: id: type: string description: Message ID type: $ref: "#/components/schemas/MessageType" subtype: type: string description: Message subtype chat_id: type: string description: Chat ID chat_name: type: string description: Chat name from: description: WhatsApp ID of the sender type: string from_me: type: boolean description: Is message from me from_name: type: string description: Pushname of the sender source: $ref: "#/components/schemas/MessageSource" timestamp: type: number description: Message timestamp device_id: type: number description: Device ID, if the message was not sent through the app status: $ref: "#/components/schemas/StatusEnum" text: $ref: "#/components/schemas/MessageContentText" image: $ref: "#/components/schemas/MessageContentImage" video: $ref: "#/components/schemas/MessageContentVideo" short: $ref: "#/components/schemas/MessageContentVideo" gif: $ref: "#/components/schemas/MessageContentVideo" audio: $ref: "#/components/schemas/MessageContentAudio" voice: $ref: "#/components/schemas/MessageContentAudio" document: $ref: "#/components/schemas/MessageContentDocument" link_preview: $ref: "#/components/schemas/MessageContentLinkPreview" sticker: $ref: "#/components/schemas/MessageContentSticker" location: $ref: "#/components/schemas/MessageContentLocation" live_location: $ref: "#/components/schemas/MessageContentLiveLocation" contact: $ref: "#/components/schemas/MessageContentContact" contact_list: $ref: "#/components/schemas/MessageContentContacts" interactive: $ref: "#/components/schemas/MessageContentInteractive" poll: $ref: "#/components/schemas/MessageContentPoll" hsm: $ref: "#/components/schemas/MessageContentHSM" system: $ref: "#/components/schemas/MessageContentSystem" order: $ref: "#/components/schemas/MessageContentOrder" group_invite: $ref: "#/components/schemas/MessageContentLinkPreview" newsletter_invite: $ref: "#/components/schemas/MessageContentLinkPreview" admin_invite: $ref: "#/components/schemas/MessageContentNewsletterAdminInvite" product: $ref: "#/components/schemas/MessageContentProduct" catalog: $ref: "#/components/schemas/MessageContentLinkPreview" product_items: $ref: "#/components/schemas/MessageContentProductItems" action: $ref: "#/components/schemas/MessageAction" context: $ref: "#/components/schemas/MessageContext" event: $ref: "#/components/schemas/MessageContentEvent" list: $ref: "#/components/schemas/MessageContentList" buttons: $ref: "#/components/schemas/MessageContentButtons" reactions: type: array items: $ref: "#/components/schemas/MessageReaction" description: Reactions for message labels: type: array items: $ref: "#/components/schemas/Label" description: Labels associated with message MessagesList: title: List of messages type: object properties: messages: $ref: "#/components/schemas/Messages" count: type: integer format: int32 description: Count of requested messages default: 100 total: type: integer format: int32 description: Total number of returned messages offset: type: integer format: int32 description: Offset of requested messages default: 0 first: type: integer format: int32 description: The index of the first message last: type: integer format: int32 description: The index of the last message NewslettersList: title: List of newsletters type: object allOf: - type: object properties: newsletters: $ref: "#/components/schemas/Newsletters" - $ref: "#/components/schemas/Iterator" NewslettersListPaged: title: Paged list of newsletters type: object allOf: - type: object properties: newsletters: $ref: "#/components/schemas/Newsletters" page_info: $ref: "#/components/schemas/Paging" OrderItems: title: Order items type: object properties: items: type: array items: $ref: "#/components/schemas/ProductItem" Presence: title: Presence required: - contact_id type: object properties: contact_id: $ref: "#/components/schemas/ContactID" last_seen: description: Last seen timestamp type: number status: description: Presence status type: string enum: - online - offline - typing - recording - pending Product: title: Product item type: object allOf: - properties: id: description: Product ID type: string review: description: Product review status type: object - $ref: "#/components/schemas/ProductEdit" required: - id - price - currency - images - availability - name - description ProductsList: title: List of products type: object allOf: - type: object properties: products: $ref: "#/components/schemas/Products" - $ref: "#/components/schemas/Iterator" SentMessage: title: Sent message type: object required: - sent properties: sent: type: boolean description: Message sent example: true message: $ref: "#/components/schemas/Message" StatusesList: title: List of view statuses type: object allOf: - type: object properties: statuses: $ref: "#/components/schemas/Statuses" ResponseSuccess: title: ResponseSuccess type: object properties: success: type: boolean required: - result UpdateSettings: title: Update settings type: object required: - before_update - after_update - changes properties: before_update: $ref: "#/components/schemas/Settings" after_update: $ref: "#/components/schemas/Settings" changes: type: array items: type: string enum: - callback_backoff_delay_ms - max_callback_backoff_delay_ms - callback_persist - media - webhooks - on_call_pager - pass_through - sent_status - proxy - mobile_proxy QR: title: QR code type: object description: The QR code object contains the QR code image and the status of the QR code. The QR code is only valid for a limited time. Sent on event "channels.patch" properties: status: type: string description: Status of the QR code enum: - OK - TIMEOUT - WAITING - ERROR base64: type: string description: Base64 encoded QR code rowdata: type: string description: Rowdata for generating the QR code expire: type: number description: Seconds until the QR code expires required: - status UserProfile: title: UserProfile response type: object properties: name: type: string description: User name. about: type: string description: User info in About section. icon: type: string description: Profile preview icon url. icon_full: type: string description: Profile avatar url. BusinessCollections: title: Business Collection type: array items: $ref: "#/components/schemas/BusinessCollection" Iterator: title: Iterator parameters type: object properties: count: type: integer format: int32 description: Count of requested chats default: 20 total: type: integer format: int32 description: Total number of returned chats offset: type: integer format: int32 description: Offset of requested chats default: 0 UserID: type: string description: User ID pattern: ^(?:[a-zA-Z0-9]{28}|me)$ BusinessHours: title: Business Hours type: object description: Working hours properties: day: description: Day of the week type: string example: mon enum: - sun - mon - tue - wed - thu - fri - sat mode: type: string example: open_24h description: Mode of working hours. You can not combine both enum: - open_24h - specific_hours openTime: type: number example: 540 description: Representation on hour in minutes. I.e 9 A.M. - 540 closeTime: type: number example: 960 description: Representation on hour in minutes. I.e 16 - 960 Label: title: Label type: object properties: id: $ref: "#/components/schemas/LabelID" name: type: string description: Label name color: type: string description: Label color enum: - salmon - lightskyblue - gold - plum - silver - mediumturquoise - violet - goldenrod - cornflowerblue - greenyellow - cyan - lightpink - mediumaquamarine - orangered - deepskyblue - limegreen - darkorange - lightsteelblue - mediumpurple - rebeccapurple count: type: integer description: Number of objects associated with this label format: int32 minimum: 0 example: 1 required: - id - name - color Chats: title: Chats type: array items: $ref: "#/components/schemas/Chat" CheckContact: title: Check contact description: "" type: object properties: input: description: The value you sent in the contacts field of the JSON request. type: string status: description: Status of the user. enum: - valid - invalid type: string wa_id: description: WhatsApp user identifier that can be used in other API calls. Only returned if the status is valid. type: string Contacts: title: Contacts type: array items: $ref: "#/components/schemas/Contact" ViewOnce: title: View once type: object properties: view_once: type: boolean description: Is view once Participants: title: Participants list type: object properties: participants: type: array minItems: 1 items: $ref: "#/components/schemas/ContactID" Event: title: Event type: object allOf: - $ref: "#/components/schemas/WebhookEventType" - properties: method: type: string enum: - post - put - delete - patch Participant: title: Participant type: object required: - id - rank properties: id: $ref: "#/components/schemas/ContactID" rank: type: string description: Participant rank example: admin enum: - admin - member - creator GroupApplicationChange: title: Group applications change list type: object properties: chatId: $ref: "#/components/schemas/ChatID" success: type: boolean description: result of operation error: type: string description: error details GroupApplications: title: Group Applications type: array items: $ref: "#/components/schemas/GroupApplication" GroupApplication: title: Group Application type: object properties: chatId: $ref: "#/components/schemas/ChatID" request_method: type: string description: Application request method example: invite_link timestamp: type: number description: Application creation time example: 1717680789 Groups: title: Groups type: array items: $ref: "#/components/schemas/Group" ChannelStatus: title: Channel status type: object properties: code: type: number description: Status code text: type: string description: Status text enum: - NOT_INIT - INIT - LAUNCH - QR - AUTH - ERROR - SYNC_ERROR x-enum-descriptions: - Not initialized - Initialized - Launched - Scan QR code - Authorize - Error - Synchronization error required: - code - text MediaFiles: title: Media Files type: array items: $ref: "#/components/schemas/MediaFile" MessageType: default: text type: string description: Message type enum: - text - image - video - gif - audio - voice - short - document - documentWithCaption - link_preview - location - live_location - contact - contact_list - sticker - system - call - unknown - action - group_invite - newsletter_invite - admin_invite - product - catalog - interactive - reply - poll - hsm - order - story - event - buttons - list - pin - carousel MessageSource: default: text type: string description: Message source enum: - web - mobile - api - system - business_api - unknown StatusEnum: type: string description: Message ack status enum: - failed - pending - sent - delivered - read - played - deleted x-enum-descriptions: - Message failed to send (Red error triangle in WhatsApp Mobile) - Message pending to send (One clock in WhatsApp Mobile) - Message received by WhatsApp server (One checkmark in WhatsApp Mobile) - Message delivered to recipient (Two checkmarks in WhatsApp Mobile) - Message read by recipient (Two blue checkmarks in WhatsApp Mobile) - Voice-message played by recipient (Two blue checkmarks in WhatsApp Mobile) - Message deleted by the user MessageContentText: title: Content text message description: "" type: object allOf: - $ref: "#/components/schemas/MessagePropsText" - $ref: "#/components/schemas/ActionButtons" - $ref: "#/components/schemas/ActionList" - $ref: "#/components/schemas/ViewOnce" MessageContentImage: title: Content image message type: object required: - id allOf: - $ref: "#/components/schemas/MediaFile" - $ref: "#/components/schemas/MessagePropsImageOrVideo" - $ref: "#/components/schemas/ActionButtons" - $ref: "#/components/schemas/ViewOnce" MessageContentVideo: title: Content video message type: object required: - id allOf: - $ref: "#/components/schemas/MediaFile" - $ref: "#/components/schemas/MessagePropsImageOrVideo" - properties: seconds: description: Optional. For video files, this field indicates the duration of the video file in seconds. type: integer format: int32 autoplay: description: Optional. If the media is a GIF, this field indicates whether the GIF should be played automatically when the message is received. type: boolean - $ref: "#/components/schemas/ActionButtons" - $ref: "#/components/schemas/ViewOnce" MessageContentAudio: title: Content audio message type: object required: - id allOf: - $ref: "#/components/schemas/MediaFile" - $ref: "#/components/schemas/MessagePropsVoice" - $ref: "#/components/schemas/ViewOnce" MessageContentDocument: title: Content document message type: object required: - id allOf: - $ref: "#/components/schemas/MediaFile" - $ref: "#/components/schemas/MessagePropsDocument" - properties: page_count: description: Optional. Number of pages type: integer preview: description: Optional. Base64 encoded preview of the media. In JPEG format. type: string - $ref: "#/components/schemas/ActionButtons" - $ref: "#/components/schemas/ViewOnce" MessageContentLinkPreview: title: Content link preview message type: object allOf: - $ref: "#/components/schemas/MessagePropsText" - properties: url: type: string description: URL of the link id: $ref: "#/components/schemas/MediaID" link: description: Optional. Link to media type: string sha256: description: Checksum type: string catalog_id: $ref: "#/components/schemas/ContactID" newsletter_id: $ref: "#/components/schemas/NewsletterID" invite_code: $ref: "#/components/schemas/InviteCode" - $ref: "#/components/schemas/MessagePropsLinkPreview" - $ref: "#/components/schemas/ViewOnce" MessageContentSticker: title: Content sticker message type: object required: - id allOf: - $ref: "#/components/schemas/MediaFile" - $ref: "#/components/schemas/MessagePropsSticker" - properties: preview: description: Optional. Base64 encoded preview of the media. In PNG format. type: string - $ref: "#/components/schemas/Size" - $ref: "#/components/schemas/ViewOnce" MessageContentLocation: title: Content location message type: object required: - latitude - longitude allOf: - properties: latitude: format: double description: Latitude of location being sent type: number longitude: format: double description: Longitude of location being sent type: number address: description: Address of the location type: string name: description: Name of the location type: string url: description: URL for the website where the user downloaded the location information type: string preview: description: Optional. Base64 encoded preview of the media. In JPEG format. type: string accuracy: description: Accuracy of the location in meters type: integer format: int32 speed: description: Speed of the location in meters per second type: integer format: int32 degrees: description: Degrees clockwise from true north type: integer format: int32 comment: description: Optional. Comment for the location type: string - $ref: "#/components/schemas/ViewOnce" MessageContentLiveLocation: title: Content live location message type: object required: - latitude - longitude allOf: - properties: latitude: format: double description: Latitude of live location being sent type: number longitude: format: double description: Longitude of live location being sent type: number accuracy: description: Accuracy of the live location in meters type: integer format: int32 speed: description: Speed of the live location in meters per second type: integer format: int32 degrees: description: Degrees clockwise from true north type: integer format: int32 caption: description: Optional. Text caption under the live location type: string sequence_number: description: Optional. Sequence number of the live location for event tracking type: integer format: int64 time_offset: description: Optional. Time offset of the live location type: number preview: description: Optional. Base64 encoded preview of the media. In JPEG format. type: string - $ref: "#/components/schemas/ViewOnce" MessageContentContact: title: Content contact message type: object allOf: - $ref: "#/components/schemas/VCard" MessageContentContacts: title: Content contacts message type: object allOf: - properties: list: type: array items: $ref: "#/components/schemas/VCard" MessageContentInteractive: title: Message content interactive type: object allOf: - $ref: "#/components/schemas/MessagePropsInteractive" - $ref: "#/components/schemas/MediaFile" - $ref: "#/components/schemas/ViewOnce" MessageContentPoll: title: Message content poll type: object allOf: - $ref: "#/components/schemas/MessagePollResults" - properties: results: type: array items: $ref: "#/components/schemas/PollResults" - $ref: "#/components/schemas/ViewOnce" MessageContentHSM: title: Message content HSM type: object properties: header: type: object description: Header properties: type: type: string description: Header type enum: - text - image - video - document - location text: $ref: "#/components/schemas/MessagePropsText" image: $ref: "#/components/schemas/MediaFile" video: $ref: "#/components/schemas/MediaFile" document: $ref: "#/components/schemas/MediaFile" location: $ref: "#/components/schemas/MessageContentLocation" body: description: Message text type: string footer: description: Message footer type: string buttons: type: array description: Buttons items: $ref: "#/components/schemas/HSMButton" MessageContentSystem: title: Message content interactive type: object properties: body: type: string description: Message body MessageContentOrder: title: Message content order type: object properties: order_id: description: Order ID type: string seller: type: string description: Seller ID (Contact ID) title: type: string description: Order title text: type: string description: Order message text token: description: Base64 secret token type: string item_count: description: Total products count type: number currency: $ref: "#/components/schemas/Currency" total_price: description: Total order price type: number status: description: Order status type: string enum: - new - accepted - canceled preview: description: Order preview base64 image JPEG type: string MessageContentNewsletterAdminInvite: title: Content newsletter admin invite message type: object required: - newsletter_id - newsletter_name - expiration allOf: - $ref: "#/components/schemas/MessagePropsText" - properties: newsletter_id: $ref: "#/components/schemas/NewsletterID" newsletter_name: description: Newsletter name type: string expiration: description: Expiration timestamp of the invitation type: number preview: type: string description: Base64 encoded newsletter preview image. In JPEG format MessageContentProduct: title: Message content product type: object properties: catalog_id: description: Catalog ID type: string product_id: description: Product ID type: string MessageContentProductItems: title: Message content product items type: object properties: type: type: string description: Type of interactive enum: - list - buttons MessageAction: title: Message action type: object required: - type properties: target: description: Target message ID or chat ID type: string type: description: Type of action type: string enum: - edited - edit - delete - reaction - ephemeral - vote - comment - event_response - pin - unpin emoji: description: Action emoji for reaction type: string ephemeral: description: Ephemeral message duration type: integer edited_type: $ref: "#/components/schemas/MessageType" edited_content: $ref: "#/components/schemas/MessageContent" votes: type: array description: List of poll options items: type: string comment: type: string description: Comment event_response: $ref: "#/components/schemas/EventResponse" MessageContext: title: Message context description: "" type: object properties: forwarded: type: boolean description: Is forwarding message forwarding_score: type: integer format: int32 description: Count fo forwarding message mentions: type: array items: type: string description: The numbers of the mentioned users ad: $ref: "#/components/schemas/MessageContextAD" conversion: $ref: "#/components/schemas/MessageContextConversion" quoted_id: type: string description: ID of quoted message quoted_type: $ref: "#/components/schemas/MessageType" quoted_content: $ref: "#/components/schemas/MessageContent" quoted_author: type: string description: Whatsapp ID of quoted message author ephemeral: type: integer description: Ephemeral message duration MessageContentEvent: title: Message content event type: object properties: is_canceled: type: boolean description: True if event is canceled example: false name: type: string description: Event name example: Some name description: type: string description: Event description example: Some description join_link: type: string description: Join link example: https://call.whatsapp.com/voice/K5IFl19olpzTLsh52A0G9R start: type: integer description: Chat timestamp example: 1675964377 responses: type: array description: Event responses items: $ref: "#/components/schemas/EventResponse" MessageContentList: title: Message content list type: object properties: header: type: string body: type: string label: type: string footer: type: string sections: type: array items: type: object properties: title: type: string rows: type: array items: type: object properties: id: type: string title: type: string description: type: string MessageContentButtons: title: Message content buttons type: object properties: text: type: string footer: type: string buttons: type: array items: type: object properties: id: type: string text: type: string type: type: string enum: - UNKNOWN - RESPONSE - NATIVE_FLOW MessageReaction: title: Message reactions type: object required: - emoji properties: id: type: string description: Reaction ID emoji: $ref: "#/components/schemas/Emoji" group_key: type: string description: Reaction group key t: type: number description: Reaction timestamp unread: type: boolean description: Is reaction unread count: type: number description: Reaction count MessageContent: title: Message content type: object oneOf: - $ref: "#/components/schemas/MessageContentText" - $ref: "#/components/schemas/MessageContentImage" - $ref: "#/components/schemas/MessageContentVideo" - $ref: "#/components/schemas/MessageContentAudio" - $ref: "#/components/schemas/MessageContentDocument" - $ref: "#/components/schemas/MessageContentLinkPreview" - $ref: "#/components/schemas/MessageContentNewsletterAdminInvite" - $ref: "#/components/schemas/MessageContentProduct" - $ref: "#/components/schemas/MessageContentSticker" - $ref: "#/components/schemas/MessageContentLocation" - $ref: "#/components/schemas/MessageContentLiveLocation" - $ref: "#/components/schemas/MessageContentContact" - $ref: "#/components/schemas/MessageContentContacts" - $ref: "#/components/schemas/MessageContentInteractive" - $ref: "#/components/schemas/MessageContentPoll" - $ref: "#/components/schemas/MessageContentReply" EventResponse: title: Message content event type: object properties: participant: $ref: "#/components/schemas/ContactID" response: type: string description: Response example: JOING enum: - UNKNOWN - GOING - NOT_GOING timestamp: type: integer description: Response timestamp example: 1675964377 MessageContentReply: title: Message content reply type: object properties: type: type: string description: Type of message content enum: - list_reply - buttons_reply list_reply: $ref: "#/components/schemas/ListReply" buttons_reply: $ref: "#/components/schemas/ButtonsReply" MediaFile: title: Media file type: object required: - id - mime_type - file_size - time properties: id: $ref: "#/components/schemas/MediaID" link: description: Optional. Link to media type: string mime_type: description: Mime type of media type: string file_size: description: File size in bytes type: integer format: int64 file_name: description: Optional. File name type: string sha256: description: Checksum type: string timestamp: description: Created at type: number MessagePropsVoice: title: Message voice unique parameters type: object allOf: - $ref: "#/components/schemas/MessagePropsAudio" - properties: recording_time: type: number description: Time in seconds to simulate recording voice default: 0 minimum: 0 waveform: type: string description: Voice message waveform VCard: title: VCard type: object properties: name: description: Name of contact type: string vcard: description: Vcard of contact type: string MessagePropsDocument: title: Message document unique parameters type: object properties: caption: description: Optional. Text caption under the document. type: string filename: description: Optional. File name type: string ActionButtons: title: Buttons type: object properties: buttons: type: array items: $ref: "#/components/schemas/Button" MessagePropsText: title: Message text unique parameters type: object required: - body properties: body: description: Message text type: string HSMButton: title: Button type: object properties: id: description: ID of the button type: string type: description: Type of button type: string enum: - simple - reply - url - phone_number - copy_code text: description: Button text type: string url: description: URL type: string phone_number: description: Phone number type: string copy_code: description: Code type: string MessagePropsImageOrVideo: title: Message image or video unique parameters type: object allOf: - properties: caption: description: Optional. Text caption under the media. type: string preview: description: Optional. Base64 encoded preview of the media. In JPEG format. type: string - $ref: "#/components/schemas/Size" MessagePropsInteractive: title: Message interactive unique parameters type: object properties: header: type: object description: Header of interactive properties: text: type: string body: type: object description: Body of interactive properties: text: type: string description: Text of body footer: type: object description: Footer of interactive properties: text: type: string description: Text of footer action: $ref: "#/components/schemas/InteractiveAction" type: $ref: "#/components/schemas/InteractiveType" required: - action MessagePropsLinkPreview: title: Preview link send parameters description: If 'body' contains a link, this props can be used to create custom preview link type: object properties: title: type: string description: Title of the link description: type: string description: Description of the link canonical: type: string description: Canonical URL of the link (for example, if the link is shortened) preview: type: string description: Base64 encoded image for mini version link preview. In JPEG format required: - title Currency: description: Currency type: string enum: - USD - EUR - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYN - BZD - CAD - CDF - CHF - CLP - CNY - COP - CRC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - FJD - FKP - GBP - GEL - GGP - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - IMP - INR - IQD - IRR - ISK - JEP - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRU - MUR - MVR - MWK - MXN - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SLL - SOS - SRD - SSP - STN - SVC - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - UYU - UZS - VEF - VND - VUV - WST - XAF - XCD - XOF - XPF - YER - ZAR - ZMW - ZWL MessagePollResults: title: Message poll unique parameters type: object properties: title: type: string description: Title of poll options: type: array description: Options of poll items: type: string minItems: 2 maxItems: 12 vote_limit: type: integer description: Number of selectable options in poll (1 - can choose only one option, 0 - any number of options) total: type: integer description: Total count of selected options required: - title - options PollResults: title: Poll results type: object properties: id: type: string description: option ID name: type: string description: option name count: type: integer description: Number of votes for this option voters: type: array description: List of users who voted for this option items: $ref: "#/components/schemas/ContactID" required: - id - name - count - voters ListReply: title: Buttons reply type: object properties: id: type: string description: Clicked list ID title: type: string description: Clicked list title description: type: string description: Clicked list description ButtonsReply: title: Buttons reply type: object properties: id: type: string description: Clicked button ID title: type: string description: Clicked button text MessagePropsSticker: title: Message sticker unique parameters type: object allOf: - properties: animated: description: Optional. For stickers, this field indicates whether the sticker is animated. type: boolean - $ref: "#/components/schemas/Size" Size: title: Size type: object properties: width: description: Width of the media in pixels type: integer format: int32 height: description: Height of the media in pixels type: integer format: int32 ActionList: title: List of messages type: object properties: sections: description: Section of the message type: array items: type: object properties: title: description: Title of the section type: string rows: description: Rows of the section type: array items: type: object properties: title: description: Title of the row type: string description: description: Description of the row type: string id: description: Row ID type: string product_items: description: Product items of the section type: array items: type: object properties: catalog_id: description: Catalog ID type: string product_id: description: Product ID type: string button: description: Button text for list of message type: string MessageContextAD: title: Message advertisement description: Advertisement message from META-business type: object properties: advertiser_name: type: string description: Name of the advertiser media_type: $ref: "#/components/schemas/MediaMessageType" preview: type: string description: Base64 encoded preview. In JPEG format. preview_url: type: string description: URL of the preview title: type: string description: Title of the advertisement body: type: string description: Body of the advertisement media_url: type: string description: URL of the media source: type: object properties: id: type: string description: ID of the advertisement source type: type: string description: Type of the advertisement source url: type: string description: URL of the advertisement source auto_reply: type: boolean description: True if the advertisement contains an auto-reply attrib: type: boolean description: True if the advertisement shows the attributions ctwa: type: string description: Call to action ref: type: string description: Reference MessageContextConversion: title: Message conversion description: Message conversion data type: object properties: source: type: string description: Source of the conversion data: type: string description: Conversion data in Base64 delay: type: integer description: Delay in seconds InteractiveAction: title: Interactive action type: object allOf: - $ref: "#/components/schemas/SectionList" - $ref: "#/components/schemas/ButtonList" - properties: product: type: object $ref: "#/components/schemas/ActionProduct" InteractiveType: default: button type: string description: Interactive type enum: - list - button - product MessagePropsAudio: title: Message audio unique parameters type: object properties: seconds: description: Optional. For audio files, this field indicates the duration of the audio file in seconds. type: integer format: int32 Emoji: type: string description: Reaction text Messages: title: Messages type: array items: $ref: "#/components/schemas/Message" Newsletters: title: Newsletters type: array items: $ref: "#/components/schemas/Newsletter" Paging: title: Paging type: object properties: end_cursor: type: string description: Cursor for next page start_cursor: type: string description: Cursor of the current page next_page: type: boolean description: Does next page exit previous_page: type: boolean description: Does previous page exit ProductItem: title: Product item type: object properties: id: description: Product ID type: string product_retailer_id: description: Product Retailer ID type: string name: description: Product name type: string image: description: Product image URL type: string quantity: description: Quantity type: integer price: description: Item price type: number currency: $ref: "#/components/schemas/Currency" Products: title: Products type: array items: $ref: "#/components/schemas/Product" Error: title: Error type: object required: - code - message properties: code: format: int32 description: See the https://whapi.cloud/docs/whatsapp/api/errors for more information. type: integer message: description: error message type: string details: description: error detail type: string href: description: location for error detail type: string support: description: support contact type: string Sender: title: Send message parameters required: - to type: object properties: to: type: string description: Use the phone number or [Chat ID](https://support.whapi.cloud/help-desk/faq/chat-id.-what-is-it-and-how-to-get-it) of the contact/group/channel to which you want to send the message. Use [Get groups](https://whapi.readme.io/reference/getgroups) to get the group ID. pattern: ^[\d-]{9,31}(@[\w\.]{1,})?$ example: 1234567891@s.whatsapp.net quoted: type: string description: Message ID of the message to be quoted pattern: ^[A-Za-z0-9._]{4,30}-[A-Za-z0-9._]{4,14}(-[A-Za-z0-9._]{4,10})?(-[A-Za-z0-9._]{2,10})?$ edit: type: string description: Message ID of the message to be edited pattern: ^[A-Za-z0-9._]{4,30}-[A-Za-z0-9._]{4,14}(-[A-Za-z0-9._]{4,10})?(-[A-Za-z0-9._]{2,10})?$ SendMedia: title: Message media file parameters for send description: > Media file to send. You can use preuploaded file or upload file on the fly. Use preupload files if you want to send same file to multiple chats and so as not to disturb the order of messages. type: object properties: media: oneOf: - $ref: "#/components/schemas/MediaWithUploadFromFile" - $ref: "#/components/schemas/MediaWithUploadFromUrl" - $ref: "#/components/schemas/MediaWithUploadFromBase64" - $ref: "#/components/schemas/MediaWithoutUpload" mime_type: description: Mime type of media type: string no_encode: description: Do not use our encoding type: boolean no_cache: description: Do not use the cache in a request type: boolean MessagePropsCarousel: title: Message carousel unique parameters type: object properties: body: type: object description: Body of carousel properties: text: type: string description: Text of body cards: type: array description: Cards of carousel items: $ref: "#/components/schemas/CarouselCard" required: - cards Mentions: title: Mentions type: object properties: mentions: type: array items: type: string pattern: ^\d{7,15}(@s\.whatsapp\.net)?$|^\d{10,31}@g\.us$ description: The numbers of the mentioned users MessagePropsGif: title: Message gif unique parameters type: object allOf: - $ref: "#/components/schemas/MessagePropsImageOrVideo" - properties: autoplay: description: Optional. This field indicates whether the GIF should be played automatically when the message is received. type: boolean MessagePropsPoll: title: Message poll unique parameters type: object properties: title: type: string description: Title of poll options: type: array description: Options of poll items: type: string minItems: 2 maxItems: 12 count: type: integer description: Number of selectable options in poll (1 - can choose only one option, 0 - any number of options) minimum: 0 maximum: 1 required: - title - options MediaSettings: title: Media type: object properties: auto_download: description: An array specifying which types of media to automatically download. type: array items: enum: - image - audio - voice - video - document - sticker type: string init_avatars: description: Set to true if you need to get avatars after channel authorization type: boolean Webhooks: title: Webhooks type: array items: $ref: "#/components/schemas/Webhook" Statuses: title: Statuses type: array items: $ref: "#/components/schemas/Status" UploadMedia: title: Uploaded media description: "" type: object properties: id: $ref: "#/components/schemas/MediaID" MessageUpdate: title: Message update type: object required: - id - before_update - after_update properties: id: $ref: "#/components/schemas/MessageID" trigger: $ref: "#/components/schemas/Message" before_update: $ref: "#/components/schemas/Message" after_update: $ref: "#/components/schemas/Message" changes: type: array items: type: string Status: title: View status description: "" type: object required: - id - code - status - timestamp properties: errors: type: array items: $ref: "#/components/schemas/Error" id: description: Message ID from event type: string code: type: number description: Status code status: $ref: "#/components/schemas/StatusEnum" recipient_id: $ref: "#/components/schemas/ChatID" viewer_id: $ref: "#/components/schemas/ContactID" timestamp: description: Timestamp of the status message type: string ChatUpdate: title: Chat update type: object required: - before_update - after_update - changes properties: before_update: $ref: "#/components/schemas/Chat" after_update: $ref: "#/components/schemas/Chat" changes: type: array items: type: string ContactUpdate: title: Contact update type: object required: - before_update - after_update - changes properties: before_update: $ref: "#/components/schemas/Contact" after_update: $ref: "#/components/schemas/Contact" changes: type: array items: type: string ParticipantEvent: title: Participant event type: object required: - group_id - participants - action properties: group_id: $ref: "#/components/schemas/GroupID" participants: type: array items: $ref: "#/components/schemas/ContactID" action: type: string description: Participant action example: promote enum: - null - add - remove - promote - demote - request - revoke_request - rejected_request GroupUpdate: title: Group update type: object required: - before_update - after_update - changes properties: before_update: $ref: "#/components/schemas/Group" after_update: $ref: "#/components/schemas/Group" changes: type: array items: type: string CallEvent: title: Call event type: object properties: id: description: The ID of the call. type: string chat_id: description: The ID of the chat that the call is associated with. type: string status: description: The status of the call. type: string enum: - initiated - ringing - missed - canceled - answered from: description: The ID of the contact that initiated the call. type: string timestamp: description: The timestamp of the call. type: integer format: int64 group_call: description: Whether the call is a group call. type: boolean video_call: description: Whether the call is a video call. type: boolean offline_call: description: Whether the call is an offline call. type: boolean latency: description: The latency of the call in milliseconds. type: integer format: int64 Webhook: title: Webhook type: object required: - url allOf: - $ref: "#/components/schemas/WebhookParameters" - properties: events: type: array items: $ref: "#/components/schemas/Event" default: - type: message method: put description: Tracked events.
"messages" - got new message/got offline messages/edit message/delete message;
"statuses" - got message status/got offline message status;
"chats" - got chat/chat update/chat remove;
"contacts" - contact update;
"presences" - got presences
"groups" - new group/participants update/group update;
"calls" - got call events
labels" - new label/remove label
"users" - login user/logout user
"channel" - instance status changed/QR-code update
"service" - special notifications

"message", "ack", "chat", "status" - is deprecated, use "messages", "statuses", "chats", "channel" instead. WebhookEventType: title: Webhook Event Type type: object properties: type: type: string enum: - messages - statuses - chats - contacts - groups - presences - calls - channel - users - labels - service WebhookParameters: title: WebhookParameters type: object properties: headers: type: object description: 'Additional headers for webhook. Max 5 headers.
Example:
"Authorization - Bearer token"
"Content-Type - application/json"
"X-Header - value"' additionalProperties: type: string url: description: Inbound and outbound notifications are routed to this URL. type: string mode: type: string default: body enum: - body - path - method description: Request method for sending hook. Button: title: Button type: object properties: type: description: Type of button type: string enum: - quick_reply - call - copy - url title: description: Button text type: string id: description: Button ID type: string copy_code: description: Button code for copy type type: string phone_number: description: Button phone number for call type type: string url: description: Button url for url type type: string merchant_url: description: Button merchant_url for url type type: string required: - type - title - id SectionList: title: List type: object properties: list: type: object properties: sections: description: Section of the message type: array items: type: object properties: title: description: Title of the section type: string rows: description: Rows of the section type: array items: type: object properties: title: description: Title of the row type: string description: description: Description of the row type: string id: description: Row ID type: string label: description: Text for list of message type: string required: - sections - label ButtonList: title: List of buttons type: object properties: buttons: description: Buttons type: array items: $ref: "#/components/schemas/Button" ActionProduct: title: Product fields type: object properties: catalog_id: description: Catalog ID type: string product_id: description: Product ID type: string CarouselCard: title: Carousel card type: object properties: text: description: Card text type: string id: description: Card ID type: string buttons: type: array description: Buttons of card items: $ref: "#/components/schemas/Button" media: $ref: "#/components/schemas/SendMedia" required: - buttons - media - id securitySchemes: bearerAuth: scheme: bearer bearerFormat: token type: http tokenAuth: in: query name: token type: apiKey