openapi: 3.0.0
info:
  title: Evolution API
  description: |
    </br>
    <hr style="height: 5px;background: #007500;margin: 20px 0;box-shadow: 0px 3px 5px 0px rgb(204 204 204);">

    <div align="center">

    [![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)

    </div>
      
    <div align="center"><img src="https://raw.githubusercontent.com/EvolutionAPI/evolution-api/main/public/images/cover.png"></div>

    <font size='3'>
      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.</br> 
      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.
    </font>

    [![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.2
  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: {}
