{
 "openapi": "3.0.3",
 "info": {
  "title": "API Externa do CRM Hyper",
  "version": "v2",
  "description": "Documentação pública da API externa do CRM Hyper."
 },
 "servers": [
  {
   "url": "https://backend.hypersistema.com.br",
   "description": "Produção do CRM Hyper"
  }
 ],
 "security": [
  {
   "bearerAuth": []
  }
 ],
 "components": {
  "securitySchemes": {
   "bearerAuth": {
    "type": "http",
    "scheme": "bearer",
    "description": "Token Bearer da API externa do seu tenant (API ID + token gerados no CRM)."
   }
  },
  "parameters": {
   "ApiId": {
    "name": "apiId",
    "in": "path",
    "required": true,
    "description": "ID da API externa cadastrada no CRM Hyper.",
    "schema": {
     "type": "string"
    }
   }
  },
  "schemas": {},
  "responses": {}
 },
 "tags": [
  {
   "name": "📅 Agendamentos e Lembretes"
  },
  {
   "name": "📣 Campanhas"
  },
  {
   "name": "🔌 Canais e Sessões"
  },
  {
   "name": "👤 Contatos"
  },
  {
   "name": "🏗️ CRM - Pipeline"
  },
  {
   "name": "📊 Dashboard"
  },
  {
   "name": "📤 Envio em Lote"
  },
  {
   "name": "🎯 Envio por Ticket"
  },
  {
   "name": "📂 Galeria"
  },
  {
   "name": "👥 Grupos WhatsApp"
  },
  {
   "name": "🟢 Interativo Baileys"
  },
  {
   "name": "📷 Interativo Instagram"
  },
  {
   "name": "💬 Interativo Messenger"
  },
  {
   "name": "🟩 Interativo UazAPI"
  },
  {
   "name": "🔘 Interativo Waba"
  },
  {
   "name": "🟢 Interativo Zapo"
  },
  {
   "name": "🏷️ Kanban / Tags / Motivos / Filas"
  },
  {
   "name": "🔍 Listagens Utilitárias"
  },
  {
   "name": "📊 Listagens"
  },
  {
   "name": "📞 Logs de Chamadas"
  },
  {
   "name": "📨 Mensagens Avançadas"
  },
  {
   "name": "👥 Mensagens em Grupo"
  },
  {
   "name": "📨 Mensagens"
  },
  {
   "name": "💼 Oportunidades"
  },
  {
   "name": "📋 Templates WABA"
  },
  {
   "name": "🏢 Tenant API"
  },
  {
   "name": "🎫 Tickets - Extras"
  },
  {
   "name": "🎫 Tickets"
  },
  {
   "name": "✅ To-Do List"
  },
  {
   "name": "👥 Usuários"
  }
 ],
 "paths": {
  "/v2/api/external/{apiId}/appointment/create": {
   "post": {
    "tags": [
     "📅 Agendamentos e Lembretes"
    ],
    "summary": "AppointmentCreate",
    "operationId": "AppointmentCreate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "title": {
          "type": "string"
         },
         "description": {
          "type": "string"
         },
         "contactId": {
          "type": "string"
         },
         "contactName": {
          "type": "string"
         },
         "contactPhone": {
          "type": "string"
         },
         "whatsappId": {
          "type": "string"
         },
         "startAt": {
          "type": "string"
         },
         "endAt": {
          "type": "string"
         },
         "status": {
          "type": "string"
         },
         "notes": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/appointment/delete/{id}": {
   "post": {
    "tags": [
     "📅 Agendamentos e Lembretes"
    ],
    "summary": "AppointmentDelete",
    "operationId": "AppointmentDelete",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/appointment/list": {
   "get": {
    "tags": [
     "📅 Agendamentos e Lembretes"
    ],
    "summary": "AppointmentList",
    "operationId": "AppointmentList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "status",
      "in": "query",
      "required": false,
      "description": "pending | confirmed | cancelled | completed",
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/appointment/show/{id}": {
   "get": {
    "tags": [
     "📅 Agendamentos e Lembretes"
    ],
    "summary": "AppointmentShow",
    "operationId": "AppointmentShow",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/appointment/update/{id}": {
   "post": {
    "tags": [
     "📅 Agendamentos e Lembretes"
    ],
    "summary": "AppointmentUpdate",
    "operationId": "AppointmentUpdate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "title": {
          "type": "string"
         },
         "description": {
          "type": "string"
         },
         "contactId": {
          "type": "string"
         },
         "contactName": {
          "type": "string"
         },
         "contactPhone": {
          "type": "string"
         },
         "whatsappId": {
          "type": "string"
         },
         "startAt": {
          "type": "string"
         },
         "endAt": {
          "type": "string"
         },
         "status": {
          "type": "string"
         },
         "notes": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/scheduleReminder/create": {
   "post": {
    "tags": [
     "📅 Agendamentos e Lembretes"
    ],
    "summary": "ScheduleReminderCreate",
    "operationId": "ScheduleReminderCreate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         },
         "description": {
          "type": "string"
         },
         "hoursBeforeEvent": {
          "type": "integer"
         },
         "messageType": {
          "type": "string"
         },
         "messageContent": {
          "type": "string"
         },
         "whatsappId": {
          "type": "string"
         },
         "active": {
          "type": "boolean"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/scheduleReminder/delete/{id}": {
   "post": {
    "tags": [
     "📅 Agendamentos e Lembretes"
    ],
    "summary": "ScheduleReminderDelete",
    "operationId": "ScheduleReminderDelete",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/scheduleReminder/list": {
   "get": {
    "tags": [
     "📅 Agendamentos e Lembretes"
    ],
    "summary": "ScheduleReminderList",
    "operationId": "ScheduleReminderList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/scheduleReminder/toggle/{id}": {
   "post": {
    "tags": [
     "📅 Agendamentos e Lembretes"
    ],
    "summary": "ScheduleReminderToggle",
    "operationId": "ScheduleReminderToggle",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/scheduleReminder/update/{id}": {
   "post": {
    "tags": [
     "📅 Agendamentos e Lembretes"
    ],
    "summary": "ScheduleReminderUpdate",
    "operationId": "ScheduleReminderUpdate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         },
         "description": {
          "type": "string"
         },
         "hoursBeforeEvent": {
          "type": "integer"
         },
         "messageType": {
          "type": "string"
         },
         "messageContent": {
          "type": "string"
         },
         "whatsappId": {
          "type": "string"
         },
         "active": {
          "type": "boolean"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/cancel/{campaignId}": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignCancel",
    "operationId": "CampaignCancel",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/contacts/add/{campaignId}": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignContactsAdd",
    "operationId": "CampaignContactsAdd",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "array",
        "items": {
         "type": "object",
         "properties": {
          "name": {
           "type": "string"
          },
          "number": {
           "type": "string"
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/contacts/{campaignId}": {
   "get": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignContactsList",
    "operationId": "CampaignContactsList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/contacts/remove/{campaignId}/{contactId}": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignContactsRemove",
    "operationId": "CampaignContactsRemove",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     },
     {
      "name": "contactId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/contacts/removeAll/{campaignId}": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignContactsRemoveAll",
    "operationId": "CampaignContactsRemoveAll",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/create": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignCreate",
    "operationId": "CampaignCreate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         },
         "start": {
          "type": "string"
         },
         "message1": {
          "type": "string"
         },
         "message2": {
          "type": "string"
         },
         "message3": {
          "type": "string"
         },
         "sessionId": {
          "type": "string"
         },
         "delay": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/delete/{campaignId}": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignDelete",
    "operationId": "CampaignDelete",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/duplicate/{campaignId}": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignDuplicate",
    "operationId": "CampaignDuplicate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/list": {
   "get": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignList",
    "operationId": "CampaignList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/pause/{campaignId}": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignPause",
    "operationId": "CampaignPause",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/report/{campaignId}": {
   "get": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignReport",
    "operationId": "CampaignReport",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/resume/{campaignId}": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignResume",
    "operationId": "CampaignResume",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/skip/{campaignId}": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignSkip",
    "operationId": "CampaignSkip",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/start/{campaignId}": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignStart",
    "operationId": "CampaignStart",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/campaign/update/{campaignId}": {
   "post": {
    "tags": [
     "📣 Campanhas"
    ],
    "summary": "CampaignUpdate",
    "operationId": "CampaignUpdate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "campaignId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         },
         "start": {
          "type": "string"
         },
         "message1": {
          "type": "string"
         },
         "message2": {
          "type": "string"
         },
         "message3": {
          "type": "string"
         },
         "sessionId": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/createtSession": {
   "post": {
    "tags": [
     "🔌 Canais e Sessões"
    ],
    "summary": "CreateSession",
    "operationId": "CreateSession",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string",
          "description": "Nome da instância do WhatsApp"
         },
         "status": {
          "type": "string",
          "description": "Status inicial da sessão (DISCONNECTED, CONNECTED)"
         },
         "type": {
          "type": "string",
          "description": "Tipo da sessão"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/deleteSession": {
   "post": {
    "tags": [
     "🔌 Canais e Sessões"
    ],
    "summary": "DeleteSession",
    "operationId": "DeleteSession",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "integer",
          "description": "ID da sessão do WhatsApp que será deletada"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/requestNewQrCodeSession": {
   "post": {
    "tags": [
     "🔌 Canais e Sessões"
    ],
    "summary": "RequestNewQrCode",
    "operationId": "RequestNewQrCode",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "integer",
          "description": "ID da sessão do WhatsApp que terá um novo QR Code gerado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/showChannel": {
   "post": {
    "tags": [
     "🔌 Canais e Sessões"
    ],
    "summary": "ShowChannelInformation",
    "operationId": "ShowChannelInformation",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do canal (formato: 5511999999999)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/showChannelById": {
   "post": {
    "tags": [
     "🔌 Canais e Sessões"
    ],
    "summary": "ShowChannelInformationById",
    "operationId": "ShowChannelInformationById",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "id": {
          "type": "integer",
          "description": "ID do canal que será consultado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/qrCodeSession": {
   "post": {
    "tags": [
     "🔌 Canais e Sessões"
    ],
    "summary": "ShowQrCode",
    "operationId": "ShowQrCode",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "integer",
          "description": "ID da sessão do WhatsApp que terá o QR Code gerado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/startSession": {
   "post": {
    "tags": [
     "🔌 Canais e Sessões"
    ],
    "summary": "StartSession",
    "operationId": "StartSession",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "integer",
          "description": "ID da sessão do WhatsApp que será iniciada"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/blockContact": {
   "post": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "BlockContact",
    "operationId": "BlockContact",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "contactId": {
          "type": "integer",
          "description": "ID do contato que será bloqueado/desbloqueado"
         },
         "blocked": {
          "type": "boolean",
          "description": "true para bloquear, false para desbloquear"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/createContact": {
   "post": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "CreateContact",
    "operationId": "CreateContact",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string",
          "description": "Nome completo do contato"
         },
         "number": {
          "type": "string",
          "description": "Número do WhatsApp (formato: 5511999999999)"
         },
         "email": {
          "type": "string",
          "description": "Email do contato"
         },
         "cpf": {
          "type": "string",
          "description": "CPF do contato (formato: 000.000.000-00)"
         },
         "firstName": {
          "type": "string",
          "description": "Primeiro nome do contato"
         },
         "lastName": {
          "type": "string",
          "description": "Sobrenome do contato"
         },
         "businessName": {
          "type": "string",
          "description": "Nome da empresa do contato"
         },
         "birthdayDate": {
          "type": "string",
          "description": "Data de nascimento (formato: DD/MM/AAAA)"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/getContactExtraInfo": {
   "get": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "GetContactExtraInfo",
    "operationId": "GetContactExtraInfo",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "contactId",
      "in": "query",
      "required": false,
      "description": "ID do contato",
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/contacts/search": {
   "post": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "SearchContacts",
    "operationId": "SearchContacts",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "searchParam": {
          "type": "string",
          "description": "Parâmetro de busca textual (opcional) - busca em nome, número, CPF, etc"
         },
         "page": {
          "type": "integer",
          "description": "Número da página (padrão: 1)"
         },
         "limit": {
          "type": "integer",
          "description": "Limite de resultados por página (padrão: 40)"
         },
         "tagId": {
          "type": "integer",
          "description": "ID de uma tag para filtrar (opcional)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/showcontact": {
   "post": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "ShowContact",
    "operationId": "ShowContact",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do contato (formato: 5511999999999)"
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateContact": {
   "post": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "UpdateContact",
    "operationId": "UpdateContact",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string",
          "description": "Nome completo do contato"
         },
         "number": {
          "type": "string",
          "description": "Número do WhatsApp (formato: 5511999999999)"
         },
         "email": {
          "type": "string",
          "description": "Email do contato"
         },
         "cpf": {
          "type": "string",
          "description": "CPF do contato (formato: 000.000.000-00)"
         },
         "firstName": {
          "type": "string",
          "description": "Primeiro nome do contato"
         },
         "lastName": {
          "type": "string",
          "description": "Sobrenome do contato"
         },
         "businessName": {
          "type": "string",
          "description": "Nome da empresa do contato"
         },
         "birthdayDate": {
          "type": "string",
          "description": "Data de nascimento (formato: DD/MM/AAAA)"
         },
         "kanban": {
          "type": "integer",
          "description": "ID do kanban do contato"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateContactExtraInfo": {
   "post": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "UpdateContactExtraInfo",
    "operationId": "UpdateContactExtraInfo",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "contactId": {
          "type": "integer",
          "description": "ID do contato que terá as informações adicionais atualizadas"
         },
         "extraInfo": {
          "type": "array",
          "description": "Array de campos personalizados (extraInfo)",
          "items": {
           "type": "object",
           "properties": {
            "name": {
             "type": "string"
            },
            "value": {
             "type": "string"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateContactKanban": {
   "post": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "UpdateContactKanban",
    "operationId": "UpdateContactKanban",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "contactId": {
          "type": "integer",
          "description": "ID do contato que terá o kanban (carteira) alterado"
         },
         "kanban": {
          "type": "integer",
          "description": "ID do kanban (carteira) que será atribuído ao contato"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateContactWallet": {
   "post": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "UpdateContactWallet",
    "operationId": "UpdateContactWallet",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "contactId": {
          "type": "integer",
          "description": "ID do contato que será carteirizado"
         },
         "walletId": {
          "type": "integer",
          "description": "ID da wallet que será atribuída ao contato (pode usar walletId ou walletIds)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/mergecontacts": {
   "post": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "MergeContacts",
    "operationId": "MergeContacts",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "pairs": {
          "type": "array",
          "description": "Pares a mesclar (max 150 por requisicao — use chunking). Cada par aceita IDs OU numeros. Por numero: resolucao exato-primeiro; se ambiguo, a linha retorna ERR_NUMBER_AMBIGUOUS com os candidatos.",
          "items": {
           "type": "object",
           "properties": {
            "primaryId": {
             "type": "integer"
            },
            "duplicateId": {
             "type": "integer"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/findduplicatecontacts": {
   "post": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "FindDuplicateContacts",
    "operationId": "FindDuplicateContacts",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "limit": {
          "type": "integer",
          "description": "Limite de pares retornados (padrao 500)"
         },
         "matchKinds": {
          "type": "array",
          "description": "Heuristicas (padrao: variante do 9o digito + cross-collision LID)",
          "items": {
           "type": "string"
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/unmergecontacts": {
   "post": {
    "tags": [
     "👤 Contatos"
    ],
    "summary": "UnmergeContacts",
    "operationId": "UnmergeContacts",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "duplicateIds": {
          "type": "array",
          "description": "Desfaz mesclagens registradas (ordem inversa: a mais recente primeiro). Max 150 por requisicao.",
          "items": {
           "type": "integer"
          }
         },
         "mergeLogIds": {
          "type": "array",
          "description": "Alternativa: ids do log de mesclagem",
          "items": {
           "type": "object"
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/pipeline/create": {
   "post": {
    "tags": [
     "🏗️ CRM - Pipeline"
    ],
    "summary": "PipelineCreate",
    "operationId": "PipelineCreate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         },
         "description": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/pipeline/delete/{id}": {
   "post": {
    "tags": [
     "🏗️ CRM - Pipeline"
    ],
    "summary": "PipelineDelete",
    "operationId": "PipelineDelete",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/pipeline/list": {
   "get": {
    "tags": [
     "🏗️ CRM - Pipeline"
    ],
    "summary": "PipelineList",
    "operationId": "PipelineList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/pipeline/show/{id}": {
   "get": {
    "tags": [
     "🏗️ CRM - Pipeline"
    ],
    "summary": "PipelineShow",
    "operationId": "PipelineShow",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/pipeline/update/{id}": {
   "post": {
    "tags": [
     "🏗️ CRM - Pipeline"
    ],
    "summary": "PipelineUpdate",
    "operationId": "PipelineUpdate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/stage/create": {
   "post": {
    "tags": [
     "🏗️ CRM - Pipeline"
    ],
    "summary": "StageCreate",
    "operationId": "StageCreate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         },
         "pipelineId": {
          "type": "string"
         },
         "order": {
          "type": "integer"
         },
         "color": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/stage/delete/{id}": {
   "post": {
    "tags": [
     "🏗️ CRM - Pipeline"
    ],
    "summary": "StageDelete",
    "operationId": "StageDelete",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/stage/list": {
   "get": {
    "tags": [
     "🏗️ CRM - Pipeline"
    ],
    "summary": "StageList",
    "operationId": "StageList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "pipelineId",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/stage/show/{id}": {
   "get": {
    "tags": [
     "🏗️ CRM - Pipeline"
    ],
    "summary": "StageShow",
    "operationId": "StageShow",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/stage/update/{id}": {
   "post": {
    "tags": [
     "🏗️ CRM - Pipeline"
    ],
    "summary": "StageUpdate",
    "operationId": "StageUpdate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/dash/ticketsAndTimes": {
   "get": {
    "tags": [
     "📊 Dashboard"
    ],
    "summary": "DashTicketsAndTimes",
    "operationId": "DashTicketsAndTimes",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "startDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "endDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/dash/ticketsChannels": {
   "get": {
    "tags": [
     "📊 Dashboard"
    ],
    "summary": "DashTicketsChannels",
    "operationId": "DashTicketsChannels",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "startDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "endDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/dash/ticketsEvolution": {
   "get": {
    "tags": [
     "📊 Dashboard"
    ],
    "summary": "DashTicketsEvolution",
    "operationId": "DashTicketsEvolution",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "startDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "endDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/dash/ticketsEvolutionByValue": {
   "get": {
    "tags": [
     "📊 Dashboard"
    ],
    "summary": "DashTicketsEvolutionByValue",
    "operationId": "DashTicketsEvolutionByValue",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "startDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "endDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/dash/ticketsEvolutionChannelsName": {
   "get": {
    "tags": [
     "📊 Dashboard"
    ],
    "summary": "DashTicketsEvolutionChannelsName",
    "operationId": "DashTicketsEvolutionChannelsName",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "startDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "endDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/dash/ticketsPerUser": {
   "get": {
    "tags": [
     "📊 Dashboard"
    ],
    "summary": "DashTicketsPerUser",
    "operationId": "DashTicketsPerUser",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "startDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "endDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/dash/ticketsQueue": {
   "get": {
    "tags": [
     "📊 Dashboard"
    ],
    "summary": "DashTicketsQueue",
    "operationId": "DashTicketsQueue",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "startDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "endDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/dash/ticketsReasons": {
   "get": {
    "tags": [
     "📊 Dashboard"
    ],
    "summary": "DashTicketsReasons",
    "operationId": "DashTicketsReasons",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "startDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "endDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/dash/ticketsStatus": {
   "get": {
    "tags": [
     "📊 Dashboard"
    ],
    "summary": "DashTicketsStatus",
    "operationId": "DashTicketsStatus",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "startDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "endDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/dash/ticketsUser": {
   "get": {
    "tags": [
     "📊 Dashboard"
    ],
    "summary": "DashTicketsUser",
    "operationId": "DashTicketsUser",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "startDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "endDate",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/bulkDispatch/incrementProgress/{dispatchId}": {
   "post": {
    "tags": [
     "📤 Envio em Lote"
    ],
    "summary": "BulkDispatchIncrementProgress",
    "operationId": "BulkDispatchIncrementProgress",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "dispatchId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "success": {
          "type": "boolean"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/bulkDispatch/list": {
   "get": {
    "tags": [
     "📤 Envio em Lote"
    ],
    "summary": "BulkDispatchList",
    "operationId": "BulkDispatchList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/bulkDispatch/show/{dispatchId}": {
   "get": {
    "tags": [
     "📤 Envio em Lote"
    ],
    "summary": "BulkDispatchShow",
    "operationId": "BulkDispatchShow",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "dispatchId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/bulkDispatch/update/{dispatchId}": {
   "post": {
    "tags": [
     "📤 Envio em Lote"
    ],
    "summary": "BulkDispatchUpdate",
    "operationId": "BulkDispatchUpdate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "dispatchId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "status": {
          "type": "string"
         },
         "cancellationReason": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/bulkFastMessage": {
   "post": {
    "tags": [
     "📤 Envio em Lote"
    ],
    "summary": "BulkFastMessage",
    "operationId": "BulkFastMessage",
    "description": "v2 crossChannelTicketCheck: quando a flag 'Verificar conversa em outros canais' do tenant esta ligada, destinatarios com ticket aberto ou pendente (em qualquer canal) NAO recebem o disparo. A resposta inclui skipped (contagem) e skippedNumbers (lista). Para ignorar a checagem nesta chamada, envie \"skipActiveTicketCheck\": false no body.",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "whatsappType": {
          "type": "string"
         },
         "arrayNumbers": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "message": {
          "type": "string"
         },
         "min": {
          "type": "integer"
         },
         "max": {
          "type": "integer"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/bulkIndividual": {
   "post": {
    "tags": [
     "📤 Envio em Lote"
    ],
    "summary": "BulkIndividual",
    "operationId": "BulkIndividual",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "number": {
          "type": "string"
         },
         "message": {
          "type": "string"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/bulkSendMessage": {
   "post": {
    "tags": [
     "📤 Envio em Lote"
    ],
    "summary": "BulkSendMessage",
    "operationId": "BulkSendMessage",
    "description": "v2 crossChannelTicketCheck: quando a flag 'Verificar conversa em outros canais' do tenant esta ligada, destinatarios com ticket aberto ou pendente (em qualquer canal) NAO recebem o disparo. A resposta inclui skipped (contagem) e skippedNumbers (lista). Para ignorar a checagem nesta chamada, envie \"skipActiveTicketCheck\": false no body.",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "arrayNumbers": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "message": {
          "type": "string"
         },
         "min": {
          "type": "integer"
         },
         "max": {
          "type": "integer"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/bulkSendMessageWithVariable": {
   "post": {
    "tags": [
     "📤 Envio em Lote"
    ],
    "summary": "BulkSendMessageWithVariable",
    "operationId": "BulkSendMessageWithVariable",
    "description": "v2 crossChannelTicketCheck: quando a flag 'Verificar conversa em outros canais' do tenant esta ligada, o destinatario com ticket aberto ou pendente (em qualquer canal) NAO recebe o disparo. A resposta inclui skipped (contagem) e skippedNumbers (lista). Para ignorar a checagem nesta chamada, envie \"skipActiveTicketCheck\": false no body.",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "message": {
          "type": "string"
         },
         "dataInput": {
          "type": "string"
         },
         "min": {
          "type": "integer"
         },
         "max": {
          "type": "integer"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendMessageByTicket": {
   "post": {
    "tags": [
     "🎯 Envio por Ticket"
    ],
    "summary": "SendMessageByTicket",
    "operationId": "SendMessageByTicketText",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer",
          "description": "ID do ticket (conversa) que recebera a mensagem"
         },
         "body": {
          "type": "string",
          "description": "Texto da mensagem (obrigatorio quando nao ha midia)"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave unica p/ idempotencia (recomendado)"
         },
         "reopen": {
          "type": "boolean",
          "description": "Reabrir ticket fechado antes de enviar (sem isto, ticket fechado retorna 409)"
         },
         "isClosed": {
          "type": "boolean",
          "description": "Fechar o ticket apos o envio"
         }
        },
        "required": [
         "body"
        ]
       }
      },
      "multipart/form-data": {
       "schema": {
        "type": "object",
        "properties": {
         "media": {
          "type": "string",
          "format": "binary"
         },
         "ticketId": {
          "type": "string"
         },
         "body": {
          "type": "string"
         },
         "externalKey": {
          "type": "string"
         },
         "reopen": {
          "type": "string"
         },
         "isClosed": {
          "type": "string"
         }
        },
        "required": [
         "media"
        ]
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    },
    "description": "Endpoint com mais de um formato de payload na coleção oficial: **SendMessageByTicketText**, **SendMessageByTicketFile**, **SendMessageByTicketMediaUrl**, **SendMessageByTicketBase64**. Veja os exemplos do corpo para escolher a variante."
   }
  },
  "/v2/api/external/{apiId}/gallery/delete/{id}": {
   "post": {
    "tags": [
     "📂 Galeria"
    ],
    "summary": "GalleryDelete",
    "operationId": "GalleryDelete",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/gallery/list": {
   "get": {
    "tags": [
     "📂 Galeria"
    ],
    "summary": "GalleryList",
    "operationId": "GalleryList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "pageNumber",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "fileType",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/gallery/upload": {
   "post": {
    "tags": [
     "📂 Galeria"
    ],
    "summary": "GalleryUpload",
    "operationId": "GalleryUpload",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "description": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/addParticipant": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupAddParticipant",
    "operationId": "GroupAddParticipant",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "groupIds": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "participants": {
          "type": "array",
          "items": {
           "type": "string"
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/changeDescription": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupChangeDescription",
    "operationId": "GroupChangeDescription",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "groupIds": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "description": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/changePicture": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupChangePicture",
    "operationId": "GroupChangePicture",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "groupIds": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "picture": {
          "type": "string",
          "description": "exemplo.com/foto.jpg\""
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/changeTitle": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupChangeTitle",
    "operationId": "GroupChangeTitle",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "groupIds": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "title": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/create": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupCreate",
    "operationId": "GroupCreate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "titles": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "number": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/demote": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupDemote",
    "operationId": "GroupDemote",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "groupIds": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "participants": {
          "type": "array",
          "items": {
           "type": "string"
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/getInviteLink": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupGetInviteLink",
    "operationId": "GroupGetInviteLink",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "groupId": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/list": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupList",
    "operationId": "GroupList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/listParticipants": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupListParticipants",
    "operationId": "GroupListParticipants",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "groupIds": {
          "type": "array",
          "items": {
           "type": "string"
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/promote": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupPromote",
    "operationId": "GroupPromote",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "groupIds": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "participants": {
          "type": "array",
          "items": {
           "type": "string"
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/removeParticipant": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupRemoveParticipant",
    "operationId": "GroupRemoveParticipant",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "groupIds": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "participants": {
          "type": "array",
          "items": {
           "type": "string"
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/setAdminsOnly": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupSetAdminsOnly",
    "operationId": "GroupSetAdminsOnly",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "groupIds": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "adminsOnly": {
          "type": "boolean"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/showById": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupShowById",
    "operationId": "GroupShowById",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "string"
         },
         "groupId": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listGroupInfo": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "ListGroupsInfo",
    "operationId": "ListGroupsInfo",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "listGroups": {
          "type": "boolean",
          "description": "lista todos os grupos"
         },
         "listParticipants": {
          "type": "boolean",
          "description": "lista todos os grupos e adiciona o array de participantes"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group/leave": {
   "post": {
    "tags": [
     "👥 Grupos WhatsApp"
    ],
    "summary": "GroupLeave",
    "operationId": "GroupLeave",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "whatsappId": {
          "type": "integer",
          "description": "ID da sessao (canal WABA oficial — outros tipos retornam ERR_LEAVE_GROUP_WABA_ONLY)"
         },
         "groupId": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/baileys/quickReply": {
   "post": {
    "tags": [
     "🟢 Interativo Baileys"
    ],
    "summary": "BaileysQuickReply",
    "operationId": "BaileysQuickReply",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "footer": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "buttons": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "display_text": {
             "type": "string"
            },
            "id": {
             "type": "string"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/baileys/singleSelect": {
   "post": {
    "tags": [
     "🟢 Interativo Baileys"
    ],
    "summary": "BaileysSingleSelect",
    "operationId": "BaileysSingleSelect",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "footer": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "list": {
          "type": "object",
          "properties": {
           "title": {
            "type": "string"
           },
           "sections": {
            "type": "array",
            "items": {
             "type": "object",
             "properties": {
              "title": {
               "type": "string"
              },
              "rows": {
               "type": "array",
               "items": {
                "type": "object",
                "properties": {
                 "id": {
                  "type": "string"
                 },
                 "title": {
                  "type": "string"
                 },
                 "description": {
                  "type": "string"
                 }
                }
               }
              }
             }
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/baileys/pixButton": {
   "post": {
    "tags": [
     "🟢 Interativo Baileys"
    ],
    "summary": "BaileysPixButton",
    "operationId": "BaileysPixButton",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "pixType": {
          "type": "string"
         },
         "pixKey": {
          "type": "string"
         },
         "pixName": {
          "type": "string"
         },
         "bodyText": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/baileys/ctaCopy": {
   "post": {
    "tags": [
     "🟢 Interativo Baileys"
    ],
    "summary": "BaileysCtaCopy",
    "operationId": "BaileysCtaCopy",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "footer": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "displayText": {
          "type": "string"
         },
         "copyCode": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/baileys/ctaUrl": {
   "post": {
    "tags": [
     "🟢 Interativo Baileys"
    ],
    "summary": "BaileysCtaUrl",
    "operationId": "BaileysCtaUrl",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "footer": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "displayText": {
          "type": "string"
         },
         "url": {
          "type": "string",
          "description": "exemplo.com\""
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/baileys/ctaCall": {
   "post": {
    "tags": [
     "🟢 Interativo Baileys"
    ],
    "summary": "BaileysCtaCall",
    "operationId": "BaileysCtaCall",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "footer": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "displayText": {
          "type": "string"
         },
         "phoneNumber": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/instagram/quickReply": {
   "post": {
    "tags": [
     "📷 Interativo Instagram"
    ],
    "summary": "Quick Reply",
    "operationId": "Quick_Reply",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "message": {
          "type": "string"
         },
         "quickReplies": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "content_type": {
             "type": "string"
            },
            "title": {
             "type": "string"
            },
            "payload": {
             "type": "string"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/instagram/buttonTemplate": {
   "post": {
    "tags": [
     "📷 Interativo Instagram"
    ],
    "summary": "Button Template",
    "operationId": "Button_Template",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "message": {
          "type": "string"
         },
         "buttons": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "type": {
             "type": "string"
            },
            "title": {
             "type": "string"
            },
            "payload": {
             "type": "string"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/instagram/genericTemplate": {
   "post": {
    "tags": [
     "📷 Interativo Instagram"
    ],
    "summary": "Generic Template (cards)",
    "operationId": "Generic_Template_cards",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "elements": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "title": {
             "type": "string"
            },
            "subtitle": {
             "type": "string"
            },
            "image_url": {
             "type": "string",
             "description": "...\","
            },
            "buttons": {
             "type": "array",
             "items": {
              "type": "object",
              "properties": {
               "type": {
                "type": "string"
               },
               "title": {
                "type": "string"
               },
               "payload": {
                "type": "string"
               }
              }
             }
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/instagram/iceBreakers": {
   "post": {
    "tags": [
     "📷 Interativo Instagram"
    ],
    "summary": "Ice Breakers (get/set/delete)",
    "operationId": "Ice_Breakers_get_set_delete",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "action": {
          "type": "string"
         },
         "iceBreakers": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "question": {
             "type": "string"
            },
            "payload": {
             "type": "string"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/instagram/persistentMenu": {
   "post": {
    "tags": [
     "📷 Interativo Instagram"
    ],
    "summary": "Persistent Menu (get/set/delete)",
    "operationId": "Persistent_Menu_get_set_delete",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "action": {
          "type": "string"
         },
         "composerInputDisabled": {
          "type": "boolean"
         },
         "menuItems": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "type": {
             "type": "string"
            },
            "title": {
             "type": "string"
            },
            "payload": {
             "type": "string"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/messenger/quickReply": {
   "post": {
    "tags": [
     "💬 Interativo Messenger"
    ],
    "summary": "Quick Reply",
    "operationId": "Quick_Reply_2",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "message": {
          "type": "string"
         },
         "quickReplies": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "content_type": {
             "type": "string"
            },
            "title": {
             "type": "string"
            },
            "payload": {
             "type": "string"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/messenger/buttonTemplate": {
   "post": {
    "tags": [
     "💬 Interativo Messenger"
    ],
    "summary": "Button Template",
    "operationId": "Button_Template_2",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "message": {
          "type": "string"
         },
         "buttons": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "type": {
             "type": "string"
            },
            "title": {
             "type": "string"
            },
            "payload": {
             "type": "string"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/messenger/genericTemplate": {
   "post": {
    "tags": [
     "💬 Interativo Messenger"
    ],
    "summary": "Generic Template (cards)",
    "operationId": "Generic_Template_cards_2",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "elements": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "title": {
             "type": "string"
            },
            "subtitle": {
             "type": "string"
            },
            "image_url": {
             "type": "string",
             "description": "...\","
            },
            "buttons": {
             "type": "array",
             "items": {
              "type": "object",
              "properties": {
               "type": {
                "type": "string"
               },
               "title": {
                "type": "string"
               },
               "payload": {
                "type": "string"
               }
              }
             }
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/messenger/mediaTemplate": {
   "post": {
    "tags": [
     "💬 Interativo Messenger"
    ],
    "summary": "Media Template (image/video + botões)",
    "operationId": "Media_Template_image_video_botões",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "mediaType": {
          "type": "string"
         },
         "mediaUrl": {
          "type": "string",
          "description": "exemplo.com/imagem.jpg\","
         },
         "buttons": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "type": {
             "type": "string"
            },
            "title": {
             "type": "string"
            },
            "payload": {
             "type": "string"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/messenger/receiptTemplate": {
   "post": {
    "tags": [
     "💬 Interativo Messenger"
    ],
    "summary": "Receipt Template (recibo)",
    "operationId": "Receipt_Template_recibo",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "receipt": {
          "type": "object",
          "properties": {
           "recipient_name": {
            "type": "string"
           },
           "order_number": {
            "type": "string"
           },
           "currency": {
            "type": "string"
           },
           "payment_method": {
            "type": "string"
           },
           "summary": {
            "type": "object",
            "properties": {
             "total_cost": {
              "type": "number"
             }
            }
           },
           "elements": {
            "type": "array",
            "items": {
             "type": "object",
             "properties": {
              "title": {
               "type": "string"
              },
              "price": {
               "type": "number"
              },
              "quantity": {
               "type": "integer"
              }
             }
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/messenger/messageTag": {
   "post": {
    "tags": [
     "💬 Interativo Messenger"
    ],
    "summary": "Message Tag (Marketing/Utility)",
    "operationId": "Message_Tag_Marketing_Utility",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "message": {
          "type": "string"
         },
         "tag": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/messenger/customerFeedback": {
   "post": {
    "tags": [
     "💬 Interativo Messenger"
    ],
    "summary": "Customer Feedback Template (NPS/CSAT)",
    "operationId": "Customer_Feedback_Template_NPS_CSAT",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "title": {
          "type": "string"
         },
         "subtitle": {
          "type": "string"
         },
         "business_privacy_url": {
          "type": "string",
          "description": "exemplo.com/privacidade\","
         },
         "expires_in_days": {
          "type": "integer"
         },
         "feedback_screens": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "questions": {
             "type": "array",
             "items": {
              "type": "object",
              "properties": {
               "id": {
                "type": "string"
               },
               "type": {
                "type": "string"
               },
               "title": {
                "type": "string"
               }
              }
             }
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/messenger/greeting": {
   "post": {
    "tags": [
     "💬 Interativo Messenger"
    ],
    "summary": "Greeting Text (get/set/delete)",
    "operationId": "Greeting_Text_get_set_delete",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "action": {
          "type": "string"
         },
         "greetings": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "locale": {
             "type": "string"
            },
            "text": {
             "type": "string"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/messenger/personas": {
   "post": {
    "tags": [
     "💬 Interativo Messenger"
    ],
    "summary": "Personas (list/create/delete)",
    "operationId": "Personas_list_create_delete",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "action": {
          "type": "string"
         },
         "name": {
          "type": "string"
         },
         "profilePictureUrl": {
          "type": "string",
          "description": "exemplo.com/ana.jpg\""
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/uazapi/button": {
   "post": {
    "tags": [
     "🟩 Interativo UazAPI"
    ],
    "summary": "UazapiButton",
    "operationId": "UazapiButton",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "text": {
          "type": "string"
         },
         "choices": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "footerText": {
          "type": "string"
         },
         "imageButton": {
          "type": "string",
          "description": "exemplo.com/img.png\""
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/uazapi/list": {
   "post": {
    "tags": [
     "🟩 Interativo UazAPI"
    ],
    "summary": "UazapiList",
    "operationId": "UazapiList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "text": {
          "type": "string"
         },
         "choices": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "listButton": {
          "type": "string"
         },
         "footerText": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/uazapi/poll": {
   "post": {
    "tags": [
     "🟩 Interativo UazAPI"
    ],
    "summary": "UazapiPoll",
    "operationId": "UazapiPoll",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "text": {
          "type": "string"
         },
         "choices": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "selectableCount": {
          "type": "integer"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/uazapi/carousel": {
   "post": {
    "tags": [
     "🟩 Interativo UazAPI"
    ],
    "summary": "UazapiCarousel",
    "operationId": "UazapiCarousel",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "text": {
          "type": "string"
         },
         "carousel": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "text": {
             "type": "string"
            },
            "image": {
             "type": "string",
             "description": "exemplo.com/a.png\","
            },
            "buttons": {
             "type": "array",
             "items": {
              "type": "object",
              "properties": {
               "text": {
                "type": "string"
               },
               "type": {
                "type": "string"
               }
              }
             }
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/uazapi/pixButton": {
   "post": {
    "tags": [
     "🟩 Interativo UazAPI"
    ],
    "summary": "UazapiPixButton",
    "operationId": "UazapiPixButton",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "pixType": {
          "type": "string"
         },
         "pixKey": {
          "type": "string"
         },
         "pixName": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/uazapi/locationButton": {
   "post": {
    "tags": [
     "🟩 Interativo UazAPI"
    ],
    "summary": "UazapiLocationButton",
    "operationId": "UazapiLocationButton",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "text": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/uazapi/requestPayment": {
   "post": {
    "tags": [
     "🟩 Interativo UazAPI"
    ],
    "summary": "UazapiRequestPayment",
    "operationId": "UazapiRequestPayment",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "amount": {
          "type": "number"
         },
         "title": {
          "type": "string"
         },
         "text": {
          "type": "string"
         },
         "footer": {
          "type": "string"
         },
         "itemName": {
          "type": "string"
         },
         "invoiceNumber": {
          "type": "string"
         },
         "pixType": {
          "type": "string"
         },
         "pixKey": {
          "type": "string"
         },
         "pixName": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendButtonWABA": {
   "post": {
    "tags": [
     "🔘 Interativo Waba"
    ],
    "summary": "SendButtonWABA",
    "operationId": "SendButtonWABA",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do destinatário (formato: 5511999999999)"
         },
         "message": {
          "type": "string",
          "description": "Mensagem que acompanhará os botões"
         },
         "button1": {
          "type": "string",
          "description": "Texto do primeiro botão"
         },
         "button2": {
          "type": "string",
          "description": "Texto do segundo botão"
         },
         "button3": {
          "type": "string",
          "description": "Texto do terceiro botão (opcional)"
         },
         "ticketId": {
          "type": "integer",
          "description": "ID do ticket"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendListWABA": {
   "post": {
    "tags": [
     "🔘 Interativo Waba"
    ],
    "summary": "SendListWABA",
    "operationId": "SendListWABA",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do destinatário (formato: 5511999999999)"
         },
         "header": {
          "type": "string",
          "description": "Cabeçalho da lista"
         },
         "body": {
          "type": "string",
          "description": "Corpo da lista"
         },
         "footer": {
          "type": "string",
          "description": "Rodapé da lista"
         },
         "button_text": {
          "type": "string",
          "description": "Texto do botão"
         },
         "sections": {
          "type": "array",
          "description": "Seções da lista (array de objetos)",
          "items": {
           "type": "object",
           "properties": {
            "title": {
             "type": "string"
            },
            "rows": {
             "type": "array",
             "items": {
              "type": "object",
              "properties": {
               "id": {
                "type": "string"
               },
               "title": {
                "type": "string"
               },
               "description": {
                "type": "string"
               }
              }
             }
            }
           }
          }
         },
         "ticketId": {
          "type": "integer",
          "description": "ID do ticket"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/zapo/quickReply": {
   "post": {
    "tags": [
     "🟢 Interativo Zapo"
    ],
    "summary": "ZapoQuickReply",
    "operationId": "ZapoQuickReply",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "footer": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "buttons": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "display_text": {
             "type": "string"
            },
            "id": {
             "type": "string"
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/zapo/singleSelect": {
   "post": {
    "tags": [
     "🟢 Interativo Zapo"
    ],
    "summary": "ZapoSingleSelect",
    "operationId": "ZapoSingleSelect",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "footer": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "list": {
          "type": "object",
          "properties": {
           "title": {
            "type": "string"
           },
           "sections": {
            "type": "array",
            "items": {
             "type": "object",
             "properties": {
              "title": {
               "type": "string"
              },
              "rows": {
               "type": "array",
               "items": {
                "type": "object",
                "properties": {
                 "id": {
                  "type": "string"
                 },
                 "title": {
                  "type": "string"
                 },
                 "description": {
                  "type": "string"
                 }
                }
               }
              }
             }
            }
           }
          }
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/zapo/pixButton": {
   "post": {
    "tags": [
     "🟢 Interativo Zapo"
    ],
    "summary": "ZapoPixButton",
    "operationId": "ZapoPixButton",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "pixType": {
          "type": "string"
         },
         "pixKey": {
          "type": "string"
         },
         "pixName": {
          "type": "string"
         },
         "bodyText": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/zapo/ctaCopy": {
   "post": {
    "tags": [
     "🟢 Interativo Zapo"
    ],
    "summary": "ZapoCtaCopy",
    "operationId": "ZapoCtaCopy",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "footer": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "displayText": {
          "type": "string"
         },
         "copyCode": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/zapo/ctaUrl": {
   "post": {
    "tags": [
     "🟢 Interativo Zapo"
    ],
    "summary": "ZapoCtaUrl",
    "operationId": "ZapoCtaUrl",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "footer": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "displayText": {
          "type": "string"
         },
         "url": {
          "type": "string",
          "description": "exemplo.com\""
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/zapo/ctaCall": {
   "post": {
    "tags": [
     "🟢 Interativo Zapo"
    ],
    "summary": "ZapoCtaCall",
    "operationId": "ZapoCtaCall",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "body": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "footer": {
          "type": "object",
          "properties": {
           "text": {
            "type": "string"
           }
          }
         },
         "displayText": {
          "type": "string"
         },
         "phoneNumber": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendInteractive/zapo/poll": {
   "post": {
    "tags": [
     "🟢 Interativo Zapo"
    ],
    "summary": "ZapoPoll",
    "operationId": "ZapoPoll",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "name": {
          "type": "string"
         },
         "options": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "selectableCount": {
          "type": "integer"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/createKanban": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "CreateKanban",
    "operationId": "CreateKanban",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/createQueueData": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "CreateQueueData",
    "operationId": "CreateQueueData",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "queue": {
          "type": "string"
         },
         "isActive": {
          "type": "boolean"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/createReason": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "CreateReason",
    "operationId": "CreateReason",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/createTag": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "CreateTag",
    "operationId": "CreateTag",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "tag": {
          "type": "string"
         },
         "color": {
          "type": "string"
         },
         "isActive": {
          "type": "boolean"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/deleteKanban/{id}": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "DeleteKanban",
    "operationId": "DeleteKanban",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/deleteQueueData/{id}": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "DeleteQueueData",
    "operationId": "DeleteQueueData",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/deleteReason/{id}": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "DeleteReason",
    "operationId": "DeleteReason",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/deleteTag/{id}": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "DeleteTag",
    "operationId": "DeleteTag",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listKanban": {
   "get": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "ListKanban",
    "operationId": "ListKanban",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listReasons": {
   "get": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "ListReasons",
    "operationId": "ListReasons",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateKanban/{id}": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "UpdateKanban",
    "operationId": "UpdateKanban",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateQueueData/{id}": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "UpdateQueueData",
    "operationId": "UpdateQueueData",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "queue": {
          "type": "string"
         },
         "isActive": {
          "type": "boolean"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateReason/{id}": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "UpdateReason",
    "operationId": "UpdateReason",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateTagData/{id}": {
   "post": {
    "tags": [
     "🏷️ Kanban / Tags / Motivos / Filas"
    ],
    "summary": "UpdateTagData",
    "operationId": "UpdateTagData",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "tag": {
          "type": "string"
         },
         "color": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listAutoReplies": {
   "get": {
    "tags": [
     "🔍 Listagens Utilitárias"
    ],
    "summary": "ListAutoReplies",
    "operationId": "ListAutoReplies",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listChatFlows": {
   "get": {
    "tags": [
     "🔍 Listagens Utilitárias"
    ],
    "summary": "ListChatFlows",
    "operationId": "ListChatFlows",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listFastReplies": {
   "get": {
    "tags": [
     "🔍 Listagens Utilitárias"
    ],
    "summary": "ListFastReplies",
    "operationId": "ListFastReplies",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/getAllSessionApis": {
   "get": {
    "tags": [
     "📊 Listagens"
    ],
    "summary": "GetAllSessionApis",
    "operationId": "GetAllSessionApis",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listChannels": {
   "get": {
    "tags": [
     "📊 Listagens"
    ],
    "summary": "ListChannels",
    "operationId": "ListChannels",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listContacts": {
   "get": {
    "tags": [
     "📊 Listagens"
    ],
    "summary": "ListContacts",
    "operationId": "ListContacts",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "pageNumber",
      "in": "query",
      "required": false,
      "description": "Número da página",
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listOpportunities": {
   "get": {
    "tags": [
     "📊 Listagens"
    ],
    "summary": "ListOpportunities",
    "operationId": "ListOpportunities",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "description": "Número da página",
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "description": "Limite de resultados por página",
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listQueues": {
   "get": {
    "tags": [
     "📊 Listagens"
    ],
    "summary": "ListQueues",
    "operationId": "ListQueues",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listSessions": {
   "get": {
    "tags": [
     "📊 Listagens"
    ],
    "summary": "ListSessions",
    "operationId": "ListSessions",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listTags": {
   "get": {
    "tags": [
     "📊 Listagens"
    ],
    "summary": "ListTags",
    "operationId": "ListTags",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "isActive",
      "in": "query",
      "required": false,
      "description": "Filtrar por tags ativas (true/false)",
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listTickets": {
   "get": {
    "tags": [
     "📊 Listagens"
    ],
    "summary": "ListTickets",
    "operationId": "ListTickets",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "pageNumber",
      "in": "query",
      "required": false,
      "description": "Número da página",
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "status",
      "in": "query",
      "required": false,
      "description": "Status do ticket (open, pending, closed)",
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/callLog/list": {
   "get": {
    "tags": [
     "📞 Logs de Chamadas"
    ],
    "summary": "CallLogList",
    "operationId": "CallLogList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/callLog/show/{id}": {
   "get": {
    "tags": [
     "📞 Logs de Chamadas"
    ],
    "summary": "CallLogShow",
    "operationId": "CallLogShow",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/wavoip/calls": {
   "get": {
    "tags": [
     "📞 Logs de Chamadas"
    ],
    "summary": "WavoipCallList",
    "operationId": "WavoipCallList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/wavoip/calls/{id}": {
   "get": {
    "tags": [
     "📞 Logs de Chamadas"
    ],
    "summary": "WavoipCallShow",
    "operationId": "WavoipCallShow",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/searchMessages": {
   "get": {
    "tags": [
     "📨 Mensagens Avançadas"
    ],
    "summary": "SearchMessages",
    "operationId": "SearchMessages",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "ticketId",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "searchParam",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendLocation": {
   "post": {
    "tags": [
     "📨 Mensagens Avançadas"
    ],
    "summary": "SendLocation",
    "operationId": "SendLocation",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string"
         },
         "latitude": {
          "type": "number"
         },
         "longitude": {
          "type": "number"
         },
         "name": {
          "type": "string"
         },
         "address": {
          "type": "string"
         },
         "ticketId": {
          "type": "string",
          "nullable": true
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendVcard": {
   "post": {
    "tags": [
     "📨 Mensagens Avançadas"
    ],
    "summary": "SendVcard",
    "operationId": "SendVcard",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string"
         },
         "contact": {
          "type": "array",
          "items": {
           "type": "object",
           "properties": {
            "fullName": {
             "type": "string"
            },
            "wuid": {
             "type": "string"
            },
            "phoneNumber": {
             "type": "string"
            }
           }
          }
         },
         "ticketId": {
          "type": "string",
          "nullable": true
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/group": {
   "post": {
    "tags": [
     "👥 Mensagens em Grupo"
    ],
    "summary": "SendGroupMessageAPI",
    "operationId": "SendGroupMessageAPIFile",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "multipart/form-data": {
       "schema": {
        "type": "object",
        "properties": {
         "media": {
          "type": "string",
          "format": "binary",
          "description": "Arquivo(s) a ser enviado (imagem, documento, etc)"
         },
         "body": {
          "type": "string",
          "description": "Texto da mensagem que acompanhará o arquivo"
         },
         "number": {
          "type": "string",
          "description": "ID do grupo do WhatsApp"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         },
         "isClosed": {
          "type": "string",
          "description": "Define se o ticket será fechado após o envio"
         }
        },
        "required": [
         "media"
        ]
       }
      },
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "body": {
          "type": "string",
          "description": "Texto da mensagem que será enviada"
         },
         "number": {
          "type": "string",
          "description": "ID do grupo do WhatsApp"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         },
         "isClosed": {
          "type": "boolean",
          "description": "Define se o ticket será fechado após o envio"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    },
    "description": "Endpoint com mais de um formato de payload na coleção oficial: **SendGroupMessageAPIFile**, **SendGroupMessageAPIText**. Veja os exemplos do corpo para escolher a variante."
   }
  },
  "/v2/api/external/{apiId}/groupMediaUrl": {
   "post": {
    "tags": [
     "👥 Mensagens em Grupo"
    ],
    "summary": "SendMessageAPIFileURLGroup",
    "operationId": "SendMessageAPIFileURLGroup",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "mediaUrl": {
          "type": "string",
          "description": "URL do arquivo que será enviado (imagem, documento, etc)"
         },
         "body": {
          "type": "string",
          "description": "Texto da mensagem que acompanhará o arquivo"
         },
         "number": {
          "type": "string",
          "description": "ID do grupo do WhatsApp"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         },
         "isClosed": {
          "type": "boolean",
          "description": "Define se o ticket será fechado após o envio"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/getMessageByMessageId": {
   "get": {
    "tags": [
     "📨 Mensagens"
    ],
    "summary": "GetMessageByMessageId",
    "operationId": "GetMessageByMessageId",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "messageId",
      "in": "query",
      "required": false,
      "description": "ID da mensagem retornado pela Meta (ex: wamid.xxxxx)",
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}": {
   "post": {
    "tags": [
     "📨 Mensagens"
    ],
    "summary": "SendMessageAPI",
    "operationId": "SendMessageAPIFile",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "multipart/form-data": {
       "schema": {
        "type": "object",
        "properties": {
         "media": {
          "type": "string",
          "format": "binary",
          "description": "Arquivo a ser enviado (imagem, documento, etc)"
         },
         "body": {
          "type": "string",
          "description": "Texto da mensagem que acompanhará o arquivo"
         },
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do destinatário (formato: 5511999999999)"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         },
         "isClosed": {
          "type": "string",
          "description": "Define se o ticket será fechado após o envio"
         },
         "validateNumber": {
          "type": "string",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR (recomendado p/ WABA)."
         }
        },
        "required": [
         "media"
        ]
       }
      },
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "body": {
          "type": "string",
          "description": "Texto da mensagem que será enviada"
         },
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do destinatário (formato: 5511999999999)"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         },
         "isClosed": {
          "type": "boolean",
          "description": "Define se o ticket será fechado após o envio"
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    },
    "description": "Endpoint com mais de um formato de payload na coleção oficial: **SendMessageAPIFile**, **SendMessageAPIText**. Veja os exemplos do corpo para escolher a variante."
   }
  },
  "/v2/api/external/{apiId}/url": {
   "post": {
    "tags": [
     "📨 Mensagens"
    ],
    "summary": "SendMessageAPIFileURL",
    "operationId": "SendMessageAPIFileURL",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "mediaUrl": {
          "type": "string",
          "description": "URL do arquivo que será enviado (imagem, documento, etc)"
         },
         "body": {
          "type": "string",
          "description": "Texto da mensagem que acompanhará o arquivo"
         },
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do destinatário (formato: 5511999999999)"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         },
         "isClosed": {
          "type": "boolean",
          "description": "Define se o ticket será fechado após o envio"
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/base64": {
   "post": {
    "tags": [
     "📨 Mensagens"
    ],
    "summary": "SendMessageAPITextBase64",
    "operationId": "SendMessageAPITextBase64",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "body": {
          "type": "string",
          "description": "Texto da mensagem que acompanhará o arquivo"
         },
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do destinatário (formato: 5511999999999)"
         },
         "base64Data": {
          "type": "string",
          "description": "Arquivo codificado em base64"
         },
         "mimeType": {
          "type": "string",
          "description": "Tipo MIME do arquivo (ex: image/png, application/pdf)"
         },
         "fileName": {
          "type": "string",
          "description": "Nome do arquivo que será exibido"
         },
         "isClosed": {
          "type": "boolean",
          "description": "Define se o ticket será fechado após o envio"
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/voice": {
   "post": {
    "tags": [
     "📨 Mensagens"
    ],
    "summary": "SendMessageAPIVoice",
    "operationId": "SendMessageAPIVoice",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "audio": {
          "type": "string",
          "description": "URL do arquivo de áudio que será enviado"
         },
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do destinatário (formato: 5511999999999)"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         },
         "isClosed": {
          "type": "boolean",
          "description": "Define se o ticket será fechado após o envio"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/params/": {
   "get": {
    "tags": [
     "📨 Mensagens"
    ],
    "summary": "SendMessageParams",
    "operationId": "SendMessageParams",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "body",
      "in": "query",
      "required": false,
      "description": "Texto da mensagem que será enviada",
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "number",
      "in": "query",
      "required": false,
      "description": "Número do WhatsApp do destinatário (formato: 5511999999999)",
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "externalKey",
      "in": "query",
      "required": false,
      "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)",
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "bearertoken",
      "in": "query",
      "required": false,
      "description": "Token de autenticação",
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "isClosed",
      "in": "query",
      "required": false,
      "description": "Define se o ticket será fechado após o envio",
      "schema": {
       "type": "string"
      }
     },
     {
      "name": "validateNumber",
      "in": "query",
      "required": false,
      "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR (recomendado p/ WABA).",
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/createOpportunity": {
   "post": {
    "tags": [
     "💼 Oportunidades"
    ],
    "summary": "CreateOpportunity",
    "operationId": "CreateOpportunity",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Campos do contato"
         },
         "contactName": {
          "type": "string",
          "description": "nome do contato"
         },
         "email": {
          "type": "string",
          "description": "email do contato"
         },
         "name": {
          "type": "string",
          "description": "Campos da oportunidade"
         },
         "value": {
          "type": "number",
          "description": "valor da oportunidade"
         },
         "status": {
          "type": "string",
          "description": "pode ser: \"open\", \"win\", \"lose\""
         },
         "pipelineId": {
          "type": "integer",
          "description": "ID do pipeline"
         },
         "stageId": {
          "type": "integer",
          "description": "ID do estágio"
         },
         "responsibleId": {
          "type": "integer",
          "description": "ID do responsável"
         },
         "closingForecast": {
          "type": "string",
          "description": "data esperada de fechamento"
         },
         "description": {
          "type": "string",
          "description": "descrição da oportunidade"
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/deleteOpportunity": {
   "post": {
    "tags": [
     "💼 Oportunidades"
    ],
    "summary": "DeleteOpportunity",
    "operationId": "DeleteOpportunity",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "opportunityId": {
          "type": "integer",
          "description": "Campos da oportunidade"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateOpportunity": {
   "post": {
    "tags": [
     "💼 Oportunidades"
    ],
    "summary": "UpdateOpportunity",
    "operationId": "UpdateOpportunity",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "opportunityId": {
          "type": "integer",
          "description": "Campos da oportunidade"
         },
         "name": {
          "type": "string",
          "description": "nome da oportunidade"
         },
         "value": {
          "type": "number",
          "description": "valor da oportunidade"
         },
         "status": {
          "type": "string",
          "description": "pode ser: \"open\", \"win\", \"lose\""
         },
         "pipelineId": {
          "type": "integer",
          "description": "ID do pipeline"
         },
         "stageId": {
          "type": "integer",
          "description": "ID do estágio"
         },
         "responsibleId": {
          "type": "integer",
          "description": "ID do responsável"
         },
         "closingForecast": {
          "type": "string",
          "description": "data esperada de fechamento"
         },
         "description": {
          "type": "string",
          "description": "descrição da oportunidade"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/template": {
   "post": {
    "tags": [
     "📋 Templates WABA"
    ],
    "summary": "SendTemplateWaba",
    "operationId": "SendTemplateWaba",
    "description": "A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { \"success\": true, \"data\": { \"message\": \"Message sent successfully\", \"ticketId\": 123 } }",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do destinatário (formato: 5511999999999)"
         },
         "isClosed": {
          "type": "boolean",
          "description": "Define se o ticket será fechado após o envio"
         },
         "templateData": {
          "type": "object",
          "description": "Dados do template do WhatsApp Business API",
          "properties": {
           "messaging_product": {
            "type": "string",
            "description": "Produto de mensageria (sempre whatsapp)"
           },
           "to": {
            "type": "string",
            "description": "Número do destinatário (mesmo do campo number)"
           },
           "type": {
            "type": "string",
            "description": "Tipo da mensagem (sempre template)"
           },
           "template": {
            "type": "object",
            "description": "Configurações do template",
            "properties": {
             "name": {
              "type": "string",
              "description": "Nome do template aprovado"
             },
             "language": {
              "type": "object",
              "description": "Configurações de idioma",
              "properties": {
               "code": {
                "type": "string",
                "description": "Código do idioma (ex: en_US, pt_BR)"
               }
              }
             }
            }
           }
          }
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/templateBody": {
   "post": {
    "tags": [
     "📋 Templates WABA"
    ],
    "summary": "SendTemplateWabaBody",
    "operationId": "SendTemplateWabaBody",
    "description": "A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { \"success\": true, \"data\": { \"message\": \"Message sent successfully\", \"ticketId\": 123 } }",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do destinatário (formato: 5511999999999)"
         },
         "isClosed": {
          "type": "boolean",
          "description": "Define se o ticket será fechado após o envio"
         },
         "templateData": {
          "type": "object",
          "description": "Dados do template do WhatsApp Business API",
          "properties": {
           "messaging_product": {
            "type": "string",
            "description": "Produto de mensageria (sempre whatsapp)"
           },
           "to": {
            "type": "string",
            "description": "Número do destinatário (mesmo do campo number)"
           },
           "type": {
            "type": "string",
            "description": "Tipo da mensagem (sempre template)"
           },
           "template": {
            "type": "object",
            "description": "Configurações do template",
            "properties": {
             "name": {
              "type": "string",
              "description": "Nome do template aprovado"
             },
             "language": {
              "type": "object",
              "description": "Configurações de idioma",
              "properties": {
               "code": {
                "type": "string",
                "description": "Código do idioma (ex: en_US, pt_BR)"
               }
              }
             }
            }
           }
          }
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/templateMarketingBody": {
   "post": {
    "tags": [
     "📋 Templates WABA"
    ],
    "summary": "SendTemplateWabaMarketing",
    "operationId": "SendTemplateWabaMarketing",
    "description": "A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { \"success\": true, \"data\": { \"message\": \"Message sent successfully\", \"ticketId\": 123 } }",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do destinatário (formato: 5511999999999)"
         },
         "isClosed": {
          "type": "boolean",
          "description": "Define se o ticket será fechado após o envio"
         },
         "templateData": {
          "type": "object",
          "description": "Dados do template do WhatsApp Business API",
          "properties": {
           "messaging_product": {
            "type": "string",
            "description": "Produto de mensageria (sempre whatsapp)"
           },
           "to": {
            "type": "string",
            "description": "Número do destinatário (mesmo do campo number)"
           },
           "type": {
            "type": "string",
            "description": "Tipo da mensagem (sempre template)"
           },
           "template": {
            "type": "object",
            "description": "Configurações do template",
            "properties": {
             "name": {
              "type": "string",
              "description": "Nome do template aprovado"
             },
             "language": {
              "type": "object",
              "description": "Configurações de idioma",
              "properties": {
               "code": {
                "type": "string",
                "description": "Código do idioma (ex: en_US, pt_BR)"
               }
              }
             }
            }
           }
          }
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/ticket/pause/end/{ticketId}": {
   "post": {
    "tags": [
     "🎫 Tickets - Extras"
    ],
    "summary": "EndTicketPause",
    "operationId": "EndTicketPause",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "ticketId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listTicketEvaluations": {
   "get": {
    "tags": [
     "🎫 Tickets - Extras"
    ],
    "summary": "ListTicketEvaluations",
    "operationId": "ListTicketEvaluations",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "page",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendEvaluation": {
   "post": {
    "tags": [
     "🎫 Tickets - Extras"
    ],
    "summary": "SendEvaluation",
    "operationId": "SendEvaluation",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer"
         },
         "body": {
          "type": "string"
         },
         "externalKey": {
          "type": "string"
         },
         "force": {
          "type": "boolean"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/ticket/pause/logs/{ticketId}": {
   "get": {
    "tags": [
     "🎫 Tickets - Extras"
    ],
    "summary": "ListTicketPauseLogs",
    "operationId": "ListTicketPauseLogs",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "ticketId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/showTicketById": {
   "post": {
    "tags": [
     "🎫 Tickets - Extras"
    ],
    "summary": "ShowTicketById",
    "operationId": "ShowTicketById",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/ticket/pause/start/{ticketId}": {
   "post": {
    "tags": [
     "🎫 Tickets - Extras"
    ],
    "summary": "StartTicketPause",
    "operationId": "StartTicketPause",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "ticketId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "pauseReason": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/ticket/share": {
   "post": {
    "tags": [
     "🎫 Tickets - Extras"
    ],
    "summary": "TicketShareCreate",
    "operationId": "TicketShareCreate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "string"
         },
         "inviteUrl": {
          "type": "string",
          "description": "app.example.com/shared\""
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/ticket/share/{ticketId}": {
   "get": {
    "tags": [
     "🎫 Tickets - Extras"
    ],
    "summary": "TicketShareShow",
    "operationId": "TicketShareShow",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "ticketId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/addTag": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "AddTag",
    "operationId": "AddTag",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer",
          "description": "ID do ticket que receberá a tag"
         },
         "tagId": {
          "type": "integer",
          "description": "ID da tag que será adicionada (pode usar tagId ou tagIds)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/addTagContact": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "AddTagContact",
    "operationId": "AddTagContact",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "contactId": {
          "type": "integer",
          "description": "Atribui tag(s) ao CONTATO sem precisar de ticket. Informe contactId OU number para localizar o contato."
         },
         "tagId": {
          "type": "integer",
          "description": "OU localize pelo numero (aceita variantes BR) \"number\": \"5511999999999\", ID da tag a adicionar (use tagId ou tagIds). Mantem as tags existentes."
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/removeTagContact": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "RemoveTagContact",
    "operationId": "RemoveTagContact",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Remove tag(s) do CONTATO sem precisar de ticket. Informe contactId OU number para localizar o contato."
         },
         "tagIds": {
          "type": "array",
          "description": "OU localize pelo ID do contato \"contactId\": 123, ID(s) da tag a remover (use tagId ou tagIds)",
          "items": {
           "type": "integer"
          }
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/createNotes": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "CreateNotes",
    "operationId": "CreateNotes",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "notes": {
          "type": "string",
          "description": "Texto da nota que será adicionada ao ticket"
         },
         "ticketId": {
          "type": "integer",
          "description": "ID do ticket que receberá a nota"
         },
         "userId": {
          "type": "integer",
          "description": "ID do usuário que está criando a nota"
         },
         "idFront": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/createTicket": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "CreateTicket",
    "operationId": "CreateTicket",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "body": {
          "type": "string",
          "description": "Texto da mensagem inicial do ticket"
         },
         "number": {
          "type": "string",
          "description": "Para canais WhatsApp/outros: número do contato (formato: 5511999999999)"
         },
         "externalKey": {
          "type": "string",
          "description": "Para canal WEBMAIL: email do contato (obrigatório quando channelId for de um canal webmail) \"email\": \"contato@exemplo.com\", ID do canal (opcional). Para webmail: envie o id do canal webmail (não vem do APIConfig) \"channelId\": 17841443941506797, Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         },
         "userId": {
          "type": "integer",
          "description": "ID do usuário que está criando o ticket"
         },
         "status": {
          "type": "string",
          "description": "Status inicial do ticket (pending ou open)"
         },
         "validateNumber": {
          "type": "boolean",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"
         }
        }
       }
      },
      "multipart/form-data": {
       "schema": {
        "type": "object",
        "properties": {
         "media": {
          "type": "string",
          "format": "binary",
          "description": "Arquivo a ser enviado (imagem, documento, etc)"
         },
         "body": {
          "type": "string",
          "description": "Texto da mensagem inicial do ticket"
         },
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do contato (formato: 5511999999999)"
         },
         "externalKey": {
          "type": "string",
          "description": "Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"
         },
         "userId": {
          "type": "string",
          "description": "ID do usuário que está criando o ticket"
         },
         "status": {
          "type": "string",
          "description": "Status inicial do ticket (pending, open, closed)"
         },
         "kanbanId": {
          "type": "string",
          "description": "ID do kanban (opcional)"
         },
         "chatFlowId": {
          "type": "string",
          "description": "ID do fluxo de chat (opcional)"
         },
         "queueId": {
          "type": "string",
          "description": "ID da fila (opcional)"
         },
         "channelId": {
          "type": "string",
          "description": "ID do canal (opcional). Para webmail: envie o id do canal webmail"
         },
         "email": {
          "type": "string",
          "description": "Para canal webmail: email do contato (obrigatório quando usar channelId de webmail)"
         },
         "name": {
          "type": "string",
          "description": "Para webmail: nome do contato (opcional)"
         },
         "validateNumber": {
          "type": "string",
          "description": "Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR (recomendado p/ WABA)."
         }
        },
        "required": [
         "media"
        ]
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    },
    "description": "Endpoint com mais de um formato de payload na coleção oficial: **CreateTicket**, **CreateTicketFile**, **CreateTicketWebmail**. Veja os exemplos do corpo para escolher a variante."
   }
  },
  "/v2/api/external/{apiId}/listNotes": {
   "get": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "ListNotes",
    "operationId": "ListNotes",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "ticketId",
      "in": "query",
      "required": false,
      "description": "ID do ticket",
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/removeTag": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "RemoveTag",
    "operationId": "RemoveTag",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer",
          "description": "ID do ticket que terá a tag removida"
         },
         "tagId": {
          "type": "integer",
          "description": "ID da tag que será removida (pode usar tagId ou tagIds)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/sendPresence": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "SendPresence",
    "operationId": "SendPresence",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer",
          "description": "ID do ticket associado"
         },
         "state": {
          "type": "string",
          "description": "Estado de presence: \"typing\" (digitando), \"paused\" (pausado) ou \"recording\" (gravando)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updatequeue": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "SetQueue",
    "operationId": "SetQueue",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer",
          "description": "ID do ticket que terá a fila alterada"
         },
         "queueId": {
          "type": "integer",
          "description": "ID da fila que será atribuída ao ticket"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updatetag": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "SetTag",
    "operationId": "SetTag",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer",
          "description": "ID do ticket que terá a tag alterada"
         },
         "tag": {
          "type": "integer",
          "description": "ID da tag que será atribuída ao ticket"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateticketinfo": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "SetTicketInfo",
    "operationId": "SetTicketInfo",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer",
          "description": "ID do ticket que será atualizado"
         },
         "userId": {
          "type": "integer",
          "description": "ID do usuário que está fazendo a atualização"
         },
         "status": {
          "type": "string",
          "description": "Status do ticket (pending, open, closed)"
         },
         "queueId": {
          "type": "string",
          "description": "ID da fila do ticket (null para remover)",
          "nullable": true
         },
         "typebotStatus": {
          "type": "boolean",
          "description": "Status de integração com Typebot"
         },
         "chatgptStatus": {
          "type": "boolean",
          "description": "Status de integração com ChatGPT"
         },
         "dialogflowStatus": {
          "type": "boolean",
          "description": "Status de integração com Dialogflow"
         },
         "difyStatus": {
          "type": "boolean",
          "description": "Status de integração com Dify"
         },
         "n8nStatus": {
          "type": "boolean",
          "description": "Status de integração com N8N"
         },
         "chatFlowId": {
          "type": "string",
          "description": "ID do fluxo de chat (null para remover)",
          "nullable": true
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/showAllMessages": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "ShowAllMessages",
    "operationId": "ShowAllMessages",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticket": {
          "type": "string",
          "description": "ID do ticket que terá as mensagens listadas"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/showallticket": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "ShowAllTicketInformation",
    "operationId": "ShowAllTicketInformation",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do contato (formato: 5511999999999)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/showticket": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "ShowTicketInformation",
    "operationId": "ShowTicketInformation",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do contato (formato: 5511999999999)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/showticketchatbot": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "ShowTicketInformationChatBot",
    "operationId": "ShowTicketInformationChatBot",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "number": {
          "type": "string",
          "description": "Número do WhatsApp do contato (formato: 5511999999999)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateNote": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "UpdateNote",
    "operationId": "UpdateNote",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "noteId": {
          "type": "integer",
          "description": "ID da nota que será atualizada"
         },
         "notes": {
          "type": "string",
          "description": "Novo conteúdo da nota"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateTicketChannel": {
   "post": {
    "tags": [
     "🎫 Tickets"
    ],
    "summary": "UpdateTicketChannel",
    "operationId": "UpdateTicketChannel",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "ticketId": {
          "type": "integer",
          "description": "ID do ticket que terá o canal alterado"
         },
         "whatsappId": {
          "type": "integer",
          "description": "ID do novo canal (WhatsApp)"
         },
         "channel": {
          "type": "string",
          "description": "Tipo do canal (whatsapp, baileys, zapo, waba, etc)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/todo/create": {
   "post": {
    "tags": [
     "✅ To-Do List"
    ],
    "summary": "TodoCreate",
    "operationId": "TodoCreate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "name": {
          "type": "string"
         },
         "description": {
          "type": "string"
         },
         "owner": {
          "type": "string"
         },
         "ownerId": {
          "type": "string"
         },
         "status": {
          "type": "string"
         },
         "priority": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/todo/delete/{id}": {
   "post": {
    "tags": [
     "✅ To-Do List"
    ],
    "summary": "TodoDelete",
    "operationId": "TodoDelete",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object"
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/todo/list": {
   "get": {
    "tags": [
     "✅ To-Do List"
    ],
    "summary": "TodoList",
    "operationId": "TodoList",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/todo/logs/{userId}": {
   "get": {
    "tags": [
     "✅ To-Do List"
    ],
    "summary": "TodoLogs",
    "operationId": "TodoLogs",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "userId",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/todo/update/{id}": {
   "post": {
    "tags": [
     "✅ To-Do List"
    ],
    "summary": "TodoUpdate",
    "operationId": "TodoUpdate",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "description": "Identificador do recurso na rota."
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "status": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/createUser": {
   "post": {
    "tags": [
     "👥 Usuários"
    ],
    "summary": "CreateUser",
    "operationId": "CreateUser",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "email": {
          "type": "string",
          "description": "Email do usuário"
         },
         "password": {
          "type": "string",
          "description": "Senha do usuário (mínimo 8 caracteres)"
         },
         "name": {
          "type": "string",
          "description": "Nome completo do usuário"
         },
         "profile": {
          "type": "string",
          "description": "Perfil do usuário (admin, user)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/getUserStatus": {
   "get": {
    "tags": [
     "👥 Usuários"
    ],
    "summary": "GetUserStatus",
    "operationId": "GetUserStatus",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "userId",
      "in": "query",
      "required": false,
      "description": "ID do usuário",
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/listUsers": {
   "get": {
    "tags": [
     "👥 Usuários"
    ],
    "summary": "ListUsers",
    "operationId": "ListUsers",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     },
     {
      "name": "pageNumber",
      "in": "query",
      "required": false,
      "description": "Número da página",
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  },
  "/v2/api/external/{apiId}/updateUser": {
   "post": {
    "tags": [
     "👥 Usuários"
    ],
    "summary": "UpdateUser",
    "operationId": "UpdateUser",
    "parameters": [
     {
      "$ref": "#/components/parameters/ApiId"
     }
    ],
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "properties": {
         "userId": {
          "type": "integer",
          "description": "ID do usuário que será atualizado"
         },
         "name": {
          "type": "string",
          "description": "Nome completo do usuário (opcional)"
         },
         "email": {
          "type": "string",
          "description": "Email do usuário (opcional)"
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "Requisição processada com sucesso.",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "400": {
      "description": "Parâmetros inválidos ou faltando."
     },
     "401": {
      "description": "Token ausente, inválido ou sem permissão."
     }
    }
   }
  }
 },
 "x_categories": {
  "📅 Agendamentos e Lembretes": {
   "page": "agendamentos-e-lembretes",
   "count": 10
  },
  "📣 Campanhas": {
   "page": "campanhas",
   "count": 15
  },
  "🔌 Canais e Sessões": {
   "page": "canais-e-sessoes",
   "count": 7
  },
  "👤 Contatos": {
   "page": "contatos",
   "count": 12
  },
  "🏗️ CRM - Pipeline": {
   "page": "crm-pipeline",
   "count": 10
  },
  "📊 Dashboard": {
   "page": "dashboard",
   "count": 10
  },
  "📤 Envio em Lote": {
   "page": "envio-em-lote",
   "count": 8
  },
  "🎯 Envio por Ticket": {
   "page": "envio-por-ticket",
   "count": 1
  },
  "📂 Galeria": {
   "page": "galeria",
   "count": 3
  },
  "👥 Grupos WhatsApp": {
   "page": "grupos-whats-app",
   "count": 15
  },
  "🟢 Interativo Baileys": {
   "page": "interativo-baileys",
   "count": 6
  },
  "📷 Interativo Instagram": {
   "page": "interativo-instagram",
   "count": 5
  },
  "💬 Interativo Messenger": {
   "page": "interativo-messenger",
   "count": 9
  },
  "🟩 Interativo UazAPI": {
   "page": "interativo-uaz-api",
   "count": 7
  },
  "🔘 Interativo Waba": {
   "page": "interativo-waba",
   "count": 2
  },
  "🟢 Interativo Zapo": {
   "page": "interativo-zapo",
   "count": 7
  },
  "🏷️ Kanban / Tags / Motivos / Filas": {
   "page": "kanban-tags-motivos-filas",
   "count": 14
  },
  "🔍 Listagens Utilitárias": {
   "page": "listagens-utilitarias",
   "count": 3
  },
  "📊 Listagens": {
   "page": "listagens",
   "count": 8
  },
  "📞 Logs de Chamadas": {
   "page": "logs-de-chamadas",
   "count": 4
  },
  "📨 Mensagens Avançadas": {
   "page": "mensagens-avancadas",
   "count": 3
  },
  "👥 Mensagens em Grupo": {
   "page": "mensagens-em-grupo",
   "count": 2
  },
  "📨 Mensagens": {
   "page": "mensagens",
   "count": 6
  },
  "💼 Oportunidades": {
   "page": "oportunidades",
   "count": 3
  },
  "📋 Templates WABA": {
   "page": "templates-waba",
   "count": 3
  },
  "🏢 Tenant API": {
   "page": "tenant-api",
   "count": 7
  },
  "🎫 Tickets - Extras": {
   "page": "tickets-extras",
   "count": 8
  },
  "🎫 Tickets": {
   "page": "tickets",
   "count": 17
  },
  "✅ To-Do List": {
   "page": "to-do-list",
   "count": 5
  },
  "👥 Usuários": {
   "page": "usuarios",
   "count": 4
  }
 },
 "x-route-count": 214
}