openapi: 3.0.0 info: title: Evolution API description: |

[![Whatsapp Group](https://img.shields.io/badge/Group-WhatsApp-%2322BC18)](https://evolution-api.com/whatsapp) [![Discord Community](https://img.shields.io/badge/Discord-Community-blue)](https://evolution-api.com/discord) [![Postman Collection](https://img.shields.io/badge/Postman-Collection-orange)](https://evolution-api.com/postman) [![Documentation](https://img.shields.io/badge/Documentation-Official-green)](https://doc.evolution-api.com) [![License](https://img.shields.io/badge/license-GPL--3.0-orange)](./LICENSE) [![Support](https://img.shields.io/badge/Donation-picpay-green)](https://app.picpay.com/user/davidsongomes1998) [![Support](https://img.shields.io/badge/Buy%20me-coffe-orange)](https://bmc.link/evolutionapi)
This project is based on the [evolution](https://github.com/code-chat-br/whatsapp-api). The original project is an implementation of [Baileys](https://github.com/WhiskeySockets/Baileys), serving as a Restful API service that controls WhatsApp functions.
The code allows the creation of multiservice chats, service bots, or any other system that utilizes WhatsApp. The documentation provides instructions on how to set up and use the project, as well as additional information about its features and configuration options.
[![Run in Postman](https://run.pstmn.io/button.svg)](https://god.gw.postman.com/run-collection/26869335-5546d063-156b-4529-915f-909dd628c090?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D26869335-5546d063-156b-4529-915f-909dd628c090%26entityType%3Dcollection%26workspaceId%3D339a4ee7-378b-45c9-b5b8-fd2c0a9c2442) version: 1.8.0 contact: name: DavidsonGomes email: contato@agenciadgcode.com url: https://img.shields.io/badge/license-GPL--3.0-orange license: name: GNU General Public License v3.0 url: https://github.com/EvolutionAPI/evolution-api/blob/main/LICENSE servers: [] components: securitySchemes: apikeyAuth: type: apiKey in: header name: apikey bearerAuth: type: http scheme: bearer bearerFormat: JWT security: - bearerAuth: [] tags: - name: Instance Controller - name: Send Message Controller - name: Chat Controller - name: Group Controller - name: Label Controller - name: Profile Settings - name: JWT - name: Settings - name: Webhook - name: Websocket - name: RabbitMQ - name: Chatwoot - name: Typebot - name: Proxy - name: Chama AI paths: /instance/create: post: tags: - Instance Controller summary: Create Instance requestBody: content: application/json: schema: type: object properties: instanceName: type: string description: Name of the instance (optional). token: type: string description: Token of the instance (optional). qrcode: type: boolean description: QR Code of the instance (optional). example: instanceName: "exampleInstance" token: "87F3F7D0-4B8A-45D0-8618-7399E4AD6469" qrcode: true security: - apikeyAuth: [] responses: "200": description: Successful response content: application/json: {} /instance/fetchInstances: get: tags: - Instance Controller summary: Fetch Instances security: - apikeyAuth: [] parameters: - name: instanceName in: query schema: type: string description: Retrieve one or all instances (optional). example: "evolution" responses: "200": description: Successful response content: application/json: schema: type: array items: type: object properties: instance: type: object properties: instanceName: type: string owner: type: string profileName: type: string profilePictureUrl: type: string profileStatus: type: string status: type: string serverUrl: type: string apikey: type: string /instance/connect/{instanceName}: get: tags: - Instance Controller summary: Instance Connect parameters: - name: instanceName in: path required: true schema: type: string description: Connect to your instance. example: "evolution" responses: "200": description: Successful response content: application/json: schema: type: object properties: code: type: string base64: type: string description: The QR Code as a string. /instance/restart/{instanceName}: put: tags: - Instance Controller summary: Instance Restart parameters: - name: instanceName in: path required: true schema: type: string description: Connect to your instance. example: "evolution" responses: "200": description: Successful response content: application/json: {} /instance/connectionState/{instanceName}: get: tags: - Instance Controller summary: Connection Status parameters: - name: instanceName in: path required: true schema: type: string description: Check the connection state of your instance. example: "evolution" security: - apikeyAuth: [] responses: "200": description: Successful response content: application/json: {} /instance/logout/{instanceName}: delete: tags: - Instance Controller summary: Logout Instance parameters: - name: instanceName in: path required: true schema: type: string description: Logout from your instance. example: "evolution" responses: "200": description: Successful response content: application/json: {} /instance/delete/{instanceName}: delete: tags: - Instance Controller summary: Delete Instance parameters: - name: instanceName in: path required: true schema: type: string description: Delete your instance. example: "evolution" responses: "200": description: Successful response content: application/json: {} /message/sendText/{instanceName}: post: tags: - Send Message Controller summary: Send a text message to a specified instance. requestBody: required: true content: application/json: schema: type: object properties: number: type: string description: The recipient's phone number. example: "1234567890" textMessage: type: object properties: text: type: string description: The content of the text message. example: "Hello, World!" options: type: object properties: delay: type: integer description: Delay time before sending the message. presence: type: string enum: ["composing", "recording", "paused"] description: Indicates the sender's action/status. linkPreview: type: boolean description: Indicates whether to enable link preview. quoted: type: object properties: key: type: object properties: remoteJid: type: string description: The ID of the recipient of the original message. fromMe: type: boolean description: Indicates if the message was sent from the user. id: type: string description: The ID of the original message. message: type: object properties: conversation: type: string description: The content of the quoted message. mentions: type: object properties: everyone: type: boolean description: Indicates whether to mention everyone. mentioned: type: array items: type: string description: The phone numbers of the users to be mentioned. required: - number - textMessage parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the message should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /message/sendStatus/{instanceName}: post: tags: - Send Message Controller summary: Send a status message. requestBody: required: true content: application/json: schema: type: object properties: statusMessage: type: object properties: type: type: string enum: ["text", "image", "video", "audio"] description: Type of the status message. content: type: string description: The content of the status message. backgroundColor: type: string description: The background color of the status message. font: type: integer enum: [1, 2, 3, 4, 5] description: The font of the status message. allContacts: type: boolean description: Indicates whether to send the status message to all contacts. statusJidList: type: array items: type: string description: The phone numbers of the users to whom the status message should be sent. required: - type parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the status message should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /message/sendMedia/{instanceName}: post: tags: - Send Message Controller summary: Send a media message (image, video, document, audio) to a specified instance. requestBody: required: true content: application/json: schema: type: object properties: number: type: string description: The recipient's phone number. example: "1234567890" mediaMessage: type: object properties: mediatype: type: string enum: ["image", "document", "video", "audio"] description: Type of the media content. fileName: type: string description: Name of the media file (optional). caption: type: string description: Caption to accompany the media. media: type: string description: URL of the media content. required: - mediatype - media options: type: object properties: delay: type: integer description: Delay time before sending the message. presence: type: string enum: ["composing", "recording", "paused"] description: Indicates the sender's action/status. linkPreview: type: boolean description: Indicates whether to enable link preview. quoted: type: object properties: key: type: object properties: remoteJid: type: string description: The ID of the recipient of the original message. fromMe: type: boolean description: Indicates if the message was sent from the user. id: type: string description: The ID of the original message. message: type: object properties: conversation: type: string description: The content of the quoted message. mentions: type: object properties: everyone: type: boolean description: Indicates whether to mention everyone. mentioned: type: array items: type: string description: The phone numbers of the users to be mentioned. parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the media message should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /message/sendWhatsAppAudio/{instanceName}: post: tags: - Send Message Controller summary: Send an audio message via WhatsApp to a specified instance. description: This endpoint allows users to share an audio message. requestBody: required: true content: application/json: schema: type: object properties: number: type: string description: The recipient's phone number. example: "1234567890" audioMessage: type: object properties: audio: type: string description: URL of the audio file to be sent. required: - audio options: type: object properties: delay: type: integer description: Delay time before sending the message. presence: type: string enum: ["composing", "recording", "paused"] description: Indicates the sender's action/status. linkPreview: type: boolean description: Indicates whether to enable link preview. quoted: type: object properties: key: type: object properties: remoteJid: type: string description: The ID of the recipient of the original message. fromMe: type: boolean description: Indicates if the message was sent from the user. id: type: string description: The ID of the original message. message: type: object properties: conversation: type: string description: The content of the quoted message. mentions: type: object properties: everyone: type: boolean description: Indicates whether to mention everyone. mentioned: type: array items: type: string description: The phone numbers of the users to be mentioned. required: - number - audioMessage.audio parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the audio should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /message/sendSticker/{instanceName}: post: tags: - Send Message Controller summary: Send an sticker to a specified instance. description: This endpoint allows users to share an sticker message. requestBody: required: true content: application/json: schema: type: object properties: number: type: string description: The recipient's phone number. example: "1234567890" stickerMessage: type: object properties: image: type: string description: URL of the audio file to be sent. required: - image options: type: object properties: delay: type: integer description: Delay time before sending the message. presence: type: string enum: ["composing", "recording", "paused"] description: Indicates the sender's action/status. required: - number - audioMessage.audio parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the audio should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /message/sendLocation/{instanceName}: post: tags: - Send Message Controller summary: Send a location to a specified instance. description: This endpoint allows users to share a location message. requestBody: required: true content: application/json: schema: type: object properties: number: type: string description: The recipient's phone number. example: "1234567890" locationMessage: type: object properties: name: type: string description: Name or title of the location. address: type: string description: Detailed address of the location. latitude: type: number description: Latitude of the location. format: float longitude: type: number description: Longitude of the location. format: float options: type: object properties: delay: type: integer description: Delay time before sending the message. presence: type: string enum: ["composing", "recording", "paused"] description: Indicates the sender's action/status. linkPreview: type: boolean description: Indicates whether to enable link preview. quoted: type: object properties: key: type: object properties: remoteJid: type: string description: The ID of the recipient of the original message. fromMe: type: boolean description: Indicates if the message was sent from the user. id: type: string description: The ID of the original message. message: type: object properties: conversation: type: string description: The content of the quoted message. mentions: type: object properties: everyone: type: boolean description: Indicates whether to mention everyone. mentioned: type: array items: type: string description: The phone numbers of the users to be mentioned. required: - number - locationMessage.latitude - locationMessage.longitude parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the location should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /message/sendContact/{instanceName}: post: tags: - Send Message Controller summary: Send contact details to a specified instance. description: This endpoint allows users to share one or multiple contact details. requestBody: required: true content: application/json: schema: type: object properties: number: type: string description: The recipient's phone number. example: "1234567890" contactMessage: type: array items: type: object properties: fullName: type: string description: Full name of the contact. wuid: type: string description: Unique identifier for the contact. phoneNumber: type: string description: Phone number of the contact. organization: type: string description: Organization of the contact. email: type: string description: Email address of the contact. url: type: string description: Url of the contact. required: - fullName - wuid - phoneNumber options: type: object properties: delay: type: integer description: Delay time before sending the message. presence: type: string enum: ["composing", "recording", "paused"] description: Indicates the sender's action/status. linkPreview: type: boolean description: Indicates whether to enable link preview. quoted: type: object properties: key: type: object properties: remoteJid: type: string description: The ID of the recipient of the original message. fromMe: type: boolean description: Indicates if the message was sent from the user. id: type: string description: The ID of the original message. message: type: object properties: conversation: type: string description: The content of the quoted message. mentions: type: object properties: everyone: type: boolean description: Indicates whether to mention everyone. mentioned: type: array items: type: string description: The phone numbers of the users to be mentioned. required: - number parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the contacts should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /message/sendReaction/{instanceName}: post: tags: - Send Message Controller summary: Send a reaction to a specified instance. description: This endpoint allows users to send a reaction to a message. requestBody: required: true content: application/json: schema: type: object properties: reactionMessage: type: object properties: key: type: object properties: remoteJid: type: string description: The ID of the recipient of the original message. fromMe: type: boolean description: Indicates if the reaction was sent from the user. id: type: string description: The ID of the original message. reaction: type: string maxLength: 1 description: Reaction character (e.g., emoji). required: - key.remoteJid - key.fromMe - key.id - reaction parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the reaction should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /message/sendPoll/{instanceName}: post: tags: - Send Message Controller summary: Send a poll to a specified instance. description: This endpoint allows users to send a poll to a chat. requestBody: required: true content: application/json: schema: type: object properties: number: type: string description: The recipient's phone number. example: "1234567890" pollMessage: type: object properties: name: type: string description: Name or title of the poll. selectableCount: type: integer description: Number of selectable options. values: type: array items: type: string description: The options of the poll. options: type: object properties: delay: type: integer description: Delay time before sending the message. presence: type: string enum: ["composing", "recording", "paused"] description: Indicates the sender's action/status. linkPreview: type: boolean description: Indicates whether to enable link preview. quoted: type: object properties: key: type: object properties: remoteJid: type: string description: The ID of the recipient of the original message. fromMe: type: boolean description: Indicates if the message was sent from the user. id: type: string description: The ID of the original message. message: type: object properties: conversation: type: string description: The content of the quoted message. mentions: type: object properties: everyone: type: boolean description: Indicates whether to mention everyone. mentioned: type: array items: type: string description: The phone numbers of the users to be mentioned. parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the poll should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /message/sendList/{instanceName}: post: tags: - Send Message Controller summary: Send a list to a specified instance. description: This endpoint allows users to send a list to a chat. requestBody: required: true content: application/json: schema: type: object properties: number: type: string options: type: object properties: delay: type: integer presence: type: string listMessage: type: object properties: title: type: string description: type: string footerText: type: string nullable: true buttonText: type: string sections: type: array items: type: object properties: title: type: string rows: type: array items: type: object properties: title: type: string description: type: string rowId: type: string parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the poll should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/whatsappNumbers/{instanceName}: post: tags: - Chat Controller summary: Provide a list of WhatsApp numbers associated with a given instance. description: This endpoint returns information on the WhatsApp numbers associated with the specified instance. requestBody: required: true content: application/json: schema: type: object properties: numbers: type: array items: type: string description: WhatsApp phone number. example: - "1234567890" required: - numbers parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the reaction should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/markMessageAsRead/{instanceName}: put: tags: - Chat Controller summary: Mark specific messages as read for a given instance. description: This endpoint allows users to mark messages as read for a particular instance. requestBody: required: true content: application/json: schema: type: object properties: read_messages: type: array items: type: object properties: remoteJid: type: string description: ID of the recipient of the message. fromMe: type: boolean description: Indicates if the message was sent from the user. id: type: string description: Unique ID of the message. required: - remoteJid - fromMe - id required: - read_messages parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the reaction should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/archiveChat/{instanceName}: put: tags: - Chat Controller summary: Archive specific chats for a given instance. description: This endpoint allows users to archive specific chats based on the last message. requestBody: required: true content: application/json: schema: type: object properties: lastMessage: type: object properties: key: type: object properties: remoteJid: type: string description: ID of the recipient of the last message. fromMe: type: boolean description: Indicates if the last message was sent from the user. id: type: string description: Unique ID of the last message. required: - remoteJid - fromMe - id archive: type: boolean description: Indicates whether to archive the chat. example: true required: - lastMessage - archive parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the reaction should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/deleteMessageForEveryone/{instanceName}: delete: tags: - Chat Controller summary: Delete a message for everyone in a given instance. description: This endpoint allows users to delete a message for everyone in the chat. parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the reaction should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/fetchProfilePictureUrl/{instanceName}: post: tags: - Chat Controller summary: Retrieve the profile picture URL of a specific number. description: This endpoint fetches the profile picture URL associated with the given phone number for the specified instance. requestBody: required: true content: application/json: schema: type: object properties: number: type: string description: WhatsApp phone number whose profile picture URL needs to be fetched. required: - number parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the reaction should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/findContacts/{instanceName}: post: tags: - Chat Controller summary: Retrieve contact details using an ID. description: This endpoint retrieves contact details associated with the given ID for the specified instance. requestBody: content: application/json: schema: type: object properties: where: type: object properties: id: type: string description: Unique ID of the contact to be fetched. required: - id parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the reaction should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/getBase64FromMediaMessage/{instanceName}: post: tags: - Chat Controller summary: Convert media message content to Base64. description: This endpoint retrieves the Base64 representation of the content of a media message for the specified instance. requestBody: content: application/json: schema: type: object properties: message: type: object properties: key: type: object properties: id: string description: Unique ID of the message. convertToMp4: type: boolean description: Indicates whether to convert the media to MP4 format. example: true parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the reaction should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/findMessages/{instanceName}: post: tags: - Chat Controller summary: Search for messages based on specific criteria. description: This endpoint retrieves messages that match the provided criteria for the specified instance. requestBody: content: application/json: schema: type: object properties: where: type: object properties: key: type: object properties: remoteJid: type: string description: ID of the recipient of the message. fromMe: type: boolean description: Indicates if the message was sent from the user. id: type: string description: Unique ID of the message. required: - remoteJid - fromMe - id message: type: object required: - key limit: type: integer description: Maximum number of messages to retrieve. parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the reaction should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/findStatusMessage/{instanceName}: post: tags: - Chat Controller summary: Search for status messages using an ID. description: This endpoint retrieves status messages associated with the given ID for the specified instance. requestBody: content: application/json: schema: type: object properties: where: type: object properties: id: type: string description: Unique ID of the status message to be fetched. required: - id parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the reaction should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/findChats/{instanceName}: get: tags: - Chat Controller summary: List all chats associated with a specific instance. description: This endpoint retrieves a list of all chats associated with the specified instance. parameters: - name: instanceName in: path required: true schema: type: string description: The name of the instance to which the reaction should be sent. example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/create/{instanceName}: post: tags: - Group Controller summary: Create a new WhatsApp group. requestBody: required: true content: application/json: schema: type: object properties: subject: type: string description: "- required - The name of the group." description: type: string description: "- optional - A brief description or summary of the group." participants: type: array items: type: string description: "- required - List of participant phone numbers." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/updateGroupPicture/{instanceName}: put: tags: - Group Controller summary: Update the group's display picture. requestBody: required: true content: application/json: schema: type: object properties: image: type: string description: "- required - URL of the new group picture." parameters: - name: groupJid in: query schema: type: string description: "- required - The unique identifier of the group." example: "120363046555718472@g.us" - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/updateGroupSubject/{instanceName}: put: tags: - Group Controller summary: Update the group's display picture. requestBody: required: true content: application/json: schema: type: object properties: subject: type: string description: "- required - The new name of the group." parameters: - name: groupJid in: query schema: type: string description: "- required - The unique identifier of the group." example: "120363046555718472@g.us" - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/updateGroupDescription/{instanceName}: put: tags: - Group Controller summary: Update the group's display picture. requestBody: required: true content: application/json: schema: type: object properties: description: type: string description: "- required - The new description of the group." parameters: - name: groupJid in: query schema: type: string description: "- required - The unique identifier of the group." example: "120363046555718472@g.us" - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/inviteCode/{instanceName}: get: tags: - Group Controller summary: Update the group's display picture. parameters: - name: groupJid in: query schema: type: string description: "- required - The unique identifier of the group." example: "120363046555718472@g.us" - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/revokeInviteCode/{instanceName}: put: tags: - Group Controller summary: Update the group's display picture. parameters: - name: groupJid in: query schema: type: string description: "- required - The unique identifier of the group." example: "120363046555718472@g.us" - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/sendInvite/{instanceName}: post: tags: - Group Controller summary: Update the group's display picture. requestBody: required: true content: application/json: schema: type: object properties: groupJid: type: string description: "The unique identifier of the group." description: type: string description: "The new description of the group." numbers: type: array description: "List of participant phone numbers to be invited." items: type: string parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/inviteInfo/{instanceName}: get: tags: - Group Controller summary: Retrieve details about a specific group. parameters: - name: inviteCode in: query schema: type: string description: "- required - The invite code of the group." - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/findGroupInfos/{instanceName}: get: tags: - Group Controller summary: Retrieve details about a specific group. parameters: - name: groupJid in: query schema: type: string description: "- required - The unique identifier of the group." example: "120363046555718472@g.us" - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/fetchAllGroups/{instanceName}: get: tags: - Group Controller summary: Retrieve details about a specific group. parameters: - name: getParticipants in: query schema: type: boolean description: "- required - Indicates whether to retrieve the participants of the group." - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/participants/{instanceName}: get: tags: - Group Controller summary: Retrieve a list of participants in a specific group. parameters: - name: groupJid in: query schema: type: string description: "- required - The unique identifier of the group." example: "120363046555718472@g.us" - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/updateParticipant/{instanceName}: put: tags: - Group Controller summary: Update the status or role of a participant in the group. requestBody: required: true content: application/json: schema: type: object properties: action: type: string enum: ["add", "remove", "promote", "demote"] description: "- required - The action to be taken on the participant." participants: type: array items: type: string description: "- required - List of participant phone numbers to be updated." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/updateSetting/{instanceName}: put: tags: - Group Controller summary: Update the status or role of a participant in the group. requestBody: required: true content: application/json: schema: type: object properties: action: type: string enum: ["announcement", "not_announcement", "locked", "unlocked"] description: "- required - The action to be taken on the participant." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/toggleEphemeral/{instanceName}: put: tags: - Group Controller summary: Update the status or role of a participant in the group. requestBody: required: true content: application/json: schema: type: object properties: expiration: type: number description: "- required - The action to be taken on the participant." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /group/leaveGroup/{instanceName}: delete: tags: - Group Controller summary: Exit from the specified WhatsApp group. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /instance/refreshToken/: put: tags: - JWT summary: Refresh an expired JWT token. requestBody: required: true content: application/json: schema: type: object properties: oldToken: type: string description: "- required - The expired JWT token." responses: "200": description: Successful response content: application/json: {} /webhook/set/{instanceName}: post: tags: - Webhook summary: Set up or modify the webhook for an instance. requestBody: required: true content: application/json: schema: type: object properties: url: type: string format: uri description: "The endpoint URL where the webhook data will be sent." webhook_by_events: type: boolean description: "Indicates whether to send the webhook data by events." webhook_base64: type: boolean description: "Indicates whether to send the webhook data in Base64 format." events: type: array enum: [ "APPLICATION_STARTUP", "QRCODE_UPDATED", "MESSAGES_SET", "MESSAGES_UPSERT", "MESSAGES_UPDATE", "MESSAGES_DELETE", "SEND_MESSAGE", "CONTACTS_SET", "CONTACTS_UPSERT", "CONTACTS_UPDATE", "PRESENCE_UPDATE", "CHATS_SET", "CHATS_UPSERT", "CHATS_UPDATE", "CHATS_DELETE", "GROUPS_UPSERT", "GROUP_UPDATE", "GROUP_PARTICIPANTS_UPDATE", "CONNECTION_UPDATE", "LABELS_EDIT", "LABELS_ASSOCIATION", "CALL", "NEW_JWT_TOKEN", ] items: type: string description: "List of events to be sent to the webhook." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /webhook/find/{instanceName}: get: tags: - Webhook summary: Retrieve the webhook settings for a specific instance. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /websocket/set/{instanceName}: post: tags: - Websocket summary: Set up or modify the Websocket for an instance. requestBody: required: true content: application/json: schema: type: object properties: enabled: type: boolean description: "Indicates whether to enable the websocket." events: type: array enum: [ "APPLICATION_STARTUP", "QRCODE_UPDATED", "MESSAGES_SET", "MESSAGES_UPSERT", "MESSAGES_UPDATE", "MESSAGES_DELETE", "SEND_MESSAGE", "CONTACTS_SET", "CONTACTS_UPSERT", "CONTACTS_UPDATE", "PRESENCE_UPDATE", "CHATS_SET", "CHATS_UPSERT", "CHATS_UPDATE", "CHATS_DELETE", "GROUPS_UPSERT", "GROUP_UPDATE", "GROUP_PARTICIPANTS_UPDATE", "CONNECTION_UPDATE", "LABELS_EDIT", "LABELS_ASSOCIATION", "CALL", "NEW_JWT_TOKEN", ] items: type: string description: "List of events to be sent to the websocket." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /websocket/find/{instanceName}: get: tags: - Websocket summary: Retrieve the websocket settings for a specific instance. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /rabbitmq/set/{instanceName}: post: tags: - RabbitMQ summary: Set up or modify the RabbitMQ for an instance. requestBody: required: true content: application/json: schema: type: object properties: enabled: type: boolean description: "Indicates whether to enable the RabbitMQ." events: type: array enum: [ "APPLICATION_STARTUP", "QRCODE_UPDATED", "MESSAGES_SET", "MESSAGES_UPSERT", "MESSAGES_UPDATE", "MESSAGES_DELETE", "SEND_MESSAGE", "CONTACTS_SET", "CONTACTS_UPSERT", "CONTACTS_UPDATE", "PRESENCE_UPDATE", "CHATS_SET", "CHATS_UPSERT", "CHATS_UPDATE", "CHATS_DELETE", "GROUPS_UPSERT", "GROUP_UPDATE", "GROUP_PARTICIPANTS_UPDATE", "CONNECTION_UPDATE", "LABELS_EDIT", "LABELS_ASSOCIATION", "CALL", "NEW_JWT_TOKEN", ] items: type: string description: "List of events to be sent to the RabbitMQ." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /rabbitmq/find/{instanceName}: get: tags: - RabbitMQ summary: Retrieve the RabbitMQ settings for a specific instance. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /label/findLabels/{instanceName}: get: tags: - Label Controller summary: List all labels for an instance. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: schema: type: array items: type: object properties: color: type: integer name: type: string id: type: string predefinedId: type: string required: - color - name - id /label/handleLabel/{instanceName}: put: tags: - Label Controller summary: Change the label (add or remove) for an specific chat. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" requestBody: content: application/json: schema: type: object properties: number: type: string labelId: type: string action: type: string enum: - add - remove required: - number - labelId - action example: number: '553499999999' labelId: '1' action: add responses: "200": description: Successful response content: application/json: schema: type: object properties: numberJid: type: string labelId: type: string remove: type: boolean add: type: boolean required: - numberJid - labelId /settings/set/{instanceName}: post: tags: - Settings summary: Set up or modify the Settings for an instance. requestBody: required: true content: application/json: schema: type: object properties: reject_call: type: boolean description: "Indicates whether to reject incoming calls." msg_call: type: string description: "Message to be sent when rejecting a call." groups_ignore: type: boolean description: "Indicates whether to ignore group messages." always_online: type: boolean description: "Indicates whether to keep the instance always online." read_messages: type: boolean description: "Indicates whether to mark messages as read." read_status: type: boolean description: "Indicates whether to mark status messages as read." sync_full_history: type: boolean description: "Indicates whether to request a full history messages sync on connect." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /settings/find/{instanceName}: get: tags: - Settings summary: Retrieve the Settings for a specific instance. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chatwoot/set/{instanceName}: post: tags: - Chatwoot summary: Set up or modify the Chatwoot for an instance. requestBody: required: true content: application/json: schema: type: object properties: enabled: type: boolean description: "Indicates whether to enable the Chatwoot integration." account_id: type: string description: "The Chatwoot account ID." token: type: string description: "The Chatwoot token." url: type: string description: "The Chatwoot URL." sign_msg: type: boolean description: "Indicates whether to sign messages." reopen_conversation: type: boolean description: "Indicates whether to reopen conversations." conversation_pending: type: boolean description: "Indicates whether to mark conversations as pending." merge_brazil_contacts: type: boolean description: "Indicates whether to merge Brazil numbers in case of numbers with and without ninth digit." import_contacts: type: boolean description: "Indicates whether to import contacts from phone to Chatwoot when connecting." import_messages: type: boolean description: "Indicates whether to import messages from phone to Chatwoot when connecting." days_limit_import_messages: type: number description: "Indicates number of days to limit messages imported to Chatwoot." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chatwoot/find/{instanceName}: get: tags: - Chatwoot summary: Retrieve the Chatwoot for a specific instance. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /typebot/set/{instanceName}: post: tags: - Typebot summary: Set up or modify the Typebot for an instance. requestBody: required: true content: application/json: schema: type: object properties: enabled: type: boolean description: "Indicates whether to enable the Typebot integration." url: type: string description: "The Chatwoot URL." typebot: type: string description: "The Typebot Name." expire: type: number description: "The Typebot Expire." keyword_finish: type: string description: "The Typebot Keyword Finish." delay_message: type: number description: "The Typebot Delay Message." unknown_message: type: string description: "The Typebot Unknown Message." listening_from_me: type: boolean description: "Indicates whether to listening from me." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /typebot/start/{instanceName}: post: tags: - Typebot summary: Start the Typebot for an instance. requestBody: required: true content: application/json: schema: type: object properties: url: type: string description: "The Typebot URL." typebot: type: string description: "The Typebot Name." remoteJid: type: string description: "The Typebot RemoteJid." startSession: type: boolean description: "Indicates whether to start session." variables: type: array description: "List of variables." items: type: object properties: name: type: string description: "The variable name." value: type: string description: "The variable value." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /typebot/find/{instanceName}: get: tags: - Typebot summary: Retrieve the Typebot for a specific instance. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /typebot/changeStatus/{instanceName}: post: tags: - Typebot summary: Change the status of the Typebot for an instance. requestBody: required: true content: application/json: schema: type: object properties: remoteJid: type: string description: "The Typebot RemoteJid." status: type: string description: "The Typebot Status." enum: ["opened", "paused", "closed"] parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /proxy/set/{instanceName}: post: tags: - Proxy summary: Set up or modify the Proxy for an instance. requestBody: required: true content: application/json: schema: type: object properties: enabled: type: boolean description: "Indicates whether to enable the Proxy integration." proxy: type: string description: "The Proxy URI." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /proxy/find/{instanceName}: get: tags: - Proxy summary: Retrieve the Proxy for a specific instance. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chamaai/set/{instanceName}: post: tags: - Chama AI summary: Set up or modify the Chama AI for an instance. requestBody: required: true content: application/json: schema: type: object properties: enabled: type: boolean description: "Indicates whether to enable the Chamai AI integration." url: type: string description: "The Chamai AI URL." token: type: string description: "The Chamai AI Token." waNumber: type: string description: "The Chamai AI WhatsApp Number." answerByAudio: type: boolean description: "Indicates whether to answer by audio." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chamaai/find/{instanceName}: get: tags: - Chama AI summary: Retrieve the Chama AI for a specific instance. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/fetchBusinessProfile/{instanceName}: post: tags: - Profile Settings summary: Fetch the business profile of a specific contact. requestBody: required: true content: application/json: schema: type: object properties: number: type: string description: "- required - The phone number of the contact." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/fetchProfile/{instanceName}: post: tags: - Profile Settings summary: Fetch the profile of a specific contact. requestBody: required: true content: application/json: schema: type: object properties: number: type: string description: "- required - The phone number of the contact." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/updateProfileName/{instanceName}: post: tags: - Profile Settings summary: Update the name of a specific contact. requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: "- required - The new name of the contact." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/updateProfileStatus/{instanceName}: post: tags: - Profile Settings summary: Update the status of a specific contact. requestBody: required: true content: application/json: schema: type: object properties: status: type: string description: "- required - The new status of the contact." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/updateProfilePicture/{instanceName}: put: tags: - Profile Settings summary: Update the profile picture of a specific contact. requestBody: required: true content: application/json: schema: type: object properties: picture: type: string description: "- required - The new profile picture of the contact." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/removeProfilePicture/{instanceName}: delete: tags: - Profile Settings summary: Remove the profile picture of a specific contact. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/fetchPrivacySettings/{instanceName}: get: tags: - Profile Settings summary: Fetch the privacy settings of a specific contact. parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {} /chat/updatePrivacySettings/{instanceName}: put: tags: - Profile Settings summary: Update the privacy settings of a specific contact. requestBody: required: true content: application/json: schema: type: object properties: privacySettings: type: object description: "- required - The new privacy settings of the contact." properties: readreceipts: type: string enum: ["all", "none"] description: "- required - The new read receipts privacy setting of the contact." profile: type: string enum: ["all", "contacts", "contact_blacklist", "none"] description: "- required - The new profile privacy setting of the contact." status: type: string enum: ["all", "contacts", "contact_blacklist", "none"] description: "- required - The new status privacy setting of the contact." online: type: string enum: ["all", "match_last_seen"] description: "- required - The new online privacy setting of the contact." last: type: string enum: ["all", "contacts", "contact_blacklist", "none"] description: "- required - The new last seen privacy setting of the contact." groupadd: type: string enum: ["all", "contacts", "contact_blacklist", "none"] description: "- required - The new group add privacy setting of the contact." parameters: - name: instanceName in: path schema: type: string required: true description: "- required" example: "evolution" responses: "200": description: Successful response content: application/json: {}