openapi: 3.0.1
info:
  title: Mones
  version: 6.0.1
  description: >
    **Sobre o Projeto MONES**


    A **MONES** é uma plataforma inteligente e integrada de IAs especializadas
    para diferentes áreas da empresa, como RH, Atendimento, Vendas, Jurídico e
    Logística.  

    Diferente de soluções com bots isolados, a MONES oferece um ecossistema
    completo com integração multicanal (WhatsApp, Webchat, Instagram, Teams,
    Telegram), memória conversacional, formulários eletrônicos e central humana
    integrada — tudo com gestão simples e sem necessidade de conhecimento
    técnico.


    **Integrações via API**


    A plataforma conta com uma API robusta que permite integrações
    personalizadas com sistemas externos. Como:


    - **Integração de Contato**: Permite gerenciar informações de contatos nas
    conversas, como criar, atualizar e deletar, além de trabalhar com atributos
    personalizados — criando, buscando e atribuindo valores — para enriquecer o
    perfil de cada usuário e personalizar o atendimento com mais inteligência.

    - **Integração de Diálogo**: Permite gerenciar diálogos e seus comandos,
    criando fluxos interativos e automatizados para atendimento personalizado.

    - **Integração de Entidade**: Lista e consulta entidades associadas a um
    contato, fornecendo informações relevantes sobre cada usuário.

    - **Integração de Envio de Mensagem**: Permite enviar mensagens para
    usuários por diferentes canais de forma personalizada e automatizada.
    Suporta o envio de mensagens do tipo HSM, SMS, e-mail e mensagem direta, com
    uso de templates genéricos e estrutura flexível.

    - **Integração de Envio de Mensagem com Personalização**: Permite enviar
    mensagens enriquecidas, utilizando atributos de contatos e templates
    flexíveis para personalizar cada interação.

    - **Integração de Grupos de Comandos**: Lista grupos de comandos disponíveis
    via API, facilitando a organização e reutilização de automações.

    - **Integração de Registro de Bot de Conversa (CBR)**: Permite consultar
    registros do relacionamento entre bots e contatos nas conversas de forma
    precisa.

    - **Integração de Template WhatsApp**: Permite consultar templates do
    WhatsApp disponíveis, possibilitando a visualização de modelos ativos e
    aprovados no provedor, com seus respectivos parâmetros, categorias e
    metadados.
servers:
  - url: https://api-dev.omotor.com.br
  - url: https://api-prod.omotor.com.br
security:
  - x-api-key: []
tags:
  - name: Integração de Contato
    description: Gerencie contatos e seus atributos diretamente via API.
  - name: Integração de Diálogo
    description: Gerencie diálogos e seus comandos diretamente via API.
  - name: Integração de Entidade
    description: Listagem de entidades atribuídas a um contato diretamente via API.
  - name: Integração de Envio de Mensagem
    description: Gerencie o envio de mensagens para usuários via API.
  - name: Integração de Envio de Mensagem com Personalização
    description: >-
      Envie mensagens enriquecidas para usuários via API, com suporte a
      personalização de contatos.
  - name: Integração de Grupo de Comandos
    description: Listagem de grupos de comandos diretamente via API.
  - name: Integração de Registro de Bot de Conversa (CBR)
    description: >-
      Listagem de registros de relacionamento bot-contato em conversas
      diretamente via API.
  - name: Integração de Template WhatsApp
    description: >-
      Listagem dos templates disponíveis para o provider WhatsApp diretamente
      via API.
paths:
  /v2/integrations/message/{token}:
    post:
      tags:
        - Integração de Envio de Mensagem
      summary: Enviar mensagem direta para um usuário
      description: >-
        Envia uma mensagem direta para um usuário específico, utilizando os
        dados da conversa enviadas na requisição.
      operationId: sendMessageDirect
      parameters:
        - name: token
          in: path
          description: Token
          required: true
          schema:
            type: string
      requestBody:
        description: Dados da mensagem a ser enviada
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectMessageRequest'
            example:
              userIdentify: string
              monesConversationSlug: string
              actions:
                - newsletterDetailTexts:
                    - text: string
                      entityId: 0
                      order: 0
                  order: 0
                  path: string
                  fileName: string
                  fileSize: 0
                  fileType: string
              function: string
              menuType: string
              ignoreMenuBlock: false
              dialogActionSlugBlock: string
        required: true
      responses:
        '200':
          description: Mensagem enviada com sucesso
          content:
            application/json:
              example: {}
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/message/generic/{conversationSlug}:
    post:
      tags:
        - Integração de Envio de Mensagem
      summary: Enviar mensagem para um usuário (HSM, SMS, E-mail ou Direta)
      description: >-
        Envia uma mensagem para um usuário utilizando um template genérico.
        Suporta os tipos: HSM, SMS, E-mail e Mensagem Direta, definidos no campo
        'type' da requisição. O envio deve seguir os parâmetros configurados no
        template.  É importante validar com a equipe da Omotor como esses
        parâmetros estão  configurados para garantir que a requisição esteja
        correta.
      operationId: sendHSM
      parameters:
        - name: conversationSlug
          in: path
          description: Identificador da conversa
          required: true
          schema:
            type: string
      requestBody:
        description: Dados da mensagem a ser enviado
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectMessageGenericRequest'
            examples:
              HSM com texto simples:
                summary: HSM com texto simples
                description: >-
                  Requisição para envio de um HSM com texto simples. Caso o
                  template possua mais parâmtros, duplique o objeto dentro de
                  `hsmParams` e preencha com as informações necessárias.
                value:
                  type: HSM
                  firstName: string
                  lastName: string
                  phone: 0
                  hsm: string
                  hsmParams:
                    - position: 1
                      value: string
              HSM com arquivo:
                summary: HSM com arquivo
                description: >-
                  Requisição para envio de um HSM com arquivo. Caso o template
                  possua mais parâmtros, duplique o objeto dentro de `hsmParams`
                  e preencha com as informações necessárias.
                value:
                  type: HSM
                  firstName: string
                  lastName: string
                  phone: 0
                  hsm: string
                  hsmParams:
                    - position: 1
                      filePath: string
              HSM com link clicável:
                summary: HSM com link clicável
                description: >-
                  Requisição para envio de um HSM com link clicável. Caso o
                  template possua mais parâmtros, duplique o objeto dentro de
                  `hsmParams` e preencha com as informações necessárias.
                value:
                  type: HSM
                  firstName: string
                  lastName: string
                  phone: 0
                  hsm: string
                  hsmParams:
                    - position: 0
                      link: true
                  link: https://example.com
              HSM com texto e arquivo:
                summary: HSM com texto e arquivo
                description: >-
                  Requisição para envio de um HSM com texto e arquivo. Caso o
                  template possua mais parâmtros, duplique o objeto dentro de
                  `hsmParams` e preencha com as informações necessárias.
                value:
                  type: HSM
                  firstName: string
                  lastName: string
                  phone: 0
                  hsm: string
                  hsmParams:
                    - position: 1
                      value: string
                    - position: 2
                      filePath: string
              SMS:
                summary: SMS
                description: Requisição para envio de um SMS.
                value:
                  type: SMS
                  phone: 0
                  firstName: string
                  message: string
              E-mail simples:
                summary: E-mail simples
                description: Requisição para envio de um e-mail simples.
                value:
                  type: EMAIL
                  email: string
                  firstName: string
                  subject: string
                  message: string
                  emailFrom: string
                  emailPersonal: string
                  emailTemplate: string
              E-mail com anexo:
                summary: E-mail com anexo
                description: Requisição para envio de um e-mail com anexo.
                value:
                  type: EMAIL
                  email: string
                  firstName: string
                  subject: string
                  message: string
                  emailFrom: string
                  emailPersonal: string
                  emailTemplate: string
                  attachment: string
              Mensagem direta com apenas texto:
                summary: Mensagem direta com apenas texto
                description: Requisição para envio de mensagem direta simples
                value:
                  type: DIRECT_MSG
                  firstName: string
                  lastName: string
                  directMessage:
                    userIdentify: string
                    monesConversationSlug: string
                    actions:
                      - newsletterDetailTexts:
                          - text: string
                            order: 0
                        order: 0
                    function: '0'
                    ignoreMenuBlock: false
              Mensagem direta completa:
                summary: Mensagem direta completa
                description: >-
                  Modelo completo de mensagem direta com mídia e parâmetros
                  adicionais
                value:
                  type: DIRECT_MSG
                  firstName: string
                  lastName: string
                  directMessage:
                    userIdentify: string
                    monesConversationSlug: string
                    actions:
                      - newsletterDetailTexts:
                          - text: string
                            entityId: 0
                            order: 0
                        order: 0
                        path: string
                        fileName: string
                        fileSize: 0
                        fileType: string
                    function: '0'
                    ignoreMenuBlock: false
                    menuType: '0'
                    dialogActionSlugBlock: string
        required: true
      responses:
        '200':
          description: Mensagem enviada com sucesso
          content:
            application/json:
              example: {}
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/custom/message:
    post:
      tags:
        - Integração de Envio de Mensagem com Personalização
      summary: Enviar mensagem personalizada para um usuário
      description: >-
        Envia uma mensagem para um usuário utilizando um template genérico, com
        possibilidade de:

        - Atualizar/criar um contato;

        - Definir/criar valores e atributos para um contato;

        - Cancelar lembretes previamente agendados.


        Suporta os tipos: HSM, SMS, E-mail e Mensagem Direta, definidos no campo
        'type' da requisição.
      operationId: sendMessageDirectCustom
      requestBody:
        description: Dados da mensagem a ser enviado
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectMessageCustomRequest'
            examples:
              HSM com texto simples:
                summary: HSM com texto simples
                description: >-
                  Requisição para envio de um HSM com texto simples. Caso o
                  template possua mais parâmetros, duplique o objeto dentro de
                  `hsmParams` e preencha com as informações necessárias.
                value:
                  type: HSM
                  phone: 0
                  firstName: string
                  lastName: string
                  hsm: string
                  hsmParams:
                    - position: 1
                      value: string
                  userIdentify: string
                  monesConversationSlug: string
                  attributes:
                    - name: string
                      value: string
                  cancelReminder: false
              HSM com arquivo:
                summary: HSM com arquivo
                description: >-
                  Requisição para envio de um HSM com arquivo. Caso o template
                  possua mais parâmetros, duplique o objeto dentro de
                  `hsmParams` e preencha com as informações necessárias.
                value:
                  type: HSM
                  phone: 0
                  firstName: string
                  lastName: string
                  hsm: string
                  hsmParams:
                    - position: 1
                      filePath: string
                  userIdentify: string
                  monesConversationSlug: string
                  attributes:
                    - name: string
                      value: string
                  cancelReminder: false
              HSM com link clicável:
                summary: HSM com link clicável
                description: >-
                  Requisição para envio de um HSM com link clicável. Caso o
                  template possua mais parâmetros, duplique o objeto dentro de
                  `hsmParams` e preencha com as informações necessárias.
                value:
                  type: HSM
                  phone: 0
                  firstName: string
                  lastName: string
                  hsm: string
                  hsmParams:
                    - position: 0
                      link: true
                  link: https://example.com
                  userIdentify: string
                  monesConversationSlug: string
                  attributes:
                    - name: string
                      value: string
                  cancelReminder: false
              SMS:
                summary: SMS
                description: Requisição para envio de um SMS.
                value:
                  type: SMS
                  phone: 0
                  firstName: string
                  message: string
                  userIdentify: string
                  monesConversationSlug: string
                  attributes:
                    - name: string
                      value: string
                  cancelReminder: false
              E-mail simples:
                summary: E-mail simples
                description: Requisição para envio de um e-mail simples.
                value:
                  type: EMAIL
                  email: string
                  firstName: string
                  subject: string
                  emailFrom: string
                  emailPersonal: string
                  emailTemplate: string
                  userIdentify: string
                  monesConversationSlug: string
                  attributes:
                    - name: string
                      value: string
                  emailMessages:
                    body: Olá, mundo!
                    footer: Atenciosamente
                  cancelReminder: false
              E-mail com anexo:
                summary: E-mail com anexo
                description: Requisição para envio de um e-mail com anexo.
                value:
                  type: EMAIL
                  email: string
                  firstName: string
                  subject: string
                  attachment: string
                  emailFrom: string
                  emailPersonal: string
                  emailTemplate: string
                  userIdentify: string
                  monesConversationSlug: string
                  attributes:
                    - name: string
                      value: string
                  emailMessages:
                    body: Olá, mundo!
                    footer: Atenciosamente
                  cancelReminder: false
              Mensagem direta com apenas texto:
                summary: Mensagem direta com apenas texto
                description: Requisição para envio de mensagem direta simples
                value:
                  type: DIRECT_MSG
                  firstName: string
                  lastName: string
                  userIdentify: string
                  actions:
                    - newsletterDetailTexts:
                        - text: string
                          order: 0
                      order: 0
                  monesConversationSlug: string
                  attributes:
                    - name: string
                      value: string
                  function: '0'
                  cancelReminder: false
              Mensagem direta completa:
                summary: Mensagem direta completa
                description: >-
                  Modelo completo de mensagem direta com mídia e parâmetros
                  adicionais
                value:
                  type: DIRECT_MSG
                  firstName: string
                  lastName: string
                  userIdentify: string
                  actions:
                    - newsletterDetailTexts:
                        - text: string
                          entityId: 0
                          order: 0
                      order: 0
                      path: string
                      fileName: string
                      fileSize: 0
                      fileType: string
                  monesConversationSlug: string
                  attributes:
                    - name: string
                      value: string
                  dialogActionSlugBlock: string
                  function: '0'
                  menuType: '0'
                  cancelReminder: false
        required: true
      responses:
        '200':
          description: Mensagem enviada com sucesso
          content:
            application/json:
              example: {}
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Workspace inválido:
                  summary: Workspace inválido
                  description: Workspace inválido ou inexistente
                  value:
                    msg: validation.invalidWorkspace
                Conversa inválida:
                  summary: Conversa inválida
                  description: Conversa inválida ou inexistente
                  value:
                    msg: validation.invalidMonesConversation
                HSM inválido:
                  summary: HSM inválido
                  description: HSM inválido ou inexistente
                  value:
                    msg: validation.invalidHsm
                Link não enviado:
                  summary: Link não enviado
                  description: O parâmetro 'link' não informado corretamente
                  value:
                    msg: validation.missingLinkHsmParam
                Mensagem não enviada:
                  summary: Mensagem não enviada
                  description: Mensagem não enviada na requisição
                  value:
                    msg: validation.messageEmpty
                Corpo do e-mail não informado:
                  summary: Corpo do e-mail não informado
                  description: Corpo do e-mail não enviado na requisição
                  value:
                    msg: validation.emailMessagesEmpty
                Assunto do e-mail não informado:
                  summary: Assunto do e-mail não informado
                  description: Assunto do e-mail não enviado na requisição
                  value:
                    msg: validation.subjectEmpty
                E-mail do destinatário não informado:
                  summary: E-mail do destinatário não informado
                  description: E-mail do destinatário não enviado na requisição
                  value:
                    msg: validation.emailEmpty
                E-mail do remetente não informado:
                  summary: E-mail do remetente não informado
                  description: E-mail do remetente não enviado na requisição
                  value:
                    msg: validation.emailFromEmpty
                Nome/Razão social do remetente não informado:
                  summary: Nome/Razão social do remetente não informado
                  description: Nome/Razão social do remetente não enviado na requisição
                  value:
                    msg: validation.emailPersonalEmpty
                Template do e-mail não informado:
                  summary: Template do e-mail não informado
                  description: Template do e-mail não enviado na requisição
                  value:
                    msg: validation.emailTemplateEmpty
                Informações obrigatórias não enviadas:
                  summary: Informações obrigatórias não enviadas
                  description: Informações obrigatórias não enviadas na requisição
                  value:
                    msg: validation.directMessageFieldsNotFound
                Conversa inativa:
                  summary: Conversa inativa
                  description: Conversa inativa ou inexistente
                  value:
                    msg: validation.monesConversationNotExecuted
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/item:
    post:
      tags:
        - Integração de Contato
      summary: Criar um novo contato sem chave e sem atributos
      description: >-
        Permite criar um contato sem chave e sem informações personalizados,
        somente com informações básicas.
      operationId: saveContactItem
      requestBody:
        description: Dados do contato a ser criado
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactItemViewRequest'
            examples:
              Criar:
                summary: Criar
                description: Requisição para criação de um contato
                value:
                  firstname: string
                  lastname: string
                  ddi: 0
                  phone: 0
                  email: string
                  note: string
                  contact:
                    id: 0
                    workspace:
                      id: 0
        required: true
      responses:
        '200':
          description: Contato criado com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactItemResponse'
              example:
                data:
                  contact:
                    id: 0
                    createdAt: '2000-01-01T00:00:00.000Z'
                    firstname: string
                    lastname: string
                    ddi: 0
                    phone: 0
                    email: string
                    contact:
                      id: 0
                      createdAt: null
                      name: null
                      status: 0
                      workspace:
                        id: 0
                        createdAt: null
                        name: null
                        users: null
                        contacts: null
                        dialogs: null
                        apis: null
                        monesEntities: null
                        contactGroups: null
                        publishDate: null
                        passwordHistory: 0
                        passwordLock: 0
                        passwordExpiration: 0
                        apiKey: null
                        migrated: false
                      contactItem: null
                      monesConversation: null
                      processImportList: false
                      totalContactItems: null
                      contacInImportProcess: false
                    slug: string
                    conversationBotRegistration: null
                    contactItemGroupValues: null
                    note: string
                    updated: false
                    labelActionImportedContact: string
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Parâmetros obrigatórios não encontrados:
                  summary: Parâmetros obrigatórios não encontrados
                  description: >-
                    Os parâmetros obrigatórios e-mail, DDI e telefone não foram
                    informados
                  value:
                    msg: validation.requiredFieldsNotFound
                Lista de contatos inválida ou inexistente:
                  summary: Lista de contatos inválida ou inexistente
                  description: A lista de contatos está inválida ou é inexistente
                  value:
                    msg: validation.contactNotFound
                Workspace inexistente ou acesso negado:
                  summary: Workspace inexistente ou acesso negado
                  description: O workspace é inexistente ou o usuário não tem acesso a ele
                  value:
                    msg: validation.userDoesNotHaveAccessToWorkspace
                Lista de contatos em importação:
                  summary: Lista de contatos em importação
                  description: >-
                    A lista de contatos da conversa está em processamento de
                    importação de contatos
                  value:
                    msg: validation.importProcessContactItem
                Telefone já cadastrado:
                  summary: Telefone já cadastrado
                  description: >-
                    Número de telefone já vinculado a outro contato existente na
                    conversa
                  value:
                    msg: validation.contactItemPhoneAlreadyExists
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/item/key:
    post:
      tags:
        - Integração de Contato
      summary: Criar ou atualizar um contato com suas informações
      description: >-
        Permite criar ou atualizar um contato em uma conversa. A operação
        executada depende da presença do campo `key`:


        - **Criação**: não envie o campo `key`. Para criar um contato, é
        obrigatório que o workspace tenha um atributo configurado como chave, e
        que um valor desse atributo seja previamente criado e incluído na lista
        de valores de atributos da requisição.

        - **Atualização**: envie o campo `key` com o valor usado na criação para
        identificar o contato a ser atualizado. Lembrando que o telefone **não
        pode ser alterado**.


        Também permite incluir valores personalizados já com seus respectivos
        atributos — como 'São Paulo (Cidade)', 'Vendas (Departamento)', entre
        outros — além de possibilitar o envio de um atributo de ativação.
      operationId: upsertContactItem
      requestBody:
        description: Dados do contato a ser criado ou atualizado
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactItemGroupsValuesRequest'
            examples:
              Criar:
                summary: Criar
                description: Requisição para criação de um contato
                value:
                  firstname: string
                  lastname: string
                  ddi: 0
                  phone: 0
                  email: string
                  monesConversationSlug: string
                  atributeValueIds:
                    - 0
                  contactItemActivation:
                    attributeId: 0
              Atualizar:
                summary: Atualizar
                description: Requisição para atualização de um contato
                value:
                  key: string
                  firstname: string
                  lastname: string
                  ddi: 0
                  phone: 0
                  email: string
                  monesConversationSlug: string
                  atributeValueIds:
                    - 0
                  contactItemActivation:
                    attributeId: 0
        required: true
      responses:
        '200':
          description: Contato criado/atualizado com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactItemResponse'
              example:
                data:
                  contactItem:
                    id: 0
                    firstname: string
                    lastname: string
                    ddi: 0
                    phone: 0
                    email: string
                    cbrEditors: null
                    note: null
                    slug: string
                    contactItemGroupValue:
                      - id: 0
                        contactGroupValue:
                          id: 0
                          groupValue: string
                          description: string
                          contactGroup:
                            id: 0
                            name: string
                        contactItem:
                          id: 0
                          firstname: null
                          lastname: null
                          ddi: null
                          phone: null
                          email: null
                          cbrEditors: null
                          note: null
                          slug: null
                          contactItemGroupValue: null
                          confirmOptinResponse: null
                        contactGroup:
                          id: 0
                          name: string
                    confirmOptinResponse: null
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Conversa inválida:
                  summary: Conversa inválida
                  description: Slug de conversa inválido ou inexistente
                  value:
                    msg: validation.invalidMonesConversation
                Workspace sem chave configurada:
                  summary: Workspace sem chave configurada
                  description: Workspace não possui atributo-chave configurado
                  value:
                    msg: validation.workspaceHasNotGroupImportDefined
                Chave ausente na lista de valores de atributo:
                  summary: Chave ausente na lista de valores de atributo
                  description: >-
                    O valor de atributo-chave não existe na lista de valores de
                    atributo da requisição
                  value:
                    msg: validation.keyIsMissingFromAttributeValueIds
                Telefone já cadastrado:
                  summary: Telefone já cadastrado
                  description: >-
                    Número de telefone já vinculado a outro contato existente na
                    conversa
                  value:
                    msg: validation.contactItemPhoneAlreadyExists
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/group:
    get:
      tags:
        - Integração de Contato
      summary: Buscar todos os atributos de contato
      description: >-
        Permite buscar a lista de todas as informações personalizadas dos seus
        contatos para o workspace autenticado.
      operationId: getContactGroups
      responses:
        '200':
          description: Atributos encontrados com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactGroupResponse'
              example:
                data:
                  contactGroups:
                    - id: 0
                      createdAt: '2000-01-01T00:00:00.000Z'
                      name: string
                      workspace: null
                      contactGroupValues: null
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
    post:
      tags:
        - Integração de Contato
      summary: Criar um novo atributo de contato
      description: >-
        Cria uma nova categoria de informações para seus contatos. Exemplo: você
        pode criar um campo chamado 'Setor' para armazenar o setor do cliente.
      operationId: addContactGroup
      requestBody:
        description: Dados do atributo de contato a ser criado
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactGroupRequest'
            example:
              name: string
              workspace:
                id: 0
        required: true
      responses:
        '200':
          description: Atributo criado com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactGroupResponse'
              example:
                data:
                  id: 0
                  createdAt: '2000-01-01T00:00:00.000Z'
                  name: string
                  workspace:
                    id: 0
                  contactGroupValues: null
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Workspace inexistente ou acesso negado:
                  summary: Workspace inexistente ou acesso negado
                  description: O workspace é inexistente ou o usuário não tem acesso a ele
                  value:
                    msg: validation.userDoesNotHaveAccessToWorkspace
                Atributo já existente:
                  summary: Atributo já existente
                  description: Um atributo com o mesmo nome já existe
                  value:
                    msg: validation.invalidContactGroupNameExists
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/group/value:
    post:
      tags:
        - Integração de Contato
      summary: Cadastrar um novo valor em um atributo
      description: >-
        Adiciona um novo valor dentro de uma categoria. Exemplo: dentro do
        atributo 'Departamento', cadastrar o valor 'Vendas'.
      operationId: addContactGroupValue
      requestBody:
        description: Dados do valor a ser criado
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContactGroupValueRequest'
            example:
              contactGroup:
                id: 0
              description: string
              groupValue: string
        required: true
      responses:
        '200':
          description: Valor criado com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactGroupValueResponse'
              example:
                data:
                  contactGroupValue:
                    id: 0
                    groupValue: string
                    description: string
                    contactGroup:
                      id: 0
                      name: null
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Atributo inválido ou inexistente:
                  summary: Atributo inválido ou inexistente
                  description: O atributo está inválido ou é inexistente
                  value:
                    msg: validation.invalidContactGroup
                Valor já existente:
                  summary: Valor já existente
                  description: O valor já está cadastrado no atributo
                  value:
                    msg: validation.contactGroupValueAlreadyExists
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/template:
    get:
      tags:
        - Integração de Template WhatsApp
      summary: Buscar todos os templates WhatsApp ativo
      description: >-
        Permite buscar a lista de todos os templates ativos e disponíveis para o
        workspace autenticado.
      operationId: findAllActiveByWorkspace
      responses:
        '200':
          description: Templates encontrados com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplateWhatsappResponse'
              example:
                id: 0
                name: string
                label: string
                hsmSlug: string
                category: MARKETING
                monesConversation:
                  id: 0
                  name: string
                  slug: string
                  dateStart: '2025-08-08T16:10:11.371Z'
                  dateEnd: '2025-08-08T16:10:11.371Z'
                  systemTimezone:
                    id: 0
                    name: string
                    label: string
                    timezone: string
                  dialog:
                    id: 0
                    name: string
                    slug: string
                    status: 0
                    systemLocale:
                      id: 0
                      lang: string
                      name: string
                      ddi: 0
                    cognitionService:
                      name: string
                      slug: string
                    dialogEnthusiasm:
                      id: 0
                      name: string
                      dialogEnthusiasmType: 0
                      dialog: string
                    watsonDiscovery:
                      id: 0
                    queue: string
                    dialogType: '0'
                    cognitionConversationDialog:
                      dialog: string
                      cognitionConversation:
                        username: string
                        url: string
                        quantity: 0
                        cognitionService:
                          name: string
                          slug: string
                  contact:
                    id: 0
                    name: string
                    status: 0
                    workspace:
                      id: 0
                      name: string
                      slug: string
                      passwordExpiration: 0
                      passwordHistory: 0
                      passwordLock: 0
                    processImportList: true
                  bot:
                    id: 0
                    name: string
                    slug: string
                    phoneCreated: string
                    actionProvider:
                      id: 0
                      name: string
                      slug: string
                      description: string
                      hsm: true
                    monesConversation: string
                    workspace:
                      id: 0
                      name: string
                      slug: string
                      passwordExpiration: 0
                      passwordHistory: 0
                      passwordLock: 0
                    facebook: true
                  type: 0
                  status: 0
                  valueOffsetDateStart: 0
                  valueOffsetDateEnd: 0
                  dateStartTimeZone: string
                  dateEndTimeZone: string
                  conversationDigit: true
                  urlWebchat: string
                  preRegister: true
                  voiceType: '0'
                  sendTextWhenAudio: true
                  speechToText: '0'
                  templateWhatsappToTraining: string
                  saveFilesSended: true
                  webhookConversation: string
                  chatgptApiKey: string
                  subscriptionId: string
                templateWhatsappParameters:
                  - id: 0
                    name: string
                    templateWhatsapp: string
                    fileType: string
                    fileParameter: true
                    fileTypeInt: 0
                fileTypeInt: 0
                status: REJECTED
                language: string
                oldCategory: MARKETING
                allowTemplateCategoryChange: true
                templateWhatsappButtons:
                  - id: 0
                    parameter: string
                    type: QUICK_REPLY
                    templateWhatsapp: string
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/grouping/{workspaceId}/{groupingView}:
    get:
      tags:
        - Integração de Grupo de Comandos
      summary: Buscar todos grupos de comandos
      description: >-
        Permite buscar a lista de todos os grupos de comandos disponíveis para o
        workspace informado.
      operationId: getGroupings
      parameters:
        - name: workspaceId
          in: path
          description: Identificador do workspace
          required: true
          schema:
            type: integer
            format: int64
        - name: groupingView
          in: path
          description: |-
            Identificador do tipo de grupo, com os valores possíveis:
            - 0: NONE (Nenhum)
            - 1: DIALOGACTION (Comandos)
          required: true
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Grupos encontrados com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupingResponse'
              example:
                data:
                  groupings:
                    - id: 1
                      name: string
                      slug: null
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Workspace inexistente ou acesso negado:
                  summary: Workspace inexistente ou acesso negado
                  description: O workspace é inexistente ou o usuário não tem acesso a ele
                  value:
                    msg: validation.userDoesNotHaveAccessToWorkspace
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/entity/{slugBot}/{userIdentify}:
    get:
      tags:
        - Integração de Entidade
      summary: Buscar todas as entidades de um contato específico
      description: >-
        Retorna a lista de informações que apoiam a compreensão e a condução das
        interações associadas a um contato específico, como dados coletados em
        pesquisas de NPS ou informações de contato, obtidas durante a conversa
        por meio da cognição.
      operationId: getContactItemEntities
      parameters:
        - name: slugBot
          in: path
          description: Identificador do BOT
          required: true
          schema:
            type: string
        - name: userIdentify
          in: path
          description: Identificador do contato
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Entidades encontradas com sucesso
          content:
            application/json:
              example:
                data:
                  contactItemEntities:
                    - id: string
                      userIdentify: string
                      dialogActionSlug: null
                      slugBot: string
                      createdAt: 2000-01-01T00:00:00.000+0000
                      name: string
                      value: string
                      slugContactItem: null
                      dialogSlug: null
                      code: null
                      numberTimes: null
                      dialogActionValidCodeSlug: null
                      brainSession: string
                      numberTentatives: 1
                      typeProviderMessage: null
                      blackboxMessageIdentifier: null
                      identifyName: string
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                BOT inválido ou inexistente:
                  summary: BOT inválido ou inexistente
                  description: O bot está inválido ou é inexistente
                  value:
                    msg: validation.botNotExists
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/dialog/action/{workspaceId}/{dialogId}/{dialogActionId}:
    get:
      tags:
        - Integração de Diálogo
      summary: >-
        Buscar um comando de um diálogo pelo ID do comando, do diálogo e do
        workspace
      description: >-
        Permite recuperar um comando específico dentro de um diálogo. Exemplo:
        no diálogo 'Diálogo 1', buscar o comando 'Esperar a resposta' pelo seu
        identificador.
      operationId: getDialogActionByDialogIdAndWorkspaceId
      parameters:
        - name: workspaceId
          in: path
          description: Identificador do workspace
          required: true
          schema:
            type: integer
            format: int64
        - name: dialogId
          in: path
          description: Identificador do diálogo
          required: true
          schema:
            type: integer
            format: int64
        - name: dialogActionId
          in: path
          description: Identificador do comando
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Comando encontrado com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DialogActionResponse'
              example:
                data:
                  dialogAction:
                    id: 1
                    name: string
                    slug: string
                    status: 1
                    type: 1
                    typeDialogAction: 1
                    typeName: string
                    order: 1
                    totalIntents: 1
                    totalResponses: 1
                    hasApi: false
                    hasGoTo: false
                    function: 1
                    functionName: string
                    system: false
                    dialogActionCondition: 1
                    escalationEmail: string
                    escalationSubject: string
                    actionResponses: []
                    api: null
                    actionIntents: []
                    dialogActionGrouping:
                      grouping:
                        id: 1
                        name: string
                        slug: null
                      dialogAction:
                        id: 1
                        name: string
                        slug: null
                        status: 1
                        type: 1
                        typeDialogAction: 1
                        typeName: string
                        order: 1
                        totalIntents: 1
                        totalResponses: 1
                        hasApi: false
                        hasGoTo: false
                        function: 1
                        functionName: string
                        system: false
                        dialogActionCondition: 1
                        escalationEmail: string
                        escalationSubject: string
                        actionResponses: null
                        api: null
                        actionIntents: null
                        dialogActionGrouping: null
                        gotoDialogAction: null
                        dialog: null
                        dialogActionEntities: null
                        actionReminder: null
                        confirmationPhoneTimes: null
                        confPhoneInvalidAction: null
                        confPhoneValidAction: null
                        confirmationMenu: false
                        showParameterFilter: null
                        dialogActionDigit: false
                        transferToHuman: false
                        emojiProhibited: null
                        escalationQuantityHistory: null
                        checkDiscovery: false
                        serviceNow: null
                        transferToHumanType: 1
                        dialogActionFinishAttendant: null
                        menuType: null
                        tentativesBlockDialogAction: null
                        numberTentativesBlock: null
                        automaticBlock: null
                        removeResponseApi: null
                        timesToAnythingElse: 1
                        dialogActionTimesToAnythingElse: null
                        quiz: null
                        dialogActionAfterLastReminder: null
                        fillAllEntitiesOnBlock: false
                        apiJumpTos: null
                        omotorHelpdesk: null
                        monesEntityTransferToHuman: null
                        genesys: null
                        genesysLikeWater: null
                        saveFilesWhenNewsletter: false
                    gotoDialogAction: null
                    dialog:
                      id: 1
                      name: string
                      slug: string
                      status: 1
                      systemLocale: null
                      cognitionService: null
                      dialogEnthusiasm:
                        id: 1
                        name: string
                        dialogEnthusiasmType: 1
                        dialog: null
                      watsonDiscovery: null
                      queue: null
                      dialogType: 1
                      cognitionConversationDialog: null
                    dialogActionEntities: []
                    actionReminder: null
                    confirmationPhoneTimes: null
                    confPhoneInvalidAction: null
                    confPhoneValidAction: null
                    confirmationMenu: false
                    showParameterFilter: false
                    dialogActionDigit: false
                    transferToHuman: false
                    emojiProhibited: null
                    escalationQuantityHistory: null
                    checkDiscovery: false
                    serviceNow: null
                    transferToHumanType: 1
                    dialogActionFinishAttendant: null
                    menuType: null
                    tentativesBlockDialogAction: null
                    numberTentativesBlock: null
                    automaticBlock: null
                    removeResponseApi: null
                    timesToAnythingElse: 1
                    dialogActionTimesToAnythingElse: null
                    quiz: null
                    dialogActionAfterLastReminder: null
                    fillAllEntitiesOnBlock: false
                    apiJumpTos: []
                    omotorHelpdesk: null
                    monesEntityTransferToHuman: null
                    genesys: null
                    genesysLikeWater: null
                    saveFilesWhenNewsletter: false
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Workspace inexistente ou acesso negado:
                  summary: Workspace inexistente ou acesso negado
                  description: O workspace é inexistente ou o usuário não tem acesso a ele
                  value:
                    msg: validation.userDoesNotHaveAccessToWorkspace
                Comando inválido ou inexistente:
                  summary: Comando inválido ou inexistente
                  description: O comando está inválido ou é inexistente
                  value:
                    msg: validation.invalidDialogAction
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/dialog/action/{dialogId}/{workspaceId}:
    get:
      tags:
        - Integração de Diálogo
      summary: Buscar todos os comandos de um diálogo
      description: >-
        Permite buscar a lista de todos os comandos de um diálogo específico
        através do identificador do diálogo e do workspace, com suporte a
        filtros opcionais.
      operationId: get
      parameters:
        - name: dialogId
          in: path
          description: Identificador do diálogo
          required: true
          schema:
            type: integer
            format: int64
        - name: workspaceId
          in: path
          description: Identificador do workspace
          required: true
          schema:
            type: integer
            format: int64
        - name: name
          in: query
          description: Nome do comando
          required: false
          schema:
            type: string
        - name: type
          in: query
          description: |-
            Identificador do tipo de comando, com os valores possíveis:
            - 0: NONE
            - 1: USER
            - 2: MONES
            - 3: ATTENDANT
          required: false
          schema:
            type: integer
            format: int32
        - name: grouping
          in: query
          description: Identificador do grupo de comandos
          required: false
          schema:
            type: integer
            format: int64
        - name: reminder
          in: query
          description: Indica se o comando é um lembrete
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: Comandos encontrados com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DialogActionResponse'
              example:
                data:
                  dialogActions:
                    - id: 1
                      name: string
                      slug: string
                      status: 1
                      type: 1
                      typeDialogAction: 1
                      typeName: string
                      order: 1
                      totalIntents: 1
                      totalResponses: 1
                      hasApi: false
                      hasGoTo: false
                      function: 1
                      functionName: string
                      system: false
                      dialogActionCondition: 1
                      escalationEmail: string
                      escalationSubject: string
                      actionResponses: null
                      api: null
                      actionIntents: null
                      dialogActionGrouping:
                        grouping:
                          id: 1
                          name: string
                          slug: null
                        dialogAction: null
                      gotoDialogAction: null
                      dialog: null
                      dialogActionEntities: null
                      actionReminder: null
                      confirmationPhoneTimes: null
                      confPhoneInvalidAction: null
                      confPhoneValidAction: null
                      confirmationMenu: false
                      showParameterFilter: false
                      dialogActionDigit: false
                      transferToHuman: false
                      emojiProhibited: null
                      escalationQuantityHistory: null
                      checkDiscovery: false
                      serviceNow: null
                      transferToHumanType: 1
                      dialogActionFinishAttendant: null
                      menuType: null
                      tentativesBlockDialogAction: null
                      numberTentativesBlock: null
                      automaticBlock: null
                      removeResponseApi: null
                      timesToAnythingElse: 1
                      dialogActionTimesToAnythingElse: null
                      quiz: null
                      dialogActionAfterLastReminder: null
                      fillAllEntitiesOnBlock: false
                      apiJumpTos: null
                      omotorHelpdesk: null
                      monesEntityTransferToHuman: null
                      genesys: null
                      genesysLikeWater: null
                      saveFilesWhenNewsletter: false
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Workspace inexistente ou acesso negado:
                  summary: Workspace inexistente ou acesso negado
                  description: O workspace é inexistente ou o usuário não tem acesso a ele
                  value:
                    msg: validation.userDoesNotHaveAccessToWorkspace
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/item/{workspaceId}/{contactId}/{length}/{currentPage}:
    get:
      tags:
        - Integração de Contato
      summary: Buscar um contatos paginados por filtro
      description: >-
        Permite buscar contatos em uma lista através de filtros personalizados e
        paginação. Por exemplo: buscar todos os contatos que possuem o nome
        'João' e que possuem o atributo 'Departamento' com o valor 'Vendas'.
      operationId: findContactItemByFilter
      parameters:
        - name: workspaceId
          in: path
          description: Identificador do workspace
          required: true
          schema:
            type: integer
            format: int64
        - name: contactId
          in: path
          description: Identificador da lista de contatos
          required: true
          schema:
            type: integer
            format: int64
        - name: length
          in: path
          description: Quantidade de contatos por página, mínimo 10 e máximo 100
          required: true
          schema:
            maximum: 100
            minimum: 10
            type: integer
            format: int32
        - name: currentPage
          in: path
          description: Página atual
          required: true
          schema:
            type: integer
            format: int32
        - name: contactItemFilter
          in: query
          description: >-
            Filtro de busca:

            - name (string): Nome do contato.

            - phone (string): Telefone do contato (formato: DDI+DDD+Número,
            somente números).

            - email (string): Email do contato.

            - contactGroupId (integer): Identificador do atributo.

            - contactGroupValue (string): Valor do atributo.

            - order (integer): Critério de ordenação dos resultados:
                • 0 = ordenar por nome e sobrenome
                • 1 = ordenar apenas por sobrenome

            Você pode filtrar por qualquer combinação desses campos. Por
            exemplo, para buscar apenas por nome, informe apenas o parâmetro
            'name' e omita os demais.


            Caso não deseje aplicar filtros, envie o objeto vazio: {}
          required: true
          schema:
            $ref: '#/components/schemas/ContactItemFilter'
      responses:
        '200':
          description: Contatos encontrados com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactItemResponse'
              example:
                data:
                  contactItems:
                    content:
                      - id: 0
                        firstname: string
                        lastname: string
                        ddi: 0
                        phone: 0
                        email: string
                        cbrEditors:
                          - string
                        note: string
                        slug: string
                        contactItemGroupValue: null
                        confirmOptinResponse: null
                    pageable:
                      sort:
                        unsorted: true
                        sorted: false
                        empty: true
                      offset: 0
                      pageNumber: 0
                      pageSize: 0
                      unpaged: false
                      paged: true
                    last: false
                    totalPages: 0
                    totalElements: 0
                    size: 0
                    number: 0
                    sort:
                      unsorted: true
                      sorted: false
                      empty: true
                    numberOfElements: 0
                    first: true
                    empty: false
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/item/group/value/{contactItemId}:
    get:
      tags:
        - Integração de Contato
      summary: Buscar valores e atributos de um contato pelo ID
      description: >-
        Permite buscar a lista de todos os valores e respectivos atributos
        associados a um contato específico através do ID. Por exmplo: Rio de
        Janeiro (Estado), Desenvolvedor (Cargo) e Masculino (Sexo).
      operationId: getContactItemGroupValuesById
      parameters:
        - name: contactItemId
          in: path
          description: Identificador do contato
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Valores e atributos encontrados com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactItemGroupValueResponse'
              example:
                data:
                  contactItemGroupValues:
                    - id: number
                      contactGroupValue:
                        id: number
                        groupValue: string
                        description: null
                        contactGroup:
                          id: number
                          name: string
                      contactItem:
                        id: number
                        firstname: null
                        lastname: null
                        ddi: null
                        phone: null
                        email: null
                        cbrEditors: null
                        note: null
                        slug: null
                        contactItemGroupValue: null
                        confirmOptinResponse: null
                      contactGroup:
                        id: number
                        name: string
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/item/group/value/slug/{contactItemSlug}:
    get:
      tags:
        - Integração de Contato
      summary: Buscar valores e atributos de um contato pelo slug
      description: >-
        Permite buscar a lista de todos os valores e respectivos atributos
        associados a um contato específico através do slug. Por exmplo: Santa
        Catarina (Estado), QA (Cargo) e Feminino (Sexo).
      operationId: getContactItemGroupValuesBySlug
      parameters:
        - name: contactItemSlug
          in: path
          description: Identificador do contato
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Valores e atributos encontrados com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactItemGroupValueResponse'
              example:
                data:
                  contactItemGroupValues:
                    - id: 1
                      contactGroupValue:
                        id: 1
                        groupValue: string
                        description: string
                        contactGroup:
                          id: 1
                          name: string
                      contactItem:
                        id: 1
                        firstname: null
                        lastname: null
                        ddi: null
                        phone: null
                        email: null
                        cbrEditors: null
                        note: null
                        slug: null
                        contactItemGroupValue: null
                        confirmOptinResponse: null
                      contactGroup:
                        id: 1
                        name: string
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/item/clean/blocks/{conversationSlug}/{chatId}:
    get:
      tags:
        - Integração de Contato
      summary: Remover registros de bloqueios de um chat
      description: >-
        Remove todos os registros de bloqueio associados a um bot específico e a
        um determinado chat.

        Essa operação é utilizada para liberar o fluxo de interação, apagando
        restrições armazenadas:

        - Bloqueios de redirecionamentos

        - Bloqueios de menus

        - Bloqueios de confirmação de telefone

        - Bloqueios de perguntas

        - Bloqueios de ativações

        - Bloqueios de pesquisas
      operationId: contactCleanBlocks
      parameters:
        - name: conversationSlug
          in: path
          description: Identificador da conversa
          required: true
          schema:
            type: string
        - name: chatId
          in: path
          description: Identificador do chat
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Bloqueios removidos com sucesso
          content:
            application/json:
              example: {}
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/group/{contactGroupName}:
    get:
      tags:
        - Integração de Contato
      summary: Buscar um atributo de contato pelo nome
      description: >-
        Permite buscar informações personalizadas dos seus contatos, como por
        exemplo 'Nome', 'Idade', 'Cidade'.
      operationId: getContactGroupByName
      parameters:
        - name: contactGroupName
          in: path
          description: Nome do atributo de contato
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Atributo encontrado com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactGroupResponse'
              example:
                data:
                  id: 0
                  createdAt: '2000-01-01T00:00:00.000Z'
                  name: string
                  workspace: null
                  contactGroupValues: null
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/group/value/{contactGroupId}:
    get:
      tags:
        - Integração de Contato
      summary: Buscar todos os valores de um atributo pelo ID
      description: >-
        Permite buscar a lista de todos os valores cadastrados em uma categoria
        específica. Exemplo: para o atributo 'Departamento', pode retornar os
        valores 'Vendas', 'Financeiro' e 'RH'
      operationId: getContactGroupValue
      parameters:
        - name: contactGroupId
          in: path
          description: Identificador do atributo
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Valores encontrados com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactGroupValueResponse'
              example:
                data:
                  contactGroupValues:
                    id: 0
                    groupValue: string
                    description: string
                    contactGroup:
                      id: 0
                      name: string
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/group/value/{contactGroupId}/value/{contactGroupValue}:
    get:
      tags:
        - Integração de Contato
      summary: Buscar um valor dentro de um atributo
      description: >-
        Verifica se um determinado valor está cadastrado dentro de uma
        categoria. Por exemplo: verificar se o valor 'Marketing' existe dentro
        da categoria 'Setor'.
      operationId: getContactGroupValue_1
      parameters:
        - name: contactGroupId
          in: path
          description: Identificador do atributo
          required: true
          schema:
            type: integer
            format: int64
        - name: contactGroupValue
          in: path
          description: Valor do atributo
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Valor encontrado com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactGroupValueResponse'
              example:
                data:
                  contactGroupValue:
                    id: 0
                    groupValue: string
                    description: string
                    contactGroup:
                      id: 0
                      string: string
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/cbr/{userIdentify}/{conversationSlug}:
    get:
      tags:
        - Integração de Registro de Bot de Conversa (CBR)
      summary: Buscar registro de relacionamento bot-contato
      description: >-
        Permite buscar o registro de relacionamento bot-contato através do
        identificador do contato e da conversa.
      operationId: getCbrUserIdentifyAndConversationSlug
      parameters:
        - name: userIdentify
          in: path
          description: |-
            Identificador do contato
             - Exemplo: 5511912345678
          required: true
          schema:
            type: string
        - name: conversationSlug
          in: path
          description: Identificador da conversa
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Registro encontrado com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationBotRegistrationResponse'
              example:
                data:
                  cbr:
                    chatId: string
                    contactItem:
                      id: 1
                      firstname: string
                      lastname: string
                      ddi: 1
                      phone: 1
                      email: null
                      cbrEditors: []
                      note: null
                      slug: string
                      contactItemGroupValue: null
                      confirmOptinResponse: null
                    bot:
                      id: 1
                      name: string
                      slug: string
                      phoneCreated: string
                      actionProvider:
                        id: 1
                        name: string
                        slug: string
                        description: string
                        hsm: false
                      monesConversation:
                        id: 1
                        name: string
                        slug: string
                        dateStart: null
                        dateEnd: null
                        systemTimezone: null
                        dialog: null
                        contact: null
                        bot: null
                        type: 1
                        status: 1
                        valueOffsetDateStart: null
                        valueOffsetDateEnd: null
                        dateStartTimeZone: null
                        dateEndTimeZone: null
                        conversationDigit: false
                        urlWebchat: null
                        preRegister: false
                        voiceType: null
                        sendTextWhenAudio: false
                        speechToText: null
                        templateWhatsappToTraining: null
                        saveFilesSended: false
                        webhookConversation: null
                        chatgptApiKey: null
                        subscriptionId: null
                        voiceInstructions: null
                      workspace:
                        id: 1
                        name: string
                        slug: string
                        passwordExpiration: 1
                        passwordHistory: 1
                        passwordLock: 1
                      facebook: false
                    optout: false
                    lastMessage: '2000-01-01T00:00:00.000-03:00'
                    generatedByActivation: false
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
  /v2/integrations/contact/item/{conversationSlug}/key/{key}:
    delete:
      tags:
        - Integração de Contato
      summary: Excluir um contato com base em dados informados
      description: >-
        Remove um contato a partir do identificador da conversa (slug) e do
        valor de um atributo definido como identificador no grupo de importação
        do workspace. Por exemplo: excluir o contato da conversa 'abc123' cujo
        CPF (valor do atributo definido) seja '00000000000'.
      operationId: deleteContactItem
      parameters:
        - name: conversationSlug
          in: path
          description: Identificador da conversa
          required: true
          schema:
            type: string
        - name: key
          in: path
          description: Valor do atributo-chave
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Contato excluído com sucesso
          content:
            application/json:
              example: {}
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              examples:
                Conversa inválida:
                  summary: Conversa inválida
                  description: Slug de conversa inválido ou inexistente
                  value:
                    msg: validation.invalidMonesConversation
                Workspace sem chave configurada:
                  summary: Workspace sem chave configurada
                  description: Workspace não possui atributo-chave configurado
                  value:
                    msg: validation.workspaceHasNotGroupImportDefined
                Contato inválido ou inexistente:
                  summary: Contato inválido ou inexistente
                  description: O contato está inválido ou é inexistente
                  value:
                    msg: validation.invalidContactItem
                Lista de contatos em importação:
                  summary: Lista de contatos em importação
                  description: >-
                    A lista de contatos da conversa está em processamento de
                    importação de contatos
                  value:
                    msg: validation.importProcessContactItem
                Erro genérico:
                  summary: Erro genérico
                  description: Parâmetros inválidos enviados para a API
                  value:
                    msg: validation.invalidParams
        '500':
          description: Erro interno do sistema
          content:
            application/json:
              example:
                msg: Internal Server Error
components:
  schemas:
    DirectMessageRequest:
      required:
        - actions
        - monesConversationSlug
        - userIdentify
      type: object
      properties:
        userIdentify:
          type: string
          description: >-
            Identificador do destinatário.

            - Utilize o número no formato DDI+DDD+Número, sem espaços,
            parênteses ou hífens.
          example: '5511912345678'
        monesConversationSlug:
          type: string
          description: Identificador da conversa Mones onde a mensagem será enviada.
          example: 00000a000a0000bb0cc0d0000000000
        actions:
          type: array
          description: Payload com o conteúdo da mensagem a ser enviada.
          items:
            $ref: '#/components/schemas/NewsletterDetail'
        function:
          type: string
          description: |-
            Tipo de função a ser aplicada na mensagem. Os valores possíveis são:
              - "0": NONE — Nenhuma função aplicada.
              - "1": GOTO — Redireciona o fluxo da conversa para outro ponto.
              - "2": STOP — Interrompe o fluxo atual da conversa.
              - "3": COGNITION — Realiza uma etapa de cognição ou decisão no fluxo.
              - "4": MENU — Exibe um menu de opções para o usuário.
              - "5": ASK — Realiza uma pergunta ao usuário e espera uma resposta.
              - "6": ESCALATION — Escala o atendimento para um humano.
              - "7": REMINDER — Envia um lembrete ou notificação programada.
              - "8": CONTEXT — Injeta ou manipula contexto na conversa.
              - "9": QUIZ — Apresenta um questionário ou quiz ao usuário.
          example: '0'
          enum:
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
            - '9'
        menuType:
          type: string
          description: >-
            Tipo de apresentação das opções de menu na mensagem. Os valores
            possíveis são:
              - "0": REMOVE_OPTIONS — Remove completamente as opções de menu existentes.
              - "1": TEXT_OPTIONS — Exibe as opções no formato de texto.
              - "2": BUTTON_OPTIONS — Exibe as opções no formato de botões clicáveis.
          example: '0'
          enum:
            - '0'
            - '1'
            - '2'
        ignoreMenuBlock:
          type: boolean
          description: >-
            Indica se a mensagem deve ignorar os bloqueios configurados para
            apresentação de menu.
          example: false
        dialogActionSlugBlock:
          type: string
          description: >-
            Identificador do comando Mones que deve ser ativado como bloqueio ao
            usuário.


            Após o envio da mensagem, qualquer resposta do usuário será
            redirecionada pare esse comando.
          example: 00000a000a0000bb0cc0d0000000000
      description: Payload da mensagem direta a ser enviada.
    NewsletterDetail:
      required:
        - newsletterDetailTexts
      type: object
      properties:
        newsletterDetailTexts:
          type: array
          description: Payload com o conteúdo textual da mensagem a ser enviada.
          items:
            $ref: '#/components/schemas/NewsletterDetailText'
        order:
          type: integer
          description: Ordem de exibição do conteúdo na mensagem.
          format: int32
          example: 1
        path:
          type: string
          description: Link do arquivo a ser enviado.
          example: exemplo.com/arquivo.pdf
        fileName:
          type: string
          description: Nome do arquivo a ser enviado.
          example: Arquivo
        fileSize:
          type: integer
          description: Tamanho do arquivo a ser enviado.
          format: int64
          example: 1024
        fileType:
          type: string
          description: |-
            Tipo do arquivo a ser enviado. Os valores possíveis são:
              - "DOC": Documento Word (.doc)
              - "DOCX": Documento Word (.docx)
              - "PDF": Documento PDF (.pdf)
              - "PPT": Apresentação PowerPoint (.ppt)
              - "PPTX": Apresentação PowerPoint (.pptx)
              - "XLS": Planilha Excel (.xls)
              - "XLSX": Planilha Excel (.xlsx)
              - "CSV": Planilha CSV (.csv)
              - "TXT": Arquivo de texto (.txt)
              - "JPEG", "JPG": Imagem JPEG
              - "PNG": Imagem PNG
              - "WEBP": Imagem WEBP
              - "MP3", "MP3_2", "MP3_3": Áudio MP3
              - "OGG": Áudio OGG
              - "WAV": Áudio WAV
              - "WEBM": Áudio WEBM
              - "MP4": Vídeo MP4
              - "MSWORD", "MSEXCEL", "MSPOWERPOINT": Formatos Microsoft Office específicos
              - "OFFICEDOCUMENT", "SHEET", "DOCUMENT", "PRESENTATION": Formatos Office abertos
              - "FILE": Arquivo genérico
              - "NONE": Nenhum arquivo
          example: PDF
          enum:
            - none
            - doc
            - docx
            - pdf
            - ppt
            - jpeg
            - mp3
            - mp4
            - xls
            - xlsx
            - pptx
            - txt
            - jpg
            - png
            - csv
            - ogg
            - docx
            - mp3
            - mp3
            - doc
            - doc
            - msword
            - mspowerpoint
            - plain
            - document
            - sheet
            - msexcel
            - presentation
            - webm
            - wav
            - webp
      description: Payload com o conteúdo da mensagem a ser enviada.
    NewsletterDetailText:
      type: object
      properties:
        text:
          type: string
          description: Texto a ser enviado.
          example: Olá, mundo
        entityId:
          type: integer
          description: |-
            Identificador da entidade a ser associada à mensagem.
            - Preencha apenas se desejar incluir uma entidade no envio.
          format: int64
          example: 1
        order:
          type: integer
          description: Ordem de exibição do texto na mensagem.
          format: int32
          example: 1
      description: Payload com o conteúdo textual da mensagem a ser enviada.
    DirectMessageGenericRequest:
      required:
        - firstName
        - type
      type: object
      properties:
        type:
          type: string
          description: |-
            Tipo de mensagem a ser enviada. Os valores possíveis são:
              - "HSM": Mensagem por WhatsApp no formato HSM (modelo aprovado).
              - "SMS": Mensagem de texto via SMS.
              - "EMAIL": Mensagem enviada por e-mail.
              - "DIRECT_MSG": Mensagem direta enviada por canal específico da conversa.
          example: HSM
          enum:
            - HSM
            - SMS
            - EMAIL
            - DIRECT_MSG
        email:
          type: string
          description: E-mail do destinatário.
          example: johndoe@email.com
        phone:
          type: integer
          description: >-
            Telefone do destinatário.

            - Utilize o número no formato DDI+DDD+Número, sem espaços,
            parênteses ou hífens.
          format: int64
          example: 5511912345678
        firstName:
          maxLength: 45
          minLength: 0
          type: string
          description: Nome do destinatário.
          example: John
        lastName:
          maxLength: 45
          minLength: 0
          type: string
          description: Sobrenome do destinatário.
          example: Doe
        subject:
          type: string
          description: Assunto do e-mail.
          example: Assunto Urgente
        message:
          type: string
          description: Texto da mensagem.
          example: Olá, mundo
        attachment:
          type: string
          description: Anexo do e-mail.
          example: exemplo.com/arquivo.pdf
        hsm:
          type: string
          description: Nome do template HSM.
          example: template-hsm
        hsmParams:
          type: array
          description: Lista de parâmetros do template HSM.
          items:
            $ref: '#/components/schemas/GenericWappParam'
        dialogActionSlugBlock:
          type: string
          description: >-
            Identificador do comando Mones que deve ser ativado como bloqueio ao
            usuário.


            Após o envio da mensagem, qualquer resposta do usuário será
            redirecionada pare esse comando.
          example: 00000a000a0000bb0cc0d0000000000
        link:
          type: string
          description: Link a ser enviado com a mensagem.
          example: https://exemplo.com
        monesConversationSlug:
          type: string
          description: Identificador da conversa Mones.
          example: 00000a000a0000bb0cc0d0000000000
        emailFrom:
          type: string
          description: E-mail do remetente.
          example: janedoe@email.com
        emailPersonal:
          type: string
          description: Nome/Razão social do remetente.
          example: Jane Doe
        emailTemplate:
          type: string
          description: Nome do template de e-mail.
          example: template-email
        directMessage:
          $ref: '#/components/schemas/DirectMessageRequest'
        completedMessage:
          type: string
    GenericWappParam:
      required:
        - position
      type: object
      properties:
        position:
          type: integer
          description: Posição do parâmetro no HSM.
          format: int32
          example: 1
        value:
          type: string
          description: Valor do parâmetro.
          example: Olá, mundo
        link:
          type: boolean
          description: >-
            Indica se este parâmetro requer um link. Quando true, é obrigatório
            preencher  o campo 'link' (String) na requisição com a URL desejada.
            Para mais detalhes, confira o exemplo HSM com link clicável.
          example: false
        filePath:
          type: string
          description: Chave do arquivo a ser enviado. (Imagens, documentos, etc.)
          example: omotor-s3:arquivo.pdf
        entityValue:
          type: string
          description: Valor da entidade.
          example: Entidade
        indexPosition:
          type: integer
          format: int32
      description: Lista de parâmetros do template HSM.
    DirectMessageCustomRequest:
      required:
        - firstName
        - type
        - userIdentify
      type: object
      properties:
        type:
          type: string
          description: |-
            Tipo de mensagem a ser enviada. Os valores possíveis são:
              - "HSM": Mensagem por WhatsApp no formato HSM (modelo aprovado).
              - "SMS": Mensagem de texto via SMS.
              - "EMAIL": Mensagem enviada por e-mail.
              - "DIRECT_MSG": Mensagem direta enviada por canal específico da conversa.
          example: HSM
          enum:
            - HSM
            - SMS
            - EMAIL
            - DIRECT_MSG
        email:
          type: string
          description: E-mail do destinatário.
          example: johndoe@email.com
        phone:
          type: integer
          description: >-
            Telefone do destinatário.

            - Utilize o número no formato DDI+DDD+Número, sem espaços,
            parênteses ou hífens.
          format: int64
          example: 5511912345678
        firstName:
          maxLength: 45
          minLength: 0
          type: string
          description: Nome do destinatário.
          example: John
        lastName:
          maxLength: 45
          minLength: 0
          type: string
          description: Sobrenome do destinatário.
          example: Doe
        subject:
          type: string
          description: Assunto do e-mail.
          example: Assunto Urgente
        message:
          type: string
          description: Texto da mensagem.
          example: Olá, mundo
        attachment:
          type: string
          description: Anexo do e-mail.
          example: exemplo.com/arquivo.pdf
        hsm:
          type: string
          description: Nome do template HSM.
          example: template-hsm
        hsmParams:
          type: array
          description: Lista de parâmetros do template HSM.
          items:
            $ref: '#/components/schemas/GenericWappParam'
        link:
          type: string
          description: Link a ser enviado com a mensagem.
          example: https://exemplo.com
        emailFrom:
          type: string
          description: E-mail do remetente.
          example: janedoe@email.com
        emailPersonal:
          type: string
          description: Nome/Razão social do remetente.
          example: Jane Doe
        emailTemplate:
          type: string
          description: Nome do template de e-mail.
          example: template-email
        userIdentify:
          type: string
          description: >-
            Identificador do destinatário.

            - Utilize o número no formato DDI+DDD+Número, sem espaços,
            parênteses ou hífens.
          example: '5511912345678'
        actions:
          type: array
          description: Payload com o conteúdo da mensagem a ser enviada.
          items:
            $ref: '#/components/schemas/NewsletterDetail'
        monesConversationSlug:
          type: string
          description: Identificador da conversa Mones.
          example: 00000a000a0000bb0cc0d0000000000
        attributes:
          type: array
          description: Payload com a lista de atributos e valores de contato.
          items:
            $ref: '#/components/schemas/SimpleContactGroupRequest'
        dialogActionSlugBlock:
          type: string
          description: >-
            Identificador do comando Mones que deve ser ativado como bloqueio ao
            usuário.


            Após o envio da mensagem, qualquer resposta do usuário será
            redirecionada pare esse comando.
          example: 00000a000a0000bb0cc0d0000000000
        emailMessages:
          type: object
          additionalProperties:
            type: string
            description: Corpo do e-mail.
            example: Olá, mundo!
          description: Corpo do e-mail.
          example: Olá, mundo!
        function:
          type: string
          description: |-
            Tipo de função a ser aplicada na mensagem. Os valores possíveis são:
              - "0": NONE — Nenhuma função aplicada.
              - "1": GOTO — Redireciona o fluxo da conversa para outro ponto.
              - "2": STOP — Interrompe o fluxo atual da conversa.
              - "3": COGNITION — Realiza uma etapa de cognição ou decisão no fluxo.
              - "4": MENU — Exibe um menu de opções para o usuário.
              - "5": ASK — Realiza uma pergunta ao usuário e espera uma resposta.
              - "6": ESCALATION — Escala o atendimento para um humano.
              - "7": REMINDER — Envia um lembrete ou notificação programada.
              - "8": CONTEXT — Injeta ou manipula contexto na conversa.
              - "9": QUIZ — Apresenta um questionário ou quiz ao usuário.
          example: '0'
          enum:
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
            - '9'
        menuType:
          type: string
          description: >-
            Tipo de apresentação das opções de menu na mensagem. Os valores
            possíveis são:
              - "0": REMOVE_OPTIONS — Remove completamente as opções de menu existentes.
              - "1": TEXT_OPTIONS — Exibe as opções no formato de texto.
              - "2": BUTTON_OPTIONS — Exibe as opções no formato de botões clicáveis.
          example: '0'
          enum:
            - '0'
            - '1'
            - '2'
        cancelReminder:
          type: boolean
          description: Indica se a mensagem deve cancelar os lembretes agendados.
          example: false
        completedMessage:
          type: string
    SimpleContactGroupRequest:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: Nome do atributo de contatos
          example: Sexo
        value:
          type: string
          description: Valor do atributo de contatos
          example: Masculino
      description: Payload com a lista de atributos e valores de contato.
    ContactItemViewRequest:
      type: object
      properties:
        firstname:
          type: string
          description: Nome do contato.
          example: John
        lastname:
          type: string
          description: Sobrenome do contato.
          example: Doe
        ddi:
          type: integer
          description: DDI do contato.
          format: int32
          example: 55
        phone:
          type: integer
          description: >-
            Telefone do contato.

            - Utilize o número no formato DDD+Número, sem espaços, parênteses ou
            hífens
          format: int64
          example: 5511912345678
        email:
          type: string
          description: E-mail do contato.
          example: johndoe@email.com
        note:
          type: string
          description: Notas do contato.
          example: Este contato possui notas
        contact:
          $ref: '#/components/schemas/ContactViewRequest'
    ContactViewRequest:
      type: object
      properties:
        id:
          type: integer
          description: Identificador da lista de contatos.
          format: int64
          example: 1
        workspace:
          $ref: '#/components/schemas/WorkspaceViewRequest'
      description: Payload da lista de contatos.
    WorkspaceViewRequest:
      type: object
      properties:
        id:
          type: integer
          description: Identificador do workspace.
          format: int64
          example: 1
      description: Payload do workspace.
    ContactGroupValueResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        groupValue:
          type: string
          example: Marketing
        description:
          type: string
          example: >-
            Setor responsável por estratégias de promoção, comunicação e
            posicionamento no mercado.
        contactGroup:
          $ref: '#/components/schemas/ContactGroupResponse'
    ContactItemGroupValueResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        contactGroupValue:
          $ref: '#/components/schemas/ContactGroupValueResponse'
        contactItem:
          $ref: '#/components/schemas/ContactItemResponse'
        contactGroup:
          $ref: '#/components/schemas/ContactGroupResponse'
    ContactItemResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        firstname:
          type: string
          example: John
        lastname:
          type: string
          example: Doe
        ddi:
          type: integer
          format: int32
          example: 55
        phone:
          type: integer
          format: int64
          example: 5511912345678
        email:
          type: string
          example: johndoe@email.com
        cbrEditors:
          type: array
          nullable: true
          example:
            - valor 1
            - valor 2
          items:
            type: string
            nullable: true
            example: '["valor 1","valor 2"]'
        note:
          type: string
          nullable: true
          example: Este contato possui notas
        slug:
          type: string
          example: 00000a000a0000bb0cc0d0000000000
        contactItemGroupValue:
          type: array
          items:
            $ref: '#/components/schemas/ContactItemGroupValueResponse'
        confirmOptinResponse:
          type: array
          items:
            $ref: '#/components/schemas/ConfirmOptinResponse'
    ContactItemActivationRequest:
      type: object
      properties:
        attributeId:
          type: integer
          description: Identificador do atributo de contato.
          format: int64
          example: 1
      description: >-
        Atributo utilizado para ativar o contato ao iniciar a conversa com o
        BOT.
    ContactItemGroupsValuesRequest:
      type: object
      properties:
        key:
          type: string
          description: >-
            Chave de identificação do contato. Deve conter o valor do atributo
            configurado como chave no workspace.

            - Não deve ser enviado na criação.

            - Obrigatório na atualização para localizar o contato.
          example: '11122233344'
        firstname:
          type: string
          description: Nome do contato.
          example: John
        lastname:
          type: string
          description: Sobrenome do contato.
          example: Doe
        ddi:
          type: integer
          description: DDI do telefone do contato.
          format: int32
          example: 55
        phone:
          type: integer
          description: Número de telefone do contato.
          format: int64
          example: 11912345678
        email:
          type: string
          description: E-mail do contato.
          example: johndoe@email.com
        monesConversationSlug:
          type: string
          description: Identificador da conversa onde o contato será criado ou atualizado.
          example: 00000a000a0000bb0cc0d0000000000
        atributeValueIds:
          type: array
          description: >-
            Lista de IDs dos valores de atributos personalizados atribuídos ao
            contato.

            - Deve conter obrigatoriamente o valor do atributo configurado como
            chave (key) no workspace.

            - Pode conter valores adicionais.
          example:
            - 1
            - 2
            - 3
          items:
            type: integer
            description: >-
              Lista de IDs dos valores de atributos personalizados atribuídos ao
              contato.

              - Deve conter obrigatoriamente o valor do atributo configurado
              como chave (key) no workspace.

              - Pode conter valores adicionais.
            format: int64
        contactItemActivation:
          $ref: '#/components/schemas/ContactItemActivationRequest'
      description: Payload para criar ou atualizar um contato
    ContactGroupRequest:
      type: object
      properties:
        name:
          type: string
          description: Nome do atributo.
          example: Setor
        workspace:
          $ref: '#/components/schemas/ContactGroupWorkspaceRequest'
      description: Payload para criar um atributo de contato
    ContactGroupWorkspaceRequest:
      type: object
      properties:
        id:
          type: integer
          description: Identificador do workspace
          format: int64
          example: 1
      description: Payload do workspace onde será registrado o atributo.
    ContactGroupResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: Setor
    ContactGroupBasicRequest:
      type: object
      properties:
        id:
          type: integer
          description: Identificador do atributo de contato
          format: int64
          example: 1
      description: Payload do atributo de contato que o valor será associado.
    ContactGroupValueRequest:
      type: object
      properties:
        contactGroup:
          $ref: '#/components/schemas/ContactGroupBasicRequest'
        description:
          type: string
          description: Descrição do valor.
          example: Departamento responsável pelas operações de vendas da empresa.
        groupValue:
          type: string
          description: Valor do atributo.
          example: Vendas
      description: Payload para criar um valor de atributo de contato
    ActionProviderResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: WhatsApp
        slug:
          type: string
          example: whatsapp
        description:
          type: string
          example: WhatsApp
        hsm:
          type: boolean
    BotResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: Jane Doe BOT
        slug:
          type: string
          example: 00000a000a0000bb0cc0d0000000000
        phoneCreated:
          type: string
          example: '5511912345678'
        actionProvider:
          $ref: '#/components/schemas/ActionProviderResponse'
        monesConversation:
          $ref: '#/components/schemas/MonesConversationResponse'
        workspace:
          $ref: '#/components/schemas/WorkspaceResponse'
        facebook:
          type: boolean
          example: false
    CognitionConversationDialogResponse:
      type: object
      properties:
        dialog:
          $ref: '#/components/schemas/DialogResponse'
        cognitionConversation:
          $ref: '#/components/schemas/CognitionConversationResponse'
    CognitionConversationResponse:
      type: object
      properties:
        username:
          type: string
          example: username
        url:
          type: string
          example: https://example.com
        quantity:
          type: integer
          format: int64
          example: 1
        cognitionService:
          $ref: '#/components/schemas/CognitionServiceResponse'
    CognitionServiceResponse:
      type: object
      properties:
        name:
          type: string
          example: Cognição 1
        slug:
          type: string
          example: 00000a000a0000bb0cc0d0000000000
    ContactResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: John Doe
        status:
          type: integer
          format: int32
          example: 1
        workspace:
          $ref: '#/components/schemas/WorkspaceResponse'
        processImportList:
          type: boolean
          example: false
    DialogEnthusiasmResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: labels.dialogEnthusiasm
        dialogEnthusiasmType:
          type: integer
          format: int32
          example: 1
        dialog:
          $ref: '#/components/schemas/DialogResponse'
    DialogResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: Diálogo 1
        slug:
          type: string
          example: 00000a000a0000bb0cc0d0000000000
        status:
          type: integer
          format: int32
          example: 1
        systemLocale:
          $ref: '#/components/schemas/SystemLocaleResponse'
        cognitionService:
          $ref: '#/components/schemas/CognitionServiceResponse'
        dialogEnthusiasm:
          $ref: '#/components/schemas/DialogEnthusiasmResponse'
        watsonDiscovery:
          $ref: '#/components/schemas/WatsonDiscoveryResponse'
        queue:
          type: string
          example: queue_example
        dialogType:
          type: string
          example: '1'
          enum:
            - '0'
            - '1'
        cognitionConversationDialog:
          $ref: '#/components/schemas/CognitionConversationDialogResponse'
    MonesConversationResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: Conversa 1
        slug:
          type: string
          example: 00000a000a0000bb0cc0d0000000000
        dateStart:
          type: string
          format: date-time
          example: '2000-01-01T00:00:00Z'
        dateEnd:
          type: string
          format: date-time
          example: '2000-01-01T00:00:00Z'
        systemTimezone:
          $ref: '#/components/schemas/SystemTimezoneResponse'
        dialog:
          $ref: '#/components/schemas/DialogResponse'
        contact:
          $ref: '#/components/schemas/ContactResponse'
        bot:
          $ref: '#/components/schemas/BotResponse'
        type:
          type: integer
          format: int32
          example: 1
        status:
          type: integer
          format: int32
          example: 1
        valueOffsetDateStart:
          type: integer
          format: int64
          example: -3
        valueOffsetDateEnd:
          type: integer
          format: int64
          example: -3
        dateStartTimeZone:
          type: string
          example: '2000-01-01T00:00:00.000-03:00'
        dateEndTimeZone:
          type: string
          example: '2000-01-01T00:00:00.000-03:00'
        conversationDigit:
          type: boolean
          example: false
        urlWebchat:
          type: string
          example: https://exemplo.com
        preRegister:
          type: boolean
          example: false
        voiceType:
          type: string
          example: NONE
          enum:
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
            - '9'
            - '10'
            - '11'
            - '12'
            - '13'
            - '14'
            - '15'
            - '16'
            - '17'
            - '18'
        sendTextWhenAudio:
          type: boolean
          example: false
        speechToText:
          type: string
          example: NONE
          enum:
            - '0'
            - '1'
            - '2'
        templateWhatsappToTraining:
          $ref: '#/components/schemas/TemplateWhatsappResponse'
        saveFilesSended:
          type: boolean
          example: false
        webhookConversation:
          type: string
          example: webhook-conversation
        chatgptApiKey:
          type: string
          example: 00000a000a0000bb0cc0d0000000000
        subscriptionId:
          type: string
          example: '1'
        voiceInstructions:
          type: string
          example: Exemplo de instruções
    SystemLocaleResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        lang:
          type: string
          example: pt-BR
        name:
          type: string
          example: select.system.locale.pt.br
        ddi:
          type: integer
          format: int32
          example: 55
    SystemTimezoneResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: select.system.timezone.america.sao.paulo
        label:
          type: string
          example: labels.timezone.america.saoPaulo
        timezone:
          type: string
          example: America/Sao_Paulo
    TemplateWappParamResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: NO_PARAMETER
        templateWhatsapp:
          $ref: '#/components/schemas/TemplateWhatsappResponse'
        fileType:
          type: string
          example: TEXT
        fileParameter:
          type: boolean
          example: false
        fileTypeInt:
          type: integer
          format: int32
          example: 0
    TemplateWhatsappResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: John Doe
        label:
          type: string
          example: Olá {{1}}!
        hsmSlug:
          type: string
          example: aa000a00_0000_000b_bb00_00000ccc0000
        category:
          type: string
          example: MARKETING
          enum:
            - MARKETING
            - UTILITY
            - AUTHENTICATION
        monesConversation:
          $ref: '#/components/schemas/MonesConversationResponse'
        templateWhatsappParameters:
          type: array
          items:
            $ref: '#/components/schemas/TemplateWappParamResponse'
        fileTypeInt:
          type: integer
          format: int32
          example: 0
        status:
          type: string
          example: APPROVED
          enum:
            - REJECTED
            - APPROVED
            - PAUSED
            - DELETED
            - SUBMITTED
            - DISABLED
            - FAILED
        language:
          type: string
          example: pt-BR
        oldCategory:
          type: string
          example: UTILITY
          enum:
            - MARKETING
            - UTILITY
            - AUTHENTICATION
        allowTemplateCategoryChange:
          type: boolean
          example: false
        templateWhatsappButtons:
          type: array
          items:
            $ref: '#/components/schemas/TemplateWppButtonsResponse'
        hasQuiz:
          type: boolean
    TemplateWppButtonsResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        parameter:
          type: string
          example: Parâmetro 1
        type:
          type: string
          example: QUICK_REPLY
          enum:
            - QUICK_REPLY
        templateWhatsapp:
          $ref: '#/components/schemas/TemplateWhatsappResponse'
    WatsonDiscoveryResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
    WorkspaceResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: Empresa 1
        slug:
          type: string
          example: 00000a000a0000bb0cc0d0000000000
        passwordExpiration:
          type: integer
          format: int32
          example: 1
        passwordHistory:
          type: integer
          format: int32
          example: 1
        passwordLock:
          type: integer
          format: int32
          example: 1
    GroupingResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: Grupo 1
        slug:
          type: string
          example: 00000a000a0000bb0cc0d0000000000
    ActionIntentResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        text:
          type: string
          example: Texto
    ActionMonesResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        actionResponseDetails:
          type: array
          items:
            $ref: '#/components/schemas/ActionResponseDetailResponse'
        toDialogAction:
          $ref: '#/components/schemas/DialogActionResponse'
        fromDialogAction:
          $ref: '#/components/schemas/DialogActionResponse'
        grouping:
          $ref: '#/components/schemas/GroupingResponse'
        dialogEnthusiasm:
          $ref: '#/components/schemas/DialogEnthusiasmResponse'
    ActionReminderResponse:
      type: object
      properties:
        dialogAction:
          $ref: '#/components/schemas/DialogActionResponse'
        reminderDialogAction:
          $ref: '#/components/schemas/DialogActionResponse'
        recurrence:
          type: string
          example: DAILY
          enum:
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
        recurrenceValue:
          type: integer
          format: int32
          example: 1
    ActionResponseDetailMenuResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        text:
          type: string
          example: Texto
    ActionResponseDetailResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        composeResponseDetails:
          type: array
          items:
            $ref: '#/components/schemas/ComposeResponseDetailResponse'
        order:
          type: integer
          format: int32
          example: 1
        path:
          type: string
          example: https://example.com/file.pdf
        fileName:
          type: string
          example: file.pdf
        fileSize:
          type: integer
          format: int64
          example: 1
        fileType:
          type: string
          example: PDF
        dialogAction:
          $ref: '#/components/schemas/DialogActionResponse'
        actionResponseDetailMenus:
          type: array
          items:
            $ref: '#/components/schemas/ActionResponseDetailMenuResponse'
        file:
          type: boolean
    ApiEntityResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        monesEntity:
          $ref: '#/components/schemas/MonesEntityResponse'
        required:
          type: boolean
          example: false
        order:
          type: integer
          format: int32
          example: 1
        clearAfterUse:
          type: boolean
          example: false
        gotoEntityRequired:
          $ref: '#/components/schemas/DialogActionResponse'
        notExtractEntity:
          type: boolean
          example: false
    ApiHeaderResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        headerName:
          type: string
          example: Authorization
        headerValue:
          type: string
          example: 00000a000a0000bb0cc0d0000000000
    ApiJumpToResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        valueCheck:
          type: string
          example: '1'
        dialogActionJumpTo:
          $ref: '#/components/schemas/DialogActionResponse'
    ApiResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: Api 1
        jsonStructure:
          type: string
          example: value
        url:
          type: string
          example: https://example.com/api
        apiEntity:
          type: array
          items:
            $ref: '#/components/schemas/ApiEntityResponse'
        apiHeaders:
          type: array
          items:
            $ref: '#/components/schemas/ApiHeaderResponse'
        apiReturnTypeFunction:
          type: string
          example: TEXT
          enum:
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
        apiType:
          type: string
          example: SYSTEM
          enum:
            - '0'
            - '1'
            - '2'
        fileNameS3:
          type: boolean
          example: false
    ComposeResponseDetailResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        text:
          type: string
          example: Texto
        order:
          type: integer
          format: int32
          example: 1
        actionResponseDetail:
          $ref: '#/components/schemas/ActionResponseDetailResponse'
        monesEntity:
          $ref: '#/components/schemas/MonesEntityResponse'
    DialogActionEntityResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        dialogAction:
          $ref: '#/components/schemas/DialogActionResponse'
        monesEntity:
          $ref: '#/components/schemas/MonesEntityResponse'
        required:
          type: boolean
          example: false
        order:
          type: integer
          format: int32
          example: 1
        clearAfterUse:
          type: boolean
          example: false
        gotoEntityRequired:
          $ref: '#/components/schemas/DialogActionResponse'
        notExtractEntity:
          type: boolean
          example: false
    DialogActionGroupingResponse:
      type: object
      properties:
        grouping:
          $ref: '#/components/schemas/GroupingResponse'
        dialogAction:
          $ref: '#/components/schemas/DialogActionResponse'
    DialogActionResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: Comando 1
        slug:
          type: string
          example: 00000a000a0000bb0cc0d0000000000
        status:
          type: integer
          format: int32
          example: 1
        type:
          type: integer
          format: int32
          example: 1
        typeDialogAction:
          type: integer
          format: int32
          example: 1
        typeName:
          type: string
          example: MONES
        order:
          type: integer
          format: int32
          example: 1
        totalIntents:
          type: integer
          format: int32
          example: 1
        totalResponses:
          type: integer
          format: int32
          example: 1
        hasApi:
          type: boolean
          example: false
        hasGoTo:
          type: boolean
          example: false
        function:
          type: integer
          format: int32
          example: 1
        functionName:
          type: string
          example: NONE
        system:
          type: boolean
          example: false
        dialogActionCondition:
          type: integer
          format: int32
          example: 1
        escalationEmail:
          type: string
          example: example@example.com
        escalationSubject:
          type: string
          example: Assunto do e-mail
        actionResponses:
          type: array
          items:
            $ref: '#/components/schemas/ActionMonesResponse'
        api:
          $ref: '#/components/schemas/ApiResponse'
        actionIntents:
          type: array
          items:
            $ref: '#/components/schemas/ActionIntentResponse'
        dialogActionGrouping:
          $ref: '#/components/schemas/DialogActionGroupingResponse'
        gotoDialogAction:
          $ref: '#/components/schemas/DialogActionResponse'
        dialog:
          $ref: '#/components/schemas/DialogResponse'
        dialogActionEntities:
          type: array
          items:
            $ref: '#/components/schemas/DialogActionEntityResponse'
        actionReminder:
          $ref: '#/components/schemas/ActionReminderResponse'
        confirmationPhoneTimes:
          type: integer
          format: int32
          example: 1
        confPhoneInvalidAction:
          $ref: '#/components/schemas/DialogActionResponse'
        confPhoneValidAction:
          $ref: '#/components/schemas/DialogActionResponse'
        confirmationMenu:
          type: boolean
          example: false
        showParameterFilter:
          type: boolean
          example: false
        dialogActionDigit:
          type: boolean
          example: false
        transferToHuman:
          type: boolean
          example: false
        emojiProhibited:
          type: string
          example: '?'
        escalationQuantityHistory:
          type: integer
          format: int32
          example: 1
        checkDiscovery:
          type: boolean
          example: false
        serviceNow:
          $ref: '#/components/schemas/ServiceNowResponse'
        transferToHumanType:
          type: integer
          format: int32
          example: 1
        dialogActionFinishAttendant:
          $ref: '#/components/schemas/DialogActionResponse'
        menuType:
          type: string
          example: TEXT_OPTIONS
          enum:
            - '0'
            - '1'
            - '2'
        tentativesBlockDialogAction:
          $ref: '#/components/schemas/DialogActionResponse'
        numberTentativesBlock:
          type: integer
          format: int32
          example: 1
        automaticBlock:
          type: boolean
          example: false
        removeResponseApi:
          type: boolean
          example: false
        timesToAnythingElse:
          type: integer
          format: int32
          example: 1
        dialogActionTimesToAnythingElse:
          $ref: '#/components/schemas/DialogActionResponse'
        quiz:
          $ref: '#/components/schemas/QuizResponse'
        dialogActionAfterLastReminder:
          $ref: '#/components/schemas/DialogActionResponse'
        fillAllEntitiesOnBlock:
          type: boolean
          example: false
        apiJumpTos:
          type: array
          items:
            $ref: '#/components/schemas/ApiJumpToResponse'
        omotorHelpdesk:
          $ref: '#/components/schemas/OmotorHelpdeskResponse'
        monesEntityTransferToHuman:
          $ref: '#/components/schemas/MonesEntityResponse'
        genesys:
          $ref: '#/components/schemas/GenesysResponse'
        genesysLikeWater:
          $ref: '#/components/schemas/GenesysLikeWaterResponse'
        saveFilesWhenNewsletter:
          type: boolean
          example: false
    GenesysLikeWaterResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        label:
          type: string
          example: label
        url:
          type: string
          example: https://example.com
        workspace:
          $ref: '#/components/schemas/WorkspaceResponse'
    GenesysResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        queue:
          type: string
          example: queue_example
        url:
          type: string
          example: https://example.com
        workspace:
          $ref: '#/components/schemas/WorkspaceResponse'
    MonesEntityResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: Entidade 1
        type:
          type: integer
          format: int32
          example: 1
        typeLabel:
          type: string
          example: TXT
        workspace:
          $ref: '#/components/schemas/WorkspaceResponse'
        global:
          type: boolean
          example: false
        loadable:
          type: boolean
          example: false
        loadableValue:
          type: string
          example: EMAIL
          enum:
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
        contactGroup:
          $ref: '#/components/schemas/ContactGroupResponse'
        clearAfterUse:
          type: boolean
          example: false
        pattern:
          type: string
          example: b[A-Za-z0-9+_.-]+@(.+)b
        label:
          type: string
          example: Esta é uma label de entidade
        api:
          $ref: '#/components/schemas/ApiResponse'
        manipulateContactGroup:
          $ref: '#/components/schemas/ContactGroupResponse'
        manipulateContactGroupType:
          type: string
          example: INSERT
          enum:
            - '0'
            - '1'
            - '2'
        processImportValue:
          type: boolean
          example: false
        slug:
          type: string
          example: 00000a000a0000bb0cc0d0000000000
    OmotorHelpdeskResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        queue:
          type: string
          example: queue_example
        workspace:
          $ref: '#/components/schemas/WorkspaceResponse'
    QuizResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        name:
          type: string
          example: Pesquisa 1
    ServiceNowResponse:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 1
        queue:
          type: string
          example: queue_example
        user:
          type: string
          example: johndoe
        password:
          type: string
          example: '123'
        url:
          type: string
          example: https://example.com
        workspace:
          $ref: '#/components/schemas/WorkspaceResponse'
    ContactItemFilter:
      type: object
      properties:
        name:
          type: string
          description: Nome do contato.
          example: John Doe
        phone:
          type: string
          description: DDI do contato.
          example: '55'
        email:
          type: string
          description: Email do contato.
          example: johndoe@email.com
        contactGroupId:
          type: integer
          description: Identificador do atributo de contato.
          format: int64
          example: 1
        contactGroupValue:
          type: string
          description: Valor do atributo de contato.
          example: Vendas
        order:
          type: integer
          description: Ordenação para busca.
          format: int32
          example: 1
    ConfirmOptinResponse:
      type: object
      properties:
        monesConversation:
          $ref: '#/components/schemas/MonesConversationResponse'
        code:
          type: string
          example: '123456'
    ConversationBotRegistrationResponse:
      type: object
      properties:
        chatId:
          type: string
          example: '1'
        contactItem:
          $ref: '#/components/schemas/ContactItemResponse'
        bot:
          $ref: '#/components/schemas/BotResponse'
        optout:
          type: boolean
          example: false
        lastMessage:
          type: string
          format: date-time
          example: '2000-01-01T00:00:00-03:00'
        generatedByActivation:
          type: boolean
          example: false
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header
