{
  "openapi": "3.1.0",
  "info": {
    "title": "CloudWhats API",
    "version": "3.8.0",
    "summary": "API pública da CloudWhats",
    "description": "Referência completa dos endpoints autenticáveis por chave de API. O conteúdo é gerado diretamente dos handlers e validadores do aplicativo para acompanhar o contrato implementado.",
    "contact": {
      "name": "CloudWhats",
      "email": "contato@cloudwhats.app.br",
      "url": "https://cloudwhats.app.br"
    }
  },
  "servers": [
    {
      "url": "https://cloudwhats.app.br",
      "description": "Produção"
    },
    {
      "url": "http://localhost:3000",
      "description": "Desenvolvimento local"
    }
  ],
  "tags": [
    {
      "name": "Automações",
      "description": "Criação, execução e diagnóstico de automações."
    },
    {
      "name": "Tarefas autônomas",
      "description": "Planejamento e execução de tarefas autônomas."
    },
    {
      "name": "Faturamento",
      "description": "Assinatura, consumo, limites e cobranças."
    },
    {
      "name": "Disparos",
      "description": "Campanhas e disparos em massa."
    },
    {
      "name": "Conectores",
      "description": "Integrações e conectores externos."
    },
    {
      "name": "Contatos e CRM",
      "description": "Contatos, organizações, negócios e funis."
    },
    {
      "name": "Conversas",
      "description": "Conversas, mensagens, chamadas e atendimento."
    },
    {
      "name": "Contas conectadas",
      "description": "Contas de canal, credenciais e números."
    },
    {
      "name": "Sugestões",
      "description": "Sugestões de produto e comentários."
    },
    {
      "name": "Fluxos e agentes",
      "description": "Fluxos da Meta e agentes de IA."
    },
    {
      "name": "Chat interno",
      "description": "Canais e colaboração interna."
    },
    {
      "name": "Jornadas",
      "description": "Jornadas automatizadas de contatos."
    },
    {
      "name": "Relatórios",
      "description": "Indicadores, análises e exportações."
    },
    {
      "name": "Configurações",
      "description": "Configurações operacionais e recursos auxiliares."
    },
    {
      "name": "SLA",
      "description": "Regras e indicadores de nível de serviço."
    },
    {
      "name": "Tarefas",
      "description": "Tarefas, projetos, grupos e etiquetas."
    },
    {
      "name": "Templates",
      "description": "Templates de mensagens e rascunhos."
    }
  ],
  "paths": {
    "/api/ai-agents": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar agentes de IA",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-ai-agents",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      },
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar agentes de IA",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "providerKeyId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "model": {
                    "type": "string"
                  },
                  "fallbackModel": {},
                  "systemPrompt": {
                    "type": "string"
                  },
                  "temperature": {
                    "type": "number",
                    "default": "0.7"
                  },
                  "maxTokens": {
                    "type": "number"
                  },
                  "topP": {
                    "type": "number"
                  },
                  "thinkingEnabled": {
                    "type": "boolean",
                    "default": false
                  },
                  "autoReply": {
                    "type": "boolean",
                    "default": false
                  },
                  "triggerKeywords": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "nullable": true
                  },
                  "triggerTags": {},
                  "contactTagMode": {
                    "type": "string",
                    "enum": [
                      "all",
                      "include"
                    ],
                    "default": "all"
                  },
                  "skipAssignedConversations": {
                    "type": "boolean",
                    "default": false
                  },
                  "businessHours": {},
                  "fallbackMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "assignedToId": {
                    "type": "string",
                    "nullable": true
                  },
                  "assignedTeamId": {
                    "type": "string",
                    "nullable": true
                  },
                  "knowledgeUrls": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "nullable": true
                  },
                  "knowledgeFiles": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "pdf",
                            "txt",
                            "md"
                          ]
                        },
                        "url": {
                          "type": "string"
                        },
                        "uploadedAt": {
                          "type": "string"
                        },
                        "content": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "type",
                        "url"
                      ],
                      "additionalProperties": false
                    },
                    "nullable": true
                  },
                  "liveModeEnabled": {
                    "type": "boolean",
                    "default": false
                  },
                  "liveModeMaxMessages": {
                    "type": "number",
                    "default": "3"
                  },
                  "liveModeTypingDelayMs": {
                    "type": "number",
                    "default": "1200"
                  },
                  "responseDebounceSeconds": {
                    "type": "number",
                    "default": "0"
                  },
                  "transcribeAudioMessages": {
                    "type": "boolean",
                    "default": false
                  },
                  "transcriptionOnly": {
                    "type": "boolean",
                    "default": false
                  },
                  "analyzeImageMessages": {
                    "type": "boolean",
                    "default": true
                  },
                  "analyzeVideoMessages": {
                    "type": "boolean",
                    "default": false
                  },
                  "audioResponseEnabled": {
                    "type": "boolean",
                    "default": false
                  },
                  "audioResponseFrequency": {
                    "type": "string",
                    "enum": [
                      "always",
                      "frequent",
                      "moderate",
                      "rare"
                    ],
                    "default": "moderate"
                  },
                  "audioResponseVoice": {
                    "type": "string",
                    "default": "Aoede"
                  },
                  "activeChannels": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "autoReplyOnlyNewContacts": {
                    "type": "boolean",
                    "default": false
                  },
                  "autoImproveEnabled": {
                    "type": "boolean",
                    "default": false
                  },
                  "autoImproveChannels": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "autoImproveRetentionDays": {
                    "type": "number",
                    "default": "90"
                  },
                  "autoImproveIncludeCollaborators": {
                    "type": "boolean",
                    "default": true
                  },
                  "handoffEnabled": {
                    "type": "boolean",
                    "default": true
                  },
                  "handoffAutoAssign": {
                    "type": "boolean",
                    "default": false
                  },
                  "handoffInactivityMinutes": {
                    "type": "number",
                    "nullable": true
                  },
                  "handoffAllowedUserIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "handoffAllowedTeamIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "handoffPauseOnAssign": {
                    "type": "boolean",
                    "default": true
                  },
                  "pauseOnUserMessage": {
                    "type": "boolean",
                    "default": false
                  },
                  "handoffSystemPrompt": {
                    "type": "string",
                    "nullable": true
                  },
                  "handoffForwardingMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "handoffPrivateNoteEnabled": {
                    "type": "boolean",
                    "default": true
                  },
                  "handoffPrivateNoteTemplate": {
                    "type": "string",
                    "nullable": true
                  },
                  "handoffSlaEnabled": {
                    "type": "boolean",
                    "default": false
                  },
                  "handoffSlaMinutes": {
                    "type": "number",
                    "nullable": true,
                    "default": "15"
                  },
                  "includeOrderHistory": {
                    "type": "boolean",
                    "default": false
                  },
                  "maxOrdersContext": {
                    "type": "number",
                    "default": "5"
                  },
                  "includeTasksData": {
                    "type": "boolean",
                    "default": false
                  },
                  "maxTasksContext": {
                    "type": "number",
                    "default": "10"
                  },
                  "includeContactCustomFields": {
                    "type": "boolean",
                    "default": false
                  },
                  "includeTagDescriptions": {
                    "type": "boolean",
                    "default": true
                  },
                  "includeContactNotes": {
                    "type": "boolean",
                    "default": false
                  },
                  "includeCrmDeals": {
                    "type": "boolean",
                    "default": false
                  },
                  "maxCrmDealsContext": {
                    "type": "number",
                    "default": "5"
                  },
                  "includeReminders": {
                    "type": "boolean",
                    "default": false
                  },
                  "maxRemindersContext": {
                    "type": "number",
                    "default": "5"
                  },
                  "includeScheduledMessages": {
                    "type": "boolean",
                    "default": false
                  },
                  "maxScheduledMessagesContext": {
                    "type": "number",
                    "default": "5"
                  },
                  "canReadOrders": {
                    "type": "boolean",
                    "default": false
                  },
                  "canUpdateOrders": {
                    "type": "boolean",
                    "default": false
                  },
                  "canReadTasks": {
                    "type": "boolean",
                    "default": false
                  },
                  "canCreateTasks": {
                    "type": "boolean",
                    "default": false
                  },
                  "canUpdateTasks": {
                    "type": "boolean",
                    "default": false
                  },
                  "canDeleteTasks": {
                    "type": "boolean",
                    "default": false
                  },
                  "canReadCrmDeals": {
                    "type": "boolean",
                    "default": false
                  },
                  "canUpdateCrmDeals": {
                    "type": "boolean",
                    "default": false
                  },
                  "canCreateCrmDeals": {
                    "type": "boolean",
                    "default": false
                  },
                  "canDeleteCrmDeals": {
                    "type": "boolean",
                    "default": false
                  },
                  "canReadReminders": {
                    "type": "boolean",
                    "default": false
                  },
                  "canCreateReminders": {
                    "type": "boolean",
                    "default": false
                  },
                  "canDeleteReminders": {
                    "type": "boolean",
                    "default": false
                  },
                  "canReadScheduledMessages": {
                    "type": "boolean",
                    "default": false
                  },
                  "canCreateScheduledMessages": {
                    "type": "boolean",
                    "default": false
                  },
                  "canDeleteScheduledMessages": {
                    "type": "boolean",
                    "default": false
                  },
                  "canReadCalendarEvents": {
                    "type": "boolean",
                    "default": false
                  },
                  "canCreateCalendarEvents": {
                    "type": "boolean",
                    "default": false
                  },
                  "canUpdateContactProfile": {
                    "type": "boolean",
                    "default": true
                  },
                  "canCreateLinearIssues": {
                    "type": "boolean",
                    "default": false
                  },
                  "canReadLinearIssues": {
                    "type": "boolean",
                    "default": false
                  },
                  "canSearchFirecrawlWeb": {
                    "type": "boolean",
                    "default": false
                  },
                  "canScrapeFirecrawlUrl": {
                    "type": "boolean",
                    "default": false
                  },
                  "canSearchMetaCatalog": {
                    "type": "boolean",
                    "default": false
                  },
                  "canSendMetaCatalogProducts": {
                    "type": "boolean",
                    "default": false
                  },
                  "canCreateStripePaymentLinks": {
                    "type": "boolean",
                    "default": false
                  },
                  "canReadStripeInvoices": {
                    "type": "boolean",
                    "default": false
                  },
                  "canReadBitrix24Deals": {
                    "type": "boolean",
                    "default": false
                  },
                  "canCreateBitrix24Deals": {
                    "type": "boolean",
                    "default": false
                  },
                  "canReadNuvemshopOrders": {
                    "type": "boolean",
                    "default": false
                  },
                  "includeGalleryItems": {
                    "type": "boolean",
                    "default": false
                  },
                  "maxGalleryItemsContext": {
                    "type": "number",
                    "default": "20"
                  },
                  "galleryTagFilter": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "canSearchGallery": {
                    "type": "boolean",
                    "default": false
                  },
                  "canSendGalleryItems": {
                    "type": "boolean",
                    "default": false
                  },
                  "galleryContactTagMatch": {
                    "type": "string",
                    "enum": [
                      "off",
                      "exact",
                      "contains"
                    ],
                    "default": "off"
                  },
                  "useMcpTools": {
                    "type": "boolean",
                    "default": false
                  },
                  "mcpServerIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "customerDataDisclosure": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "providerKeyId",
                  "name",
                  "description",
                  "model",
                  "fallbackModel",
                  "systemPrompt",
                  "temperature",
                  "thinkingEnabled",
                  "autoReply",
                  "triggerKeywords",
                  "triggerTags",
                  "contactTagMode",
                  "skipAssignedConversations",
                  "knowledgeUrls",
                  "knowledgeFiles",
                  "liveModeEnabled",
                  "liveModeMaxMessages",
                  "liveModeTypingDelayMs",
                  "responseDebounceSeconds",
                  "transcribeAudioMessages",
                  "transcriptionOnly",
                  "analyzeImageMessages",
                  "analyzeVideoMessages",
                  "audioResponseEnabled",
                  "audioResponseFrequency",
                  "audioResponseVoice",
                  "activeChannels",
                  "autoReplyOnlyNewContacts",
                  "autoImproveEnabled",
                  "autoImproveChannels",
                  "autoImproveRetentionDays",
                  "autoImproveIncludeCollaborators",
                  "handoffEnabled",
                  "handoffAutoAssign",
                  "handoffAllowedUserIds",
                  "handoffAllowedTeamIds",
                  "handoffPauseOnAssign",
                  "pauseOnUserMessage",
                  "handoffPrivateNoteEnabled",
                  "handoffSlaEnabled",
                  "includeOrderHistory",
                  "maxOrdersContext",
                  "includeTasksData",
                  "maxTasksContext",
                  "includeContactCustomFields",
                  "includeTagDescriptions",
                  "includeContactNotes",
                  "includeCrmDeals",
                  "maxCrmDealsContext",
                  "includeReminders",
                  "maxRemindersContext",
                  "includeScheduledMessages",
                  "maxScheduledMessagesContext",
                  "canReadOrders",
                  "canUpdateOrders",
                  "canReadTasks",
                  "canCreateTasks",
                  "canUpdateTasks",
                  "canDeleteTasks",
                  "canReadCrmDeals",
                  "canUpdateCrmDeals",
                  "canCreateCrmDeals",
                  "canDeleteCrmDeals",
                  "canReadReminders",
                  "canCreateReminders",
                  "canDeleteReminders",
                  "canReadScheduledMessages",
                  "canCreateScheduledMessages",
                  "canDeleteScheduledMessages",
                  "canReadCalendarEvents",
                  "canCreateCalendarEvents",
                  "canUpdateContactProfile",
                  "canCreateLinearIssues",
                  "canReadLinearIssues",
                  "canSearchFirecrawlWeb",
                  "canScrapeFirecrawlUrl",
                  "canSearchMetaCatalog",
                  "canSendMetaCatalogProducts",
                  "canCreateStripePaymentLinks",
                  "canReadStripeInvoices",
                  "canReadBitrix24Deals",
                  "canCreateBitrix24Deals",
                  "canReadNuvemshopOrders",
                  "includeGalleryItems",
                  "maxGalleryItemsContext",
                  "galleryTagFilter",
                  "canSearchGallery",
                  "canSendGalleryItems",
                  "galleryContactTagMatch",
                  "useMcpTools",
                  "mcpServerIds"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/{agentId}": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Consultar agentes de IA",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-ai-agents-agentId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      },
      "patch": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Atualizar agentes de IA",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "patch-ai-agents-agentId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "providerKeyId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "model": {
                    "type": "string"
                  },
                  "fallbackModel": {},
                  "systemPrompt": {
                    "type": "string"
                  },
                  "temperature": {
                    "type": "number"
                  },
                  "maxTokens": {
                    "type": "number"
                  },
                  "topP": {
                    "type": "number"
                  },
                  "thinkingEnabled": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "autoReply": {
                    "type": "boolean"
                  },
                  "triggerKeywords": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "nullable": true
                  },
                  "triggerTags": {},
                  "contactTagMode": {
                    "type": "string",
                    "enum": [
                      "all",
                      "include"
                    ]
                  },
                  "skipAssignedConversations": {
                    "type": "boolean"
                  },
                  "businessHours": {},
                  "fallbackMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "assignedToId": {
                    "type": "string",
                    "nullable": true
                  },
                  "assignedTeamId": {
                    "type": "string",
                    "nullable": true
                  },
                  "knowledgeUrls": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "nullable": true
                  },
                  "knowledgeFiles": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "pdf",
                            "txt",
                            "md"
                          ]
                        },
                        "url": {
                          "type": "string"
                        },
                        "uploadedAt": {
                          "type": "string"
                        },
                        "content": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "type",
                        "url"
                      ],
                      "additionalProperties": false
                    },
                    "nullable": true
                  },
                  "liveModeEnabled": {
                    "type": "boolean"
                  },
                  "liveModeMaxMessages": {
                    "type": "number"
                  },
                  "liveModeTypingDelayMs": {
                    "type": "number"
                  },
                  "responseDebounceSeconds": {
                    "type": "number"
                  },
                  "transcribeAudioMessages": {
                    "type": "boolean"
                  },
                  "transcriptionOnly": {
                    "type": "boolean"
                  },
                  "analyzeImageMessages": {
                    "type": "boolean"
                  },
                  "analyzeVideoMessages": {
                    "type": "boolean"
                  },
                  "audioResponseEnabled": {
                    "type": "boolean"
                  },
                  "audioResponseFrequency": {
                    "type": "string",
                    "enum": [
                      "always",
                      "frequent",
                      "moderate",
                      "rare"
                    ]
                  },
                  "audioResponseVoice": {
                    "type": "string"
                  },
                  "activeChannels": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "autoReplyOnlyNewContacts": {
                    "type": "boolean"
                  },
                  "autoImproveEnabled": {
                    "type": "boolean"
                  },
                  "autoImproveChannels": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "autoImproveRetentionDays": {
                    "type": "number"
                  },
                  "autoImproveIncludeCollaborators": {
                    "type": "boolean"
                  },
                  "handoffEnabled": {
                    "type": "boolean"
                  },
                  "handoffAutoAssign": {
                    "type": "boolean"
                  },
                  "handoffInactivityMinutes": {
                    "type": "number",
                    "nullable": true
                  },
                  "handoffAllowedUserIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "handoffAllowedTeamIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "handoffPauseOnAssign": {
                    "type": "boolean"
                  },
                  "pauseOnUserMessage": {
                    "type": "boolean"
                  },
                  "handoffSystemPrompt": {
                    "type": "string",
                    "nullable": true
                  },
                  "handoffForwardingMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "handoffPrivateNoteEnabled": {
                    "type": "boolean"
                  },
                  "handoffPrivateNoteTemplate": {
                    "type": "string",
                    "nullable": true
                  },
                  "handoffSlaEnabled": {
                    "type": "boolean"
                  },
                  "handoffSlaMinutes": {
                    "type": "number",
                    "nullable": true
                  },
                  "includeOrderHistory": {
                    "type": "boolean"
                  },
                  "maxOrdersContext": {
                    "type": "number"
                  },
                  "includeTasksData": {
                    "type": "boolean"
                  },
                  "maxTasksContext": {
                    "type": "number"
                  },
                  "includeContactCustomFields": {
                    "type": "boolean"
                  },
                  "includeTagDescriptions": {
                    "type": "boolean"
                  },
                  "includeContactNotes": {
                    "type": "boolean"
                  },
                  "includeCrmDeals": {
                    "type": "boolean"
                  },
                  "maxCrmDealsContext": {
                    "type": "number"
                  },
                  "includeReminders": {
                    "type": "boolean"
                  },
                  "maxRemindersContext": {
                    "type": "number"
                  },
                  "includeScheduledMessages": {
                    "type": "boolean"
                  },
                  "maxScheduledMessagesContext": {
                    "type": "number"
                  },
                  "canReadOrders": {
                    "type": "boolean"
                  },
                  "canUpdateOrders": {
                    "type": "boolean"
                  },
                  "canReadTasks": {
                    "type": "boolean"
                  },
                  "canCreateTasks": {
                    "type": "boolean"
                  },
                  "canUpdateTasks": {
                    "type": "boolean"
                  },
                  "canDeleteTasks": {
                    "type": "boolean"
                  },
                  "canReadCrmDeals": {
                    "type": "boolean"
                  },
                  "canUpdateCrmDeals": {
                    "type": "boolean"
                  },
                  "canCreateCrmDeals": {
                    "type": "boolean"
                  },
                  "canDeleteCrmDeals": {
                    "type": "boolean"
                  },
                  "canReadReminders": {
                    "type": "boolean"
                  },
                  "canCreateReminders": {
                    "type": "boolean"
                  },
                  "canDeleteReminders": {
                    "type": "boolean"
                  },
                  "canReadScheduledMessages": {
                    "type": "boolean"
                  },
                  "canCreateScheduledMessages": {
                    "type": "boolean"
                  },
                  "canDeleteScheduledMessages": {
                    "type": "boolean"
                  },
                  "canReadCalendarEvents": {
                    "type": "boolean"
                  },
                  "canCreateCalendarEvents": {
                    "type": "boolean"
                  },
                  "canUpdateContactProfile": {
                    "type": "boolean"
                  },
                  "canCreateLinearIssues": {
                    "type": "boolean"
                  },
                  "canReadLinearIssues": {
                    "type": "boolean"
                  },
                  "canSearchFirecrawlWeb": {
                    "type": "boolean"
                  },
                  "canScrapeFirecrawlUrl": {
                    "type": "boolean"
                  },
                  "canSearchMetaCatalog": {
                    "type": "boolean"
                  },
                  "canSendMetaCatalogProducts": {
                    "type": "boolean"
                  },
                  "canCreateStripePaymentLinks": {
                    "type": "boolean"
                  },
                  "canReadStripeInvoices": {
                    "type": "boolean"
                  },
                  "canReadBitrix24Deals": {
                    "type": "boolean"
                  },
                  "canCreateBitrix24Deals": {
                    "type": "boolean"
                  },
                  "canReadNuvemshopOrders": {
                    "type": "boolean"
                  },
                  "includeGalleryItems": {
                    "type": "boolean"
                  },
                  "maxGalleryItemsContext": {
                    "type": "number"
                  },
                  "galleryTagFilter": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "canSearchGallery": {
                    "type": "boolean"
                  },
                  "canSendGalleryItems": {
                    "type": "boolean"
                  },
                  "galleryContactTagMatch": {
                    "type": "string",
                    "enum": [
                      "off",
                      "exact",
                      "contains"
                    ]
                  },
                  "useMcpTools": {
                    "type": "boolean"
                  },
                  "mcpServerIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "customerDataDisclosure": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "description",
                  "fallbackModel"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      },
      "delete": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Excluir agentes de IA",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "delete-ai-agents-agentId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/{agentId}/duplicate": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Duplicar agentes de IA",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-agentId-duplicate",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "targetCredentialId": {
                    "type": "string",
                    "nullable": true
                  },
                  "activeChannels": {
                    "type": "array",
                    "items": {}
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/{agentId}/knowledge/cag": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar contexto CAG",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-ai-agents-agentId-knowledge-cag",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      },
      "delete": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Excluir contexto CAG",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "delete-ai-agents-agentId-knowledge-cag",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/{agentId}/knowledge/files": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar arquivos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-agentId-knowledge-files",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "pdf",
                      "txt",
                      "md"
                    ]
                  },
                  "url": {
                    "type": "string"
                  },
                  "content": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "type",
                  "url"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      },
      "delete": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Excluir arquivos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "delete-ai-agents-agentId-knowledge-files",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          },
          {
            "name": "fileId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de file."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/{agentId}/knowledge/reprocess": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Reprocessar base de conhecimento",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-agentId-knowledge-reprocess",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/{agentId}/knowledge/sources/{sourceId}": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar fontes",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-agentId-knowledge-sources-sourceId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          },
          {
            "name": "sourceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fonte."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      },
      "delete": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Excluir fontes",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "delete-ai-agents-agentId-knowledge-sources-sourceId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          },
          {
            "name": "sourceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fonte."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/{agentId}/knowledge/status": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-ai-agents-agentId-knowledge-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      }
    },
    "/api/ai-agents/{agentId}/knowledge/urls": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar URLs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-agentId-knowledge-urls",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  }
                },
                "required": [
                  "url"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      },
      "delete": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Excluir URLs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "delete-ai-agents-agentId-knowledge-urls",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          },
          {
            "name": "url",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de url."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/{agentId}/media-test": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar teste de mídia",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-agentId-media-test",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Limite de requisições excedido.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/{agentId}/memories": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar memórias",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-ai-agents-agentId-memories",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          },
          {
            "name": "conversationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de conversation."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de scope."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de type."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      },
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar memórias",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-agentId-memories",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      },
      "delete": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Excluir memórias",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "delete-ai-agents-agentId-memories",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/{agentId}/memories/backfill-embeddings": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Preencher memórias",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-agentId-memories-backfill-embeddings",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/{agentId}/preview/conversations": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar conversas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-ai-agents-agentId-preview-conversations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "take",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade máxima de itens retornados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      }
    },
    "/api/ai-agents/{agentId}/preview/run": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar execução",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-agentId-preview-run",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agente de IA."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conversationId": {
                    "type": "string"
                  },
                  "sandboxMessages": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "role": {
                          "type": "string",
                          "enum": [
                            "user",
                            "assistant"
                          ]
                        },
                        "content": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "role",
                        "content"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "message": {
                    "type": "string"
                  }
                },
                "required": [
                  "conversationId",
                  "message"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/connector-options": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar opções de conectores",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-ai-agents-connector-options",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      }
    },
    "/api/ai-agents/handoff": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Transferir agentes de IA",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-handoff",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conversationId": {
                    "type": "string"
                  },
                  "agentId": {
                    "type": "string"
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "AI_TO_HUMAN",
                      "HUMAN_TO_AI"
                    ]
                  },
                  "toUserId": {
                    "type": "string"
                  },
                  "toTeamId": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  }
                },
                "required": [
                  "conversationId",
                  "action"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/mcp-options": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar opções MCP",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-ai-agents-mcp-options",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      }
    },
    "/api/ai-agents/memories/quick": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar quick",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-ai-agents-memories-quick",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/ai-agents/pause": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Pausar agentes de IA",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-pause",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conversationId": {
                    "type": "string"
                  },
                  "agentId": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  },
                  "resumeAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "conversationId",
                  "agentId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/resume": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Retomar agentes de IA",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-resume",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conversationId": {
                    "type": "string"
                  },
                  "agentId": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  }
                },
                "required": [
                  "conversationId",
                  "agentId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/sessions": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar sessões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-ai-agents-sessions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "agentId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de agent."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de sort."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      }
    },
    "/api/ai-agents/sessions/bulk-action": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar ação em massa",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-ai-agents-sessions-bulk-action",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "pause_selected",
                      "resume_selected"
                    ]
                  },
                  "sessionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "reason": {
                    "type": "string"
                  }
                },
                "required": [
                  "action",
                  "sessionIds"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/ai-agents/sessions/stats": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar stats",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-ai-agents-sessions-stats",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      }
    },
    "/api/ai-provider-keys": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar ai provider keys",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-ai-provider-keys",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      }
    },
    "/api/analytics/whatsapp": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar whatsapp",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-analytics-whatsapp",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/analytics/whatsapp/sync": {
      "post": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Sincronizar whatsapp",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:write`.",
        "operationId": "post-analytics-whatsapp-sync",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "rangeStart": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "format": "date-time"
                      }
                    ]
                  },
                  "rangeEnd": {},
                  "conversationRangeStart": {},
                  "conversationRangeEnd": {},
                  "granularity": {
                    "type": "string",
                    "enum": [
                      "HOUR",
                      "DAY",
                      "WEEK",
                      "MONTH",
                      "MONTHLY"
                    ]
                  },
                  "conversationGranularity": {
                    "type": "string",
                    "enum": [
                      "HOUR",
                      "DAY",
                      "WEEK",
                      "MONTH",
                      "MONTHLY"
                    ]
                  },
                  "phoneNumbers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "countryCodes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "conversationDirections": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "conversationTypes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "conversationDimensions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "dryRun": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "rangeStart",
                  "rangeEnd",
                  "conversationRangeStart",
                  "conversationRangeEnd"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:write"
      }
    },
    "/api/automation-templates": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar automation templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-automation-templates",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de category."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      },
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar automation templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-automation-templates",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "category": {
                    "type": "string",
                    "enum": [
                      "WELCOME",
                      "SALES",
                      "SUPPORT",
                      "MARKETING",
                      "CRM",
                      "SCHEDULING",
                      "ECOMMERCE",
                      "CUSTOM"
                    ],
                    "default": "CUSTOM"
                  },
                  "icon": {
                    "type": "string",
                    "default": "Zap"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "triggerType": {},
                  "triggerConfig": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "nodesData": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string"
                        },
                        "position": {
                          "type": "object",
                          "properties": {
                            "x": {
                              "type": "number"
                            },
                            "y": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "x",
                            "y"
                          ],
                          "additionalProperties": false
                        },
                        "config": {
                          "type": "object",
                          "additionalProperties": {}
                        }
                      },
                      "required": [
                        "id",
                        "type",
                        "label",
                        "position"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "edgesData": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "source": {
                          "type": "string"
                        },
                        "target": {
                          "type": "string"
                        },
                        "sourceHandle": {
                          "type": "string",
                          "nullable": true
                        },
                        "targetHandle": {
                          "type": "string",
                          "nullable": true
                        },
                        "label": {
                          "type": "string",
                          "nullable": true
                        },
                        "condition": {
                          "type": "object",
                          "additionalProperties": {}
                        }
                      },
                      "required": [
                        "source",
                        "target"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "variables": {
                    "type": "object",
                    "additionalProperties": {},
                    "nullable": true
                  }
                },
                "required": [
                  "name",
                  "triggerType",
                  "nodesData"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/automations": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar automations",
        "description": "Lista automações da empresa, com suporte a escopo por conta quando necessário.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-automations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          },
          {
            "name": "trigger",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de trigger."
          },
          {
            "name": "view",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de view."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      },
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Criar ou executar automations",
        "description": "Cria uma automação. A validação do gatilho e do grafo acontece no backend.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-automations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "Automação API - Boas-vindas"
                  },
                  "isActive": {
                    "default": false
                  },
                  "triggerType": {
                    "type": "string",
                    "example": "MANUAL"
                  },
                  "triggerConfig": {},
                  "nodes": {},
                  "edges": {},
                  "actions": {},
                  "priority": {
                    "default": "0"
                  }
                },
                "required": [
                  "isActive",
                  "triggerConfig",
                  "actions",
                  "priority"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Automation",
                  "value": {
                    "name": "Automação API - Boas-vindas",
                    "isActive": false,
                    "triggerType": "MANUAL",
                    "triggerConfig": {},
                    "nodes": [],
                    "edges": []
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/{id}": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Consultar automations",
        "description": "Busca uma automação específica.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-automations-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      },
      "patch": {
        "tags": [
          "Automações"
        ],
        "summary": "Atualizar automations",
        "description": "Atualiza uma automação existente.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "patch-automations-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {},
                  "isActive": {},
                  "nodes": {},
                  "edges": {},
                  "description": {},
                  "triggerType": {},
                  "triggerConfig": {},
                  "conditions": {},
                  "actions": {},
                  "priority": {},
                  "variables": {},
                  "settings": {},
                  "flowData": {},
                  "assignedToId": {},
                  "assignedTeamId": {}
                },
                "required": [
                  "description",
                  "conditions",
                  "variables",
                  "settings",
                  "flowData",
                  "assignedToId",
                  "assignedTeamId"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Automation",
                  "value": {
                    "name": "Automação API - Atualizada",
                    "isActive": false,
                    "nodes": [],
                    "edges": []
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      },
      "delete": {
        "tags": [
          "Automações"
        ],
        "summary": "Excluir automations",
        "description": "Remove a automação e seus dados associados.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "delete-automations-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/{id}/duplicate": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Duplicar automations",
        "description": "Cria uma cópia completa da automação.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-automations-id-duplicate",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "Cópia da automação API"
                  }
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Duplicate Automation",
                  "value": {
                    "name": "Cópia da automação API"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/{id}/executions": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar execuções",
        "description": "Consulta o histórico de execuções de uma automação.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-automations-id-executions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "mode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "all, live ou test"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "stats",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de stats."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      }
    },
    "/api/automations/{id}/executions/{executionId}": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Consultar execuções",
        "description": "Retorna os detalhes completos de uma execução específica.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-automations-id-executions-executionId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "executionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de execução."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      }
    },
    "/api/automations/{id}/schedule-diagnostics": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar schedule diagnostics",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-automations-id-schedule-diagnostics",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "schedule",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de schedule."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      }
    },
    "/api/automations/{id}/sessions": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar sessões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-automations-id-sessions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      },
      "delete": {
        "tags": [
          "Automações"
        ],
        "summary": "Excluir sessões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "delete-automations-id-sessions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/{id}/test": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Testar automations",
        "description": "Executa um teste da automação e retorna eventos/timeline da execução.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-automations-id-test",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "testContext": {
                    "type": "object",
                    "properties": {
                      "contactId": {
                        "type": "string",
                        "example": "{{contactId}}"
                      },
                      "credentialId": {
                        "type": "string",
                        "example": "{{credentialId}}"
                      }
                    }
                  }
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Test Automation",
                  "value": {
                    "testContext": {
                      "contactId": "{{contactId}}",
                      "credentialId": "{{credentialId}}"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/{id}/toggle": {
      "patch": {
        "tags": [
          "Automações"
        ],
        "summary": "Alternar automations",
        "description": "Ativa ou desativa a automação.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "patch-automations-id-toggle",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "isActive": {
                    "type": "boolean",
                    "example": true
                  }
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Toggle Automation",
                  "value": {
                    "isActive": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/{id}/trigger-test": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Criar ou executar trigger test",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-automations-id-trigger-test",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/{id}/trigger-test-session": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar trigger test session",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "get-automations-id-trigger-test-session",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "sessionId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de session."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      },
      "delete": {
        "tags": [
          "Automações"
        ],
        "summary": "Excluir trigger test session",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "delete-automations-id-trigger-test-session",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "sessionId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de session."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/{id}/trigger-webhook": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar trigger webhook",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-automations-id-trigger-webhook",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      }
    },
    "/api/automations/designer": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar designer",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "get-automations-designer",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "automationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de automation."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "mode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "CREATE"
            },
            "description": "Valor opcional de mode."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      },
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Criar ou executar designer",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-automations-designer",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string"
                  },
                  "automationId": {
                    "type": "string",
                    "nullable": true
                  },
                  "credentialId": {
                    "type": "string",
                    "nullable": true
                  },
                  "requestSummary": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "mode"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/designer/sessions/{sessionId}": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Consultar sessões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "get-automations-designer-sessions-sessionId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/designer/sessions/{sessionId}/audit": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar auditoria",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "get-automations-designer-sessions-sessionId-audit",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/designer/sessions/{sessionId}/messages": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Criar ou executar mensagens",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-automations-designer-sessions-sessionId-messages",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "type": "string",
                    "enum": [
                      "USER",
                      "SYSTEM"
                    ],
                    "default": "USER"
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "INSTRUCTION",
                      "ANSWER",
                      "STATUS"
                    ],
                    "default": "INSTRUCTION"
                  },
                  "content": {
                    "type": "string"
                  },
                  "structuredPayload": {
                    "type": "object",
                    "properties": {
                      "selectedOptionId": {
                        "type": "string",
                        "nullable": true
                      },
                      "selectedOptionLabel": {
                        "type": "string",
                        "nullable": true
                      },
                      "clarificationId": {
                        "type": "string",
                        "nullable": true
                      },
                      "payload": {
                        "type": "object",
                        "additionalProperties": {}
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "required": [
                  "role",
                  "kind",
                  "content"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/designer/sessions/{sessionId}/revisions": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Criar ou executar revisões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-automations-designer-sessions-sessionId-revisions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "requestedCredentialId": {
                    "type": "string",
                    "nullable": true
                  },
                  "forceRegenerate": {
                    "type": "boolean",
                    "default": false
                  }
                },
                "required": [
                  "forceRegenerate"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/designer/sessions/{sessionId}/revisions/{revisionId}/approve": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Aprovar revisões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-automations-designer-sessions-sessionId-revisions-revisionId-approve",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          },
          {
            "name": "revisionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de revisão."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "requestedCredentialId": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/designer/sessions/{sessionId}/revisions/{revisionId}/diff": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar diff",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "get-automations-designer-sessions-sessionId-revisions-revisionId-diff",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          },
          {
            "name": "revisionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de revisão."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/designer/sessions/{sessionId}/revisions/{revisionId}/reject": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Rejeitar revisões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-automations-designer-sessions-sessionId-revisions-revisionId-reject",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          },
          {
            "name": "revisionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de revisão."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/studio/catalog": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar catálogo",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-automations-studio-catalog",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      }
    },
    "/api/automations/studio/recipes/{recipeId}/install": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Instalar receitas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-automations-studio-recipes-recipeId-install",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "recipeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de receita."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/automations/studio/timeline": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar timeline",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-automations-studio-timeline",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      }
    },
    "/api/automations/suggestions": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Criar ou executar suggestions",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-automations-suggestions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conversationId": {
                    "type": "string"
                  },
                  "sourceMessageId": {
                    "type": "string"
                  },
                  "generator": {
                    "type": "string",
                    "enum": [
                      "rule_based",
                      "sentinel"
                    ],
                    "default": "rule_based"
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "preview",
                      "open_designer_session"
                    ],
                    "default": "preview"
                  }
                },
                "required": [
                  "conversationId",
                  "sourceMessageId",
                  "generator",
                  "action"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/autonomous-tasks": {
      "get": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Listar tarefas autônomas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:read`.",
        "operationId": "get-autonomous-tasks",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "lifecycle",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de lifecycle."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Valor opcional de offset."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:read"
      },
      "post": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Criar ou executar tarefas autônomas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "post-autonomous-tasks",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prompt": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "scheduleType": {
                    "type": "string",
                    "enum": [
                      "MANUAL",
                      "ONCE",
                      "DAILY",
                      "WEEKLY",
                      "MONTHLY"
                    ],
                    "default": "MANUAL"
                  },
                  "scheduleConfig": {
                    "type": "object",
                    "properties": {
                      "timeOfDay": {
                        "type": "string"
                      },
                      "dayOfWeek": {
                        "type": "number"
                      },
                      "dayOfMonth": {
                        "type": "number"
                      }
                    },
                    "additionalProperties": false
                  },
                  "startAt": {
                    "type": "string"
                  },
                  "executionPolicy": {
                    "type": "string",
                    "enum": [
                      "REQUIRE_APPROVAL",
                      "AUTO_EXECUTE"
                    ],
                    "default": "REQUIRE_APPROVAL"
                  },
                  "credentialId": {
                    "type": "string"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "operationalMode": {
                    "type": "string",
                    "enum": [
                      "report",
                      "suggest",
                      "prepare",
                      "execute"
                    ]
                  },
                  "connectorSlugs": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "mcpServerIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "templateName": {
                    "type": "string"
                  },
                  "templateLanguage": {
                    "type": "string"
                  },
                  "templateSelection": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "const": "single"
                          },
                          "templateName": {
                            "type": "string"
                          },
                          "templateLanguage": {
                            "type": "string",
                            "default": "pt_BR"
                          },
                          "templateId": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "mode",
                          "templateName",
                          "templateLanguage"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "const": "group"
                          },
                          "groupId": {
                            "type": "string"
                          },
                          "groupName": {
                            "type": "string"
                          },
                          "preferredLanguage": {
                            "type": "string",
                            "default": "pt_BR"
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "mode",
                          "groupId",
                          "preferredLanguage"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "const": "subgroup"
                          },
                          "subGroupId": {
                            "type": "string"
                          },
                          "groupId": {
                            "type": "string"
                          },
                          "subGroupName": {
                            "type": "string"
                          },
                          "groupName": {
                            "type": "string"
                          },
                          "preferredLanguage": {
                            "type": "string",
                            "default": "pt_BR"
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "mode",
                          "subGroupId",
                          "preferredLanguage"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  },
                  "templateVariableMappings": {
                    "type": "object",
                    "additionalProperties": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string"
                            },
                            "fallback": {
                              "type": "string",
                              "nullable": true
                            },
                            "required": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "source"
                          ],
                          "additionalProperties": false
                        }
                      ]
                    }
                  },
                  "mission": {
                    "type": "object",
                    "properties": {
                      "objective": {
                        "type": "string"
                      },
                      "specialist": {
                        "type": "string",
                        "enum": [
                          "AUTO",
                          "GENERALIST",
                          "BILLING_RECOVERY",
                          "CUSTOMER_REACTIVATION",
                          "SALES_OPERATIONS",
                          "OPERATIONS_INTELLIGENCE",
                          "EXTERNAL_OPERATIONS"
                        ]
                      },
                      "successCriteria": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "autonomyScope": {
                        "type": "object",
                        "properties": {
                          "customerContact": {
                            "type": "boolean",
                            "default": true
                          },
                          "crmWrites": {
                            "type": "boolean",
                            "default": true
                          },
                          "taskWrites": {
                            "type": "boolean",
                            "default": true
                          },
                          "teamNotifications": {
                            "type": "boolean",
                            "default": true
                          },
                          "externalTools": {
                            "type": "boolean",
                            "default": true
                          },
                          "internalPlatformActions": {
                            "type": "boolean",
                            "default": true
                          }
                        },
                        "required": [
                          "customerContact",
                          "crmWrites",
                          "taskWrites",
                          "teamNotifications",
                          "externalTools",
                          "internalPlatformActions"
                        ],
                        "additionalProperties": false
                      },
                      "guardrails": {
                        "type": "object",
                        "properties": {
                          "maxEntities": {
                            "type": "number",
                            "default": "100"
                          },
                          "maxWriteActions": {
                            "type": "number",
                            "default": "100"
                          },
                          "maxExternalCalls": {
                            "type": "number",
                            "default": "25"
                          },
                          "maxStepCount": {
                            "type": "number",
                            "default": "12"
                          }
                        },
                        "required": [
                          "maxEntities",
                          "maxWriteActions",
                          "maxExternalCalls",
                          "maxStepCount"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  },
                  "previewHash": {
                    "type": "string"
                  },
                  "previewToken": {
                    "type": "string"
                  },
                  "maxRunsPerDay": {
                    "type": "number",
                    "default": "24"
                  }
                },
                "required": [
                  "prompt",
                  "scheduleType",
                  "scheduleConfig",
                  "executionPolicy",
                  "templateVariableMappings",
                  "mission",
                  "maxRunsPerDay"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      }
    },
    "/api/autonomous-tasks/{id}": {
      "get": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Consultar tarefas autônomas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:read`.",
        "operationId": "get-autonomous-tasks-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:read"
      },
      "patch": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Atualizar tarefas autônomas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "patch-autonomous-tasks-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "ACTIVE",
                      "PAUSED",
                      "ARCHIVED"
                    ]
                  },
                  "name": {
                    "type": "string"
                  },
                  "executionPolicy": {
                    "type": "string",
                    "enum": [
                      "REQUIRE_APPROVAL",
                      "AUTO_EXECUTE"
                    ]
                  },
                  "scheduleType": {
                    "type": "string",
                    "enum": [
                      "MANUAL",
                      "ONCE",
                      "DAILY",
                      "WEEKLY",
                      "MONTHLY"
                    ]
                  },
                  "scheduleConfig": {
                    "type": "object",
                    "properties": {
                      "timeOfDay": {
                        "type": "string"
                      },
                      "dayOfWeek": {
                        "type": "number"
                      },
                      "dayOfMonth": {
                        "type": "number"
                      }
                    },
                    "additionalProperties": false
                  },
                  "startAt": {
                    "type": "string",
                    "nullable": true
                  },
                  "maxRunsPerDay": {
                    "type": "number"
                  }
                },
                "required": [
                  "scheduleConfig"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      },
      "delete": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Excluir tarefas autônomas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "delete-autonomous-tasks-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      }
    },
    "/api/autonomous-tasks/{id}/replan": {
      "post": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Replanejar tarefas autônomas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "post-autonomous-tasks-id-replan",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      }
    },
    "/api/autonomous-tasks/{id}/runs": {
      "get": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Listar runs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:read`.",
        "operationId": "get-autonomous-tasks-id-runs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:read"
      },
      "post": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Criar ou executar runs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "post-autonomous-tasks-id-runs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional idempotency-key."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      }
    },
    "/api/autonomous-tasks/ai-config": {
      "get": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Listar ai config",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:read`.",
        "operationId": "get-autonomous-tasks-ai-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:read"
      },
      "patch": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Atualizar ai config",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "patch-autonomous-tasks-ai-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "providerKeyId": {
                    "type": "string",
                    "nullable": true
                  },
                  "model": {
                    "type": "string",
                    "nullable": true
                  },
                  "thinkingLevel": {
                    "type": "string",
                    "enum": [
                      "minimal",
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  "crossProviderFallbackEnabled": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "providerKeyId",
                  "model",
                  "thinkingLevel",
                  "crossProviderFallbackEnabled"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      }
    },
    "/api/autonomous-tasks/capabilities": {
      "get": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Listar capabilities",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:read`.",
        "operationId": "get-autonomous-tasks-capabilities",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:read"
      }
    },
    "/api/autonomous-tasks/knowledge": {
      "get": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Listar base de conhecimento",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:read`.",
        "operationId": "get-autonomous-tasks-knowledge",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:read"
      },
      "patch": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Atualizar base de conhecimento",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "patch-autonomous-tasks-knowledge",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "companyContext": {},
                  "customInstructions": {},
                  "communicationTone": {},
                  "policies": {},
                  "businessHours": {},
                  "galleryItemIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "galleryFolderIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "companyContext",
                  "customInstructions",
                  "communicationTone",
                  "policies",
                  "businessHours"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      }
    },
    "/api/autonomous-tasks/knowledge/catalog": {
      "get": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Listar catálogo",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:read`.",
        "operationId": "get-autonomous-tasks-knowledge-catalog",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:read"
      }
    },
    "/api/autonomous-tasks/mcp-options": {
      "get": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Listar opções MCP",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:read`.",
        "operationId": "get-autonomous-tasks-mcp-options",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:read"
      }
    },
    "/api/autonomous-tasks/overview": {
      "get": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Listar overview",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:read`.",
        "operationId": "get-autonomous-tasks-overview",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:read"
      }
    },
    "/api/autonomous-tasks/preview": {
      "post": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Visualizar prévia de tarefas autônomas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "post-autonomous-tasks-preview",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prompt": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "scheduleType": {
                    "type": "string",
                    "enum": [
                      "MANUAL",
                      "ONCE",
                      "DAILY",
                      "WEEKLY",
                      "MONTHLY"
                    ],
                    "default": "MANUAL"
                  },
                  "scheduleConfig": {
                    "type": "object",
                    "properties": {
                      "timeOfDay": {
                        "type": "string"
                      },
                      "dayOfWeek": {
                        "type": "number"
                      },
                      "dayOfMonth": {
                        "type": "number"
                      }
                    },
                    "additionalProperties": false
                  },
                  "startAt": {
                    "type": "string"
                  },
                  "executionPolicy": {
                    "type": "string",
                    "enum": [
                      "REQUIRE_APPROVAL",
                      "AUTO_EXECUTE"
                    ],
                    "default": "REQUIRE_APPROVAL"
                  },
                  "credentialId": {
                    "type": "string"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "operationalMode": {
                    "type": "string",
                    "enum": [
                      "report",
                      "suggest",
                      "prepare",
                      "execute"
                    ]
                  },
                  "connectorSlugs": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "mcpServerIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "templateName": {
                    "type": "string"
                  },
                  "templateLanguage": {
                    "type": "string"
                  },
                  "templateSelection": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "const": "single"
                          },
                          "templateName": {
                            "type": "string"
                          },
                          "templateLanguage": {
                            "type": "string",
                            "default": "pt_BR"
                          },
                          "templateId": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "mode",
                          "templateName",
                          "templateLanguage"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "const": "group"
                          },
                          "groupId": {
                            "type": "string"
                          },
                          "groupName": {
                            "type": "string"
                          },
                          "preferredLanguage": {
                            "type": "string",
                            "default": "pt_BR"
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "mode",
                          "groupId",
                          "preferredLanguage"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "const": "subgroup"
                          },
                          "subGroupId": {
                            "type": "string"
                          },
                          "groupId": {
                            "type": "string"
                          },
                          "subGroupName": {
                            "type": "string"
                          },
                          "groupName": {
                            "type": "string"
                          },
                          "preferredLanguage": {
                            "type": "string",
                            "default": "pt_BR"
                          },
                          "label": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "mode",
                          "subGroupId",
                          "preferredLanguage"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  },
                  "templateVariableMappings": {
                    "type": "object",
                    "additionalProperties": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string"
                            },
                            "fallback": {
                              "type": "string",
                              "nullable": true
                            },
                            "required": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "source"
                          ],
                          "additionalProperties": false
                        }
                      ]
                    }
                  },
                  "mission": {
                    "type": "object",
                    "properties": {
                      "objective": {
                        "type": "string"
                      },
                      "specialist": {
                        "type": "string",
                        "enum": [
                          "AUTO",
                          "GENERALIST",
                          "BILLING_RECOVERY",
                          "CUSTOMER_REACTIVATION",
                          "SALES_OPERATIONS",
                          "OPERATIONS_INTELLIGENCE",
                          "EXTERNAL_OPERATIONS"
                        ]
                      },
                      "successCriteria": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "autonomyScope": {
                        "type": "object",
                        "properties": {
                          "customerContact": {
                            "type": "boolean",
                            "default": true
                          },
                          "crmWrites": {
                            "type": "boolean",
                            "default": true
                          },
                          "taskWrites": {
                            "type": "boolean",
                            "default": true
                          },
                          "teamNotifications": {
                            "type": "boolean",
                            "default": true
                          },
                          "externalTools": {
                            "type": "boolean",
                            "default": true
                          },
                          "internalPlatformActions": {
                            "type": "boolean",
                            "default": true
                          }
                        },
                        "required": [
                          "customerContact",
                          "crmWrites",
                          "taskWrites",
                          "teamNotifications",
                          "externalTools",
                          "internalPlatformActions"
                        ],
                        "additionalProperties": false
                      },
                      "guardrails": {
                        "type": "object",
                        "properties": {
                          "maxEntities": {
                            "type": "number",
                            "default": "100"
                          },
                          "maxWriteActions": {
                            "type": "number",
                            "default": "100"
                          },
                          "maxExternalCalls": {
                            "type": "number",
                            "default": "25"
                          },
                          "maxStepCount": {
                            "type": "number",
                            "default": "12"
                          }
                        },
                        "required": [
                          "maxEntities",
                          "maxWriteActions",
                          "maxExternalCalls",
                          "maxStepCount"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  },
                  "previewHash": {
                    "type": "string"
                  },
                  "previewToken": {
                    "type": "string"
                  },
                  "maxRunsPerDay": {
                    "type": "number",
                    "default": "24"
                  }
                },
                "required": [
                  "prompt",
                  "scheduleType",
                  "scheduleConfig",
                  "executionPolicy",
                  "templateVariableMappings",
                  "mission",
                  "maxRunsPerDay"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      }
    },
    "/api/autonomous-tasks/runs/{runId}": {
      "get": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Consultar runs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:read`.",
        "operationId": "get-autonomous-tasks-runs-runId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de execução."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:read"
      }
    },
    "/api/autonomous-tasks/runs/{runId}/approve": {
      "post": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Aprovar runs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "post-autonomous-tasks-runs-runId-approve",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de execução."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      }
    },
    "/api/autonomous-tasks/runs/{runId}/cancel": {
      "post": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Cancelar runs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "post-autonomous-tasks-runs-runId-cancel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de execução."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      }
    },
    "/api/autonomous-tasks/runs/{runId}/reject": {
      "post": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Rejeitar runs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "post-autonomous-tasks-runs-runId-reject",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de execução."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      }
    },
    "/api/autonomous-tasks/runs/{runId}/retry": {
      "post": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Tentar novamente runs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:write`.",
        "operationId": "post-autonomous-tasks-runs-runId-retry",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de execução."
          },
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional idempotency-key."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:write"
      }
    },
    "/api/autonomous-tasks/templates": {
      "get": {
        "tags": [
          "Tarefas autônomas"
        ],
        "summary": "Listar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `autonomousTasks:read`.",
        "operationId": "get-autonomous-tasks-templates",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "autonomousTasks:read"
      }
    },
    "/api/billing/guided-support/bookings/{bookingId}/cancel": {
      "post": {
        "tags": [
          "Faturamento"
        ],
        "summary": "Cancelar agendamentos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `billing:write`.",
        "operationId": "post-billing-guided-support-bookings-bookingId-cancel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "bookingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agendamento."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Dados semanticamente inválidos.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "billing:write"
      }
    },
    "/api/billing/guided-support/bookings/{bookingId}/reschedule": {
      "post": {
        "tags": [
          "Faturamento"
        ],
        "summary": "Criar ou executar reschedule",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `billing:write`.",
        "operationId": "post-billing-guided-support-bookings-bookingId-reschedule",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "bookingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de agendamento."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string"
                  },
                  "timeZone": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "start",
                  "timeZone"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Dados semanticamente inválidos.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "billing:write"
      }
    },
    "/api/billing/guided-support/purchases/{purchaseId}/bookings": {
      "post": {
        "tags": [
          "Faturamento"
        ],
        "summary": "Criar ou executar agendamentos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `billing:write`.",
        "operationId": "post-billing-guided-support-purchases-purchaseId-bookings",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "purchaseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de compra."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string"
                  },
                  "timeZone": {
                    "type": "string"
                  },
                  "emailVerificationCode": {
                    "type": "string"
                  }
                },
                "required": [
                  "start",
                  "timeZone"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Dados semanticamente inválidos.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "billing:write"
      }
    },
    "/api/billing/guided-support/purchases/{purchaseId}/slots": {
      "get": {
        "tags": [
          "Faturamento"
        ],
        "summary": "Listar slots",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `billing:read`.",
        "operationId": "get-billing-guided-support-purchases-purchaseId-slots",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "purchaseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de compra."
          },
          {
            "name": "bookingId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de booking."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Dados semanticamente inválidos.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "billing:read"
      }
    },
    "/api/broadcasts": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Listar broadcasts",
        "description": "Lista as campanhas visíveis no escopo atual.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-broadcasts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      },
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Criar ou executar broadcasts",
        "description": "Cria uma campanha com template aprovado. A resposta retorna `broadcast` no nível raiz.\n\nCria uma campanha agendada. Se `sendAt` estiver suficientemente no futuro, o retorno virá com status `SCHEDULED`.\n\nCria uma campanha com quick replies do Instagram. Use uma credencial Instagram ativa.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-broadcasts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "campaignName": {
                    "type": "string"
                  },
                  "messageType": {
                    "type": "string",
                    "example": "template"
                  },
                  "template": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "example": "hello_world"
                      },
                      "language": {
                        "type": "string",
                        "example": "pt_BR"
                      }
                    }
                  },
                  "recipients": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "waId": {
                          "type": "string"
                        },
                        "parameters": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": {}
                          }
                        },
                        "variables": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "waId"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "sendAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId",
                  "campaignName"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Broadcast (Template)",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "campaignName": "Campanha Promocional Q1 2025",
                    "messageType": "template",
                    "template": {
                      "name": "hello_world",
                      "language": "pt_BR"
                    },
                    "recipients": [
                      {
                        "waId": "5511999990001"
                      },
                      {
                        "waId": "5511999990002"
                      },
                      {
                        "waId": "5511999990003"
                      }
                    ]
                  }
                },
                "exemplo2": {
                  "summary": "Create Scheduled Broadcast (Text)",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "campaignName": "Lembrete Semanal",
                    "messageType": "text",
                    "text": {
                      "body": "Olá! Este é um lembrete semanal da nossa equipe.",
                      "previewUrl": false
                    },
                    "sendAt": "{{scheduledDate}}",
                    "recipients": [
                      {
                        "waId": "5511999990001"
                      },
                      {
                        "waId": "5511999990002"
                      }
                    ]
                  }
                },
                "exemplo3": {
                  "summary": "Create Broadcast (Instagram Quick Replies)",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "campaignName": "Pesquisa no Instagram",
                    "messageType": "instagram_quick_replies",
                    "instagramQuickReplies": {
                      "text": "Como podemos ajudar hoje?",
                      "quickReplies": [
                        {
                          "title": "Ver pedidos",
                          "payload": "orders"
                        },
                        {
                          "title": "Falar com time",
                          "payload": "human_handoff"
                        },
                        {
                          "title": "Receber catálogo",
                          "payload": "catalog"
                        }
                      ]
                    },
                    "recipients": [
                      {
                        "waId": "17841400000000000"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/broadcasts/{id}": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Consultar broadcasts",
        "description": "Retorna os detalhes da campanha, incluindo indicadores agregados de entrega.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-broadcasts-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      }
    },
    "/api/broadcasts/{id}/cancel": {
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Cancelar broadcasts",
        "description": "Cancela uma campanha agendada antes do envio.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-broadcasts-id-cancel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/broadcasts/{id}/duplicate": {
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Duplicar broadcasts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-broadcasts-id-duplicate",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/broadcasts/{id}/logs": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Listar registros",
        "description": "Lista os registros de entrega da campanha com paginação.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-broadcasts-id-logs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      }
    },
    "/api/broadcasts/{id}/logs/export": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Exportar registros",
        "description": "Exporta os registros da campanha em JSON. Para CSV, troque `format=json` por `format=csv`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-broadcasts-id-logs-export",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "default": "csv"
            },
            "description": "Valor opcional de format."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      }
    },
    "/api/broadcasts/{id}/retry-failed": {
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Tentar novamente broadcasts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-broadcasts-id-retry-failed",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/broadcasts/{id}/start-now": {
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Iniciar broadcasts",
        "description": "Inicia imediatamente uma campanha agendada.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-broadcasts-id-start-now",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/broadcasts/{id}/stop": {
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Interromper broadcasts",
        "description": "Interrompe uma campanha em andamento ou agendada.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-broadcasts-id-stop",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/broadcasts/instagram/eligibility": {
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Criar ou executar eligibility",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "post-broadcasts-instagram-eligibility",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "sendAt": {
                    "type": "string",
                    "nullable": true
                  },
                  "recipients": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "waId": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "waId"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "credentialId",
                  "recipients"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      }
    },
    "/api/broadcasts/metrics": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Listar metrics",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-broadcasts-metrics",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      }
    },
    "/api/calls": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar chamadas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-calls",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de conversation."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de direction."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      },
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar chamadas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-calls",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialId": {
                        "type": "string"
                      },
                      "conversationId": {
                        "type": "string"
                      },
                      "to": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "credentialId"
                    ],
                    "additionalProperties": false
                  },
                  {},
                  {},
                  {},
                  {},
                  {},
                  {}
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/calls/settings": {
      "get": {
        "tags": [
          "Contas conectadas"
        ],
        "summary": "Listar settings",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `credentials:read`.",
        "operationId": "get-calls-settings",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "includeSipCredentials",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de include sip credentials."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "credentials:read"
      }
    },
    "/api/channel-accounts": {
      "get": {
        "tags": [
          "Contas conectadas"
        ],
        "summary": "Listar contas de canal",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `credentials:read`.",
        "operationId": "get-channel-accounts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "credentials:read"
      }
    },
    "/api/channel-accounts/{channelAccountId}": {
      "get": {
        "tags": [
          "Contas conectadas"
        ],
        "summary": "Consultar contas de canal",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `credentials:read`.",
        "operationId": "get-channel-accounts-channelAccountId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de channel account."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "credentials:read"
      },
      "patch": {
        "tags": [
          "Contas conectadas"
        ],
        "summary": "Atualizar contas de canal",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `credentials:write`.",
        "operationId": "patch-channel-accounts-channelAccountId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de channel account."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "credentials:write"
      }
    },
    "/api/channel-accounts/overview": {
      "get": {
        "tags": [
          "Contas conectadas"
        ],
        "summary": "Listar overview",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `credentials:read`.",
        "operationId": "get-channel-accounts-overview",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "credentials:read"
      }
    },
    "/api/channel-accounts/selectable": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar selectable",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-channel-accounts-selectable",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/channels/email/config": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-channels-email-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/channels/sms/config": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-channels-sms-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/code-automations": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar automações por código",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-code-automations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      },
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Criar ou executar automações por código",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-code-automations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {},
                      {}
                    ]
                  },
                  "triggerType": {
                    "type": "string",
                    "default": "WEBHOOK"
                  },
                  "triggerConfig": {},
                  "runtimeConfig": {},
                  "draftSourceCode": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "credentialId": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "triggerType",
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/code-automations/{id}": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Consultar automações por código",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-code-automations-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      },
      "patch": {
        "tags": [
          "Automações"
        ],
        "summary": "Atualizar automações por código",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "patch-code-automations-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {},
                      {}
                    ]
                  },
                  "triggerType": {
                    "type": "string"
                  },
                  "triggerConfig": {},
                  "runtimeConfig": {},
                  "draftSourceCode": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "credentialId": {}
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      },
      "delete": {
        "tags": [
          "Automações"
        ],
        "summary": "Excluir automações por código",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "delete-code-automations-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/code-automations/{id}/executions": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar execuções",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-code-automations-id-executions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      }
    },
    "/api/code-automations/{id}/executions/{executionId}": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Consultar execuções",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-code-automations-id-executions-executionId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "executionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de execução."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      }
    },
    "/api/code-automations/{id}/publish": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Publicar automações por código",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-code-automations-id-publish",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "activateAfterPublish": {
                    "type": "boolean",
                    "default": true
                  }
                },
                "required": [
                  "activateAfterPublish"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/code-automations/{id}/rollback": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Reverter automações por código",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-code-automations-id-rollback",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "revisionId": {
                    "type": "string"
                  }
                },
                "required": [
                  "revisionId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/code-automations/{id}/trigger-test": {
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Criar ou executar trigger test",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-code-automations-id-trigger-test",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "triggerType": {
                    "type": "string"
                  },
                  "payload": {},
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "query": {
                    "type": "object",
                    "additionalProperties": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      ]
                    }
                  },
                  "path": {
                    "type": "string"
                  }
                },
                "required": [
                  "triggerType"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Limite de requisições excedido.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/connectors": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar connectors",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/attention": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar attention",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-attention",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/bitrix24/claim": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Reivindicar bitrix24",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-bitrix24-claim",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "claimCode": {
                    "type": "string"
                  }
                },
                "required": [
                  "claimCode"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/bitrix24/config": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-bitrix24-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "patch": {
        "tags": [
          "Conectores"
        ],
        "summary": "Atualizar configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "patch-connectors-bitrix24-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "preferredCredentialId": {
                    "type": "string",
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "customClientId": {
                    "type": "string",
                    "nullable": true
                  },
                  "customClientSecret": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/bitrix24/disconnect": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Desconectar bitrix24",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-bitrix24-disconnect",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/bitrix24/logs": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar registros",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-bitrix24-logs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/bitrix24/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-bitrix24-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "forceRefresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de force refresh."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/bitrix24/templates": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-bitrix24-templates",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/bitrix24/test-send": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Testar bitrix24",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-bitrix24-test-send",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "phone": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  }
                },
                "required": [
                  "phone"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/catalog": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar catálogo",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-catalog",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "categories",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de categories."
          },
          {
            "name": "slugs",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de slugs."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/firecrawl/agent/{jobId}/cancel": {
      "delete": {
        "tags": [
          "Conectores"
        ],
        "summary": "Cancelar agent",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "delete-connectors-firecrawl-agent-jobId-cancel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de processamento."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/firecrawl/agent/{jobId}/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-firecrawl-agent-jobId-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de processamento."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/firecrawl/credits": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar credits",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-firecrawl-credits",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/firecrawl/extract": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar extract",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-firecrawl-extract",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "SCRAPE",
                      "CRAWL",
                      "SEARCH",
                      "EXTRACT",
                      "AGENT"
                    ],
                    "default": "EXTRACT"
                  },
                  "urls": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "query": {
                    "type": "string",
                    "nullable": true
                  },
                  "limit": {
                    "type": "number"
                  },
                  "prompt": {
                    "type": "string"
                  },
                  "schema": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "maxCredits": {
                    "type": "number"
                  },
                  "strictConstrainToURLs": {
                    "type": "boolean"
                  },
                  "model": {
                    "type": "string",
                    "enum": [
                      "spark-1-mini",
                      "spark-1-pro"
                    ]
                  },
                  "requirePhone": {
                    "type": "boolean"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "mapping": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "customFieldMap": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "scrapeOptions": {
                    "type": "object",
                    "properties": {
                      "onlyMainContent": {
                        "type": "boolean"
                      },
                      "onlyCleanContent": {
                        "type": "boolean"
                      },
                      "includeTags": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "excludeTags": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "maxAge": {
                        "type": "number"
                      },
                      "minAge": {
                        "type": "number"
                      },
                      "waitFor": {
                        "type": "number"
                      },
                      "mobile": {
                        "type": "boolean"
                      },
                      "skipTlsVerification": {
                        "type": "boolean"
                      },
                      "timeout": {
                        "type": "number"
                      },
                      "location": {
                        "type": "object",
                        "properties": {
                          "country": {
                            "type": "string"
                          },
                          "languages": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "removeBase64Images": {
                        "type": "boolean"
                      },
                      "blockAds": {
                        "type": "boolean"
                      },
                      "proxy": {
                        "type": "string",
                        "enum": [
                          "basic",
                          "enhanced",
                          "auto"
                        ]
                      },
                      "storeInCache": {
                        "type": "boolean"
                      },
                      "lockdown": {
                        "type": "boolean"
                      },
                      "redactPII": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  },
                  "quickAutomation": {
                    "type": "object",
                    "properties": {
                      "recipeSlug": {
                        "type": "string"
                      },
                      "templateId": {},
                      "templateMappings": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "string"
                        }
                      },
                      "quickReplyOptions": {},
                      "aiAgentId": {},
                      "aiAgentInstructions": {}
                    },
                    "required": [
                      "recipeSlug",
                      "templateId",
                      "quickReplyOptions",
                      "aiAgentId",
                      "aiAgentInstructions"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "mode",
                  "query"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Dados semanticamente inválidos.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/firecrawl/jobs": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar jobs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-firecrawl-jobs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "includeImported",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de include imported."
          },
          {
            "name": "includeRejected",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de include rejected."
          },
          {
            "name": "jobLimit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de job limit."
          },
          {
            "name": "leadLimit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de lead limit."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/firecrawl/jobs/{jobId}/logs": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar registros",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-firecrawl-jobs-jobId-logs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de processamento."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/firecrawl/leads": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar oportunidades",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-firecrawl-leads",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "PENDING"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/firecrawl/leads/approve": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Aprovar oportunidades",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-firecrawl-leads-approve",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "x-forwarded-for",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional x-forwarded-for."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "leadId": {
                    "type": "string"
                  },
                  "leadIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "jobId": {
                    "type": "string"
                  },
                  "jobIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/firecrawl/leads/reject": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Rejeitar oportunidades",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-firecrawl-leads-reject",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "leadId": {
                    "type": "string"
                  },
                  "leadIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/firecrawl/preview": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Visualizar prévia de firecrawl",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-firecrawl-preview",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "SCRAPE",
                      "CRAWL",
                      "SEARCH",
                      "EXTRACT"
                    ],
                    "default": "EXTRACT"
                  },
                  "urls": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "query": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "number"
                  },
                  "prompt": {
                    "type": "string"
                  },
                  "schema": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "scrapeOptions": {
                    "type": "object",
                    "properties": {
                      "onlyMainContent": {
                        "type": "boolean"
                      },
                      "onlyCleanContent": {
                        "type": "boolean"
                      },
                      "includeTags": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "excludeTags": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "maxAge": {
                        "type": "number"
                      },
                      "minAge": {
                        "type": "number"
                      },
                      "waitFor": {
                        "type": "number"
                      },
                      "mobile": {
                        "type": "boolean"
                      },
                      "skipTlsVerification": {
                        "type": "boolean"
                      },
                      "timeout": {
                        "type": "number"
                      },
                      "location": {
                        "type": "object",
                        "properties": {
                          "country": {
                            "type": "string"
                          },
                          "languages": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "removeBase64Images": {
                        "type": "boolean"
                      },
                      "blockAds": {
                        "type": "boolean"
                      },
                      "proxy": {
                        "type": "string",
                        "enum": [
                          "basic",
                          "enhanced",
                          "auto"
                        ]
                      },
                      "storeInCache": {
                        "type": "boolean"
                      },
                      "lockdown": {
                        "type": "boolean"
                      },
                      "redactPII": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "required": [
                  "mode"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/firecrawl/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-firecrawl-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/google-calendar/calendars": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar calendars",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-google-calendar-calendars",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/google-calendar/config": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-google-calendar-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "calendarId": {
                    "type": "string",
                    "nullable": true
                  },
                  "includeDetailsDefault": {
                    "type": "boolean"
                  },
                  "includeDetails": {
                    "type": "boolean"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/google-calendar/disconnect": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Desconectar google calendar",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-google-calendar-disconnect",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/google-calendar/events": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar eventos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-connectors-google-calendar-events",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "contactId": {
                    "type": "string"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "startAt": {
                    "type": "string"
                  },
                  "endAt": {
                    "type": "string"
                  },
                  "includeDetails": {
                    "type": "boolean"
                  },
                  "calendarId": {
                    "type": "string",
                    "nullable": true
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "attendees": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "email": {
                          "type": "string"
                        },
                        "displayName": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "email"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "addContactAsAttendee": {
                    "type": "boolean"
                  },
                  "addVideoConference": {
                    "type": "boolean"
                  },
                  "sendUpdates": {
                    "type": "string",
                    "enum": [
                      "all",
                      "externalOnly",
                      "none"
                    ]
                  },
                  "reminders": {
                    "type": "object",
                    "properties": {
                      "useDefault": {
                        "type": "boolean"
                      },
                      "overrides": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "method": {
                              "type": "string",
                              "enum": [
                                "email",
                                "popup"
                              ]
                            },
                            "minutes": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "method",
                            "minutes"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "useDefault"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "contactId",
                  "title",
                  "startAt",
                  "endAt"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/connectors/google-calendar/events/list": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar list",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-connectors-google-calendar-events-list",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de contact."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de max results."
          },
          {
            "name": "timeMax",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de time max."
          },
          {
            "name": "timeMin",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de time min."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/connectors/google-calendar/init": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar init",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-google-calendar-init",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Assinatura ou pagamento necessário.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/google-calendar/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-google-calendar-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/instagram/delete": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar delete",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-instagram-delete",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/instagram/disconnect": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Desconectar instagram",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-instagram-disconnect",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/instagram/init": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar init",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-instagram-init",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Assinatura ou pagamento necessário.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/instagram/repair": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar repair",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-instagram-repair",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/instagram/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-instagram-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/linear/config": {
      "patch": {
        "tags": [
          "Conectores"
        ],
        "summary": "Atualizar configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "patch-connectors-linear-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/linear/cycles": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar cycles",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-linear-cycles",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de team."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/linear/disconnect": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Desconectar linear",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-linear-disconnect",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/linear/init": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar init",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-linear-init",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Assinatura ou pagamento necessário.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/linear/issues": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar issues",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-linear-issues",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      },
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar issues",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-linear-issues",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de conversation."
          },
          {
            "name": "taskId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de task."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/linear/issues/{id}": {
      "delete": {
        "tags": [
          "Conectores"
        ],
        "summary": "Excluir issues",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "delete-connectors-linear-issues-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "deleteFromLinear",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de delete from linear."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      },
      "patch": {
        "tags": [
          "Conectores"
        ],
        "summary": "Atualizar issues",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "patch-connectors-linear-issues-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/linear/labels": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar etiquetas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-linear-labels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de team."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/linear/projects": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar projetos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-linear-projects",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/linear/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-linear-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/linear/teams": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar equipes",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-linear-teams",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/linear/users": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar usuários",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-linear-users",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/linear/workflow-states": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar workflow states",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-linear-workflow-states",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de team."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/mcp/analytics": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar análises",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-mcp-analytics",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "range",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de range."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/mcp/endpoints": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar endpoints",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-mcp-endpoints",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/mcp/endpoints/{id}/test": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Testar endpoints",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-mcp-endpoints-id-test",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/mcp/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-mcp-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/meta-catalog/catalogs": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar catalogs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-meta-catalog-catalogs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar catalogs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-meta-catalog-catalogs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId",
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      },
      "delete": {
        "tags": [
          "Conectores"
        ],
        "summary": "Excluir catalogs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "delete-connectors-meta-catalog-catalogs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "catalogId": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId",
                  "catalogId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/meta-catalog/config": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-meta-catalog-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "catalogId": {
                    "type": "string"
                  },
                  "catalogName": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId",
                  "catalogId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      },
      "patch": {
        "tags": [
          "Conectores"
        ],
        "summary": "Atualizar configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "patch-connectors-meta-catalog-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "isCartEnabled": {
                    "type": "boolean"
                  },
                  "isCatalogVisible": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      },
      "delete": {
        "tags": [
          "Conectores"
        ],
        "summary": "Excluir configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "delete-connectors-meta-catalog-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "catalogId": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/meta-catalog/product-image": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar product image",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-meta-catalog-product-image",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/meta-catalog/product-sets": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar product sets",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-meta-catalog-product-sets",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar product sets",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-meta-catalog-product-sets",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "catalogId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "filter": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "required": [
                  "credentialId",
                  "name",
                  "filter"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/meta-catalog/product-sets/{productSetId}": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar product sets",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-meta-catalog-product-sets-productSetId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "productSetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conjunto de produtos."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "catalogId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "filter": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "required": [
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      },
      "delete": {
        "tags": [
          "Conectores"
        ],
        "summary": "Excluir product sets",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "delete-connectors-meta-catalog-product-sets-productSetId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "productSetId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conjunto de produtos."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/meta-catalog/products": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar produtos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-meta-catalog-products",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar produtos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-meta-catalog-products",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "catalogId": {
                    "type": "string"
                  },
                  "retailer_id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "price": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "in stock",
                      "out of stock",
                      "preorder",
                      "available for order",
                      "discontinued",
                      "pending",
                      "mark_as_sold"
                    ]
                  },
                  "description": {
                    "type": "string"
                  },
                  "image_url": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  },
                  "brand": {
                    "type": "string"
                  },
                  "item_group_id": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "size": {
                    "type": "string"
                  },
                  "material": {
                    "type": "string"
                  },
                  "pattern": {
                    "type": "string"
                  },
                  "gender": {
                    "type": "string",
                    "enum": [
                      "female",
                      "male",
                      "unisex"
                    ]
                  },
                  "age_group": {
                    "type": "string",
                    "enum": [
                      "newborn",
                      "infant",
                      "toddler",
                      "kids",
                      "adult",
                      "all ages",
                      "teen"
                    ]
                  }
                },
                "required": [
                  "credentialId",
                  "retailer_id",
                  "name",
                  "image_url"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/meta-catalog/products/{productItemId}": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar produtos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-meta-catalog-products-productItemId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "productItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de produto."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "price": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "in stock",
                      "out of stock",
                      "preorder",
                      "available for order",
                      "discontinued",
                      "pending",
                      "mark_as_sold"
                    ]
                  },
                  "description": {
                    "type": "string"
                  },
                  "image_url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "const": ""
                      }
                    ]
                  },
                  "url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "const": ""
                      }
                    ]
                  },
                  "brand": {
                    "type": "string"
                  },
                  "item_group_id": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "size": {
                    "type": "string"
                  },
                  "material": {
                    "type": "string"
                  },
                  "pattern": {
                    "type": "string"
                  },
                  "gender": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "female",
                          "male",
                          "unisex"
                        ]
                      },
                      {
                        "const": ""
                      }
                    ]
                  },
                  "age_group": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "newborn",
                          "infant",
                          "toddler",
                          "kids",
                          "adult",
                          "all ages",
                          "teen"
                        ]
                      },
                      {
                        "const": ""
                      }
                    ]
                  }
                },
                "required": [
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      },
      "delete": {
        "tags": [
          "Conectores"
        ],
        "summary": "Excluir produtos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "delete-connectors-meta-catalog-products-productItemId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "productItemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de produto."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/meta-catalog/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-meta-catalog-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "catalogId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de catalog."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/meta-catalog/tracking": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar tracking",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-meta-catalog-tracking",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "catalogId": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/microsoft-calendar/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-microsoft-calendar-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/nuvemshop/audit": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar auditoria",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-nuvemshop-audit",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "eventType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de event type."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 30
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar auditoria",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-nuvemshop-audit",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "eventId": {
                    "type": "string"
                  }
                },
                "required": [
                  "eventId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "202": {
            "description": "Operação aceita para processamento.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/nuvemshop/disconnect": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Desconectar nuvemshop",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-nuvemshop-disconnect",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/nuvemshop/init": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar init",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-nuvemshop-init",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "402": {
            "description": "Assinatura ou pagamento necessário.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/nuvemshop/orders": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar pedidos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-nuvemshop-orders",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 25
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/nuvemshop/products/sync": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Sincronizar produtos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-nuvemshop-products-sync",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "202": {
            "description": "Operação aceita para processamento.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/nuvemshop/recipes": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar receitas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-nuvemshop-recipes",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "put": {
        "tags": [
          "Conectores"
        ],
        "summary": "Substituir receitas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "put-connectors-nuvemshop-recipes",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/nuvemshop/recipes/create-template": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar create template",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-nuvemshop-recipes-create-template",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/nuvemshop/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-nuvemshop-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "patch": {
        "tags": [
          "Conectores"
        ],
        "summary": "Atualizar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "patch-connectors-nuvemshop-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "widgetConfigId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "widgetConfigId"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "unlinkWidget": {
                        "const": true
                      }
                    },
                    "required": [
                      "unlinkWidget"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "metadata": {
                        "type": "object",
                        "properties": {
                          "deduplicationMinutes": {
                            "type": "number"
                          },
                          "productSync": {
                            "type": "object",
                            "additionalProperties": {}
                          },
                          "orderConfig": {
                            "type": "object",
                            "additionalProperties": {}
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "metadata"
                    ],
                    "additionalProperties": false
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/nuvemshop/sync": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Sincronizar nuvemshop",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-nuvemshop-sync",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/nuvemshop/webhooks": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar webhooks",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-nuvemshop-webhooks",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar webhooks",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-nuvemshop-webhooks",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/resend/api-keys": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar chaves de API",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-resend-api-keys",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de refresh."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/resend/connection": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar connection",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-resend-connection",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/resend/domains": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar domínios",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-resend-domains",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de refresh."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar domínios",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-resend-domains",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "region": {
                    "type": "string",
                    "enum": [
                      "us-east-1",
                      "eu-west-1",
                      "sa-east-1",
                      "ap-northeast-1"
                    ],
                    "nullable": true
                  },
                  "customReturnPath": {
                    "type": "string",
                    "nullable": true
                  },
                  "tls": {
                    "type": "string",
                    "enum": [
                      "opportunistic",
                      "enforced"
                    ],
                    "nullable": true
                  },
                  "capabilities": {
                    "type": "object",
                    "properties": {
                      "sending": {
                        "type": "string",
                        "enum": [
                          "enabled",
                          "disabled"
                        ]
                      },
                      "receiving": {}
                    },
                    "additionalProperties": false
                  },
                  "trackingSubdomain": {},
                  "openTracking": {
                    "type": "boolean"
                  },
                  "clickTracking": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "name",
                  "trackingSubdomain"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/resend/domains/{domainId}": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Consultar domínios",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-resend-domains-domainId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "domainId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de domain."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "patch": {
        "tags": [
          "Conectores"
        ],
        "summary": "Atualizar domínios",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "patch-connectors-resend-domains-domainId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "domainId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de domain."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "trackingSubdomain": {},
                  "openTracking": {
                    "type": "boolean"
                  },
                  "clickTracking": {
                    "type": "boolean"
                  },
                  "tls": {
                    "type": "string",
                    "enum": [
                      "opportunistic",
                      "enforced"
                    ]
                  },
                  "capabilities": {
                    "type": "object",
                    "properties": {
                      "sending": {
                        "type": "string",
                        "enum": [
                          "enabled",
                          "disabled"
                        ]
                      },
                      "receiving": {
                        "type": "string",
                        "enum": [
                          "enabled",
                          "disabled"
                        ]
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "required": [
                  "trackingSubdomain"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      },
      "delete": {
        "tags": [
          "Conectores"
        ],
        "summary": "Excluir domínios",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "delete-connectors-resend-domains-domainId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "domainId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de domain."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/resend/domains/{domainId}/verify": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Verificar domínios",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-resend-domains-domainId-verify",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "domainId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de domain."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/resend/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-resend-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "includeActivity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de include activity."
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de refresh."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/resend/templates": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-resend-templates",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de refresh."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-resend-templates",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "html": {
                    "type": "string"
                  },
                  "subject": {
                    "type": "string",
                    "nullable": true
                  },
                  "text": {
                    "type": "string",
                    "nullable": true
                  },
                  "alias": {
                    "type": "string",
                    "nullable": true
                  },
                  "from": {
                    "type": "string",
                    "nullable": true
                  },
                  "replyTo": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "variables": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "key": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "string",
                            "number"
                          ]
                        },
                        "fallbackValue": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "number"
                            }
                          ],
                          "nullable": true
                        }
                      },
                      "required": [
                        "key",
                        "type"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "name",
                  "html"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/resend/templates/{templateId}": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Consultar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-resend-templates-templateId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de template."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "patch": {
        "tags": [
          "Conectores"
        ],
        "summary": "Atualizar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "patch-connectors-resend-templates-templateId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de template."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "html": {
                    "type": "string"
                  },
                  "subject": {
                    "type": "string",
                    "nullable": true
                  },
                  "text": {
                    "type": "string",
                    "nullable": true
                  },
                  "alias": {
                    "type": "string",
                    "nullable": true
                  },
                  "from": {
                    "type": "string",
                    "nullable": true
                  },
                  "replyTo": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "variables": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "key": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "string",
                            "number"
                          ]
                        },
                        "fallbackValue": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "number"
                            }
                          ],
                          "nullable": true
                        }
                      },
                      "required": [
                        "key",
                        "type"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      },
      "delete": {
        "tags": [
          "Conectores"
        ],
        "summary": "Excluir templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "delete-connectors-resend-templates-templateId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de template."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/resend/templates/{templateId}/publish": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Publicar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-resend-templates-templateId-publish",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de template."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/resend/test": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Testar resend",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-resend-test",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "channelAccountId": {
                    "type": "string"
                  },
                  "to": {
                    "type": "string"
                  },
                  "subject": {
                    "type": "string"
                  },
                  "html": {
                    "type": "string"
                  },
                  "text": {
                    "type": "string"
                  },
                  "includeSignature": {
                    "type": "boolean",
                    "default": true
                  }
                },
                "required": [
                  "channelAccountId",
                  "to",
                  "subject"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/resend/webhook": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar webhook",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-resend-webhook",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar webhook",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-resend-webhook",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/sms/request-number": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar request number",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-sms-request-number",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "note": {
                    "type": "string",
                    "default": ""
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Limite de requisições excedido.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/sms/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-sms-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/sms/test": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Testar sms",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-sms-test",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "channelAccountId": {
                    "type": "string"
                  },
                  "fromNumber": {
                    "type": "string"
                  },
                  "to": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string",
                    "default": "Teste de SMS enviado pela CloudWhats."
                  }
                },
                "required": [
                  "to"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/stripe/charges": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar charges",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-stripe-charges",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional idempotency-key."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "invoice_email",
                      "payment_link"
                    ]
                  },
                  "amountCents": {
                    "type": "number"
                  },
                  "currency": {},
                  "title": {
                    "type": "string"
                  },
                  "description": {},
                  "contactId": {},
                  "customerName": {},
                  "customerEmail": {},
                  "customerPhone": {},
                  "dueInDays": {
                    "type": "number",
                    "nullable": true
                  }
                },
                "required": [
                  "mode",
                  "amountCents",
                  "title",
                  "description",
                  "contactId",
                  "customerName",
                  "customerPhone"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/stripe/disconnect": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Desconectar stripe",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-stripe-disconnect",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/stripe/init": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar init",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-stripe-init",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/stripe/recipes": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar receitas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-stripe-recipes",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "put": {
        "tags": [
          "Conectores"
        ],
        "summary": "Substituir receitas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "put-connectors-stripe-recipes",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "recipeType": {
                    "type": "string"
                  },
                  "isEnabled": {
                    "type": "boolean"
                  },
                  "credentialId": {},
                  "templateName": {},
                  "templateLanguage": {},
                  "delayMinutes": {
                    "type": "number",
                    "default": "0"
                  },
                  "metadata": {}
                },
                "required": [
                  "recipeType",
                  "credentialId",
                  "templateName"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/stripe/recipes/create-template": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar create template",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-stripe-recipes-create-template",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "recipeType": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "create",
                      "draft"
                    ],
                    "default": "create"
                  }
                },
                "required": [
                  "recipeType",
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/stripe/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-stripe-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de refresh."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/stripe/webhook-events/{id}/retry": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Tentar novamente webhook events",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-stripe-webhook-events-id-retry",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/typebot/bots": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar bots",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-typebot-bots",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/typebot/config": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-typebot-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "delete": {
        "tags": [
          "Conectores"
        ],
        "summary": "Excluir configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "delete-connectors-typebot-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/typebot/flows": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar flows",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-typebot-flows",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar flows",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-typebot-flows",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "typebotId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {},
                  "triggerMode": {
                    "type": "string",
                    "enum": [
                      "KEYWORD",
                      "MANUAL",
                      "BOTH"
                    ]
                  },
                  "triggerKeywords": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "triggerKeywordMatchMode": {
                    "type": "string",
                    "enum": [
                      "EXACT",
                      "CONTAINS",
                      "STARTS_WITH"
                    ],
                    "default": "CONTAINS"
                  },
                  "handoffEnabled": {
                    "type": "boolean",
                    "default": true
                  },
                  "handoffAssignToUserId": {},
                  "handoffAssignToTeamId": {},
                  "sessionTimeoutMinutes": {
                    "type": "number",
                    "default": "240"
                  },
                  "messageBubbleDelayMs": {
                    "type": "number",
                    "default": "1500"
                  },
                  "priority": {
                    "type": "number",
                    "default": "0"
                  },
                  "isActive": {
                    "type": "boolean",
                    "default": true
                  },
                  "prefilledVariableMapping": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "nullable": true
                  },
                  "unknownMessageReply": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "typebotId",
                  "name",
                  "triggerMode",
                  "handoffAssignToUserId",
                  "handoffAssignToTeamId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/typebot/flows/{flowId}": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Consultar flows",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-typebot-flows-flowId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "patch": {
        "tags": [
          "Conectores"
        ],
        "summary": "Atualizar flows",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "patch-connectors-typebot-flows-flowId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "typebotId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {},
                  "triggerMode": {
                    "type": "string",
                    "enum": [
                      "KEYWORD",
                      "MANUAL",
                      "BOTH"
                    ]
                  },
                  "triggerKeywords": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "triggerKeywordMatchMode": {
                    "type": "string",
                    "enum": [
                      "EXACT",
                      "CONTAINS",
                      "STARTS_WITH"
                    ],
                    "default": "CONTAINS"
                  },
                  "handoffEnabled": {
                    "type": "boolean",
                    "default": true
                  },
                  "handoffAssignToUserId": {},
                  "handoffAssignToTeamId": {},
                  "sessionTimeoutMinutes": {
                    "type": "number",
                    "default": "240"
                  },
                  "messageBubbleDelayMs": {
                    "type": "number",
                    "default": "1500"
                  },
                  "priority": {
                    "type": "number",
                    "default": "0"
                  },
                  "isActive": {
                    "type": "boolean",
                    "default": true
                  },
                  "prefilledVariableMapping": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    },
                    "nullable": true
                  },
                  "unknownMessageReply": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "typebotId",
                  "name",
                  "triggerMode",
                  "handoffAssignToUserId",
                  "handoffAssignToTeamId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      },
      "delete": {
        "tags": [
          "Conectores"
        ],
        "summary": "Excluir flows",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "delete-connectors-typebot-flows-flowId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/typebot/preview": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Visualizar prévia de typebot",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "post-connectors-typebot-preview",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "typebotId": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "isStreamEnabled": {
                    "type": "boolean"
                  },
                  "prefilledVariables": {
                    "type": "object",
                    "additionalProperties": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      ]
                    }
                  }
                },
                "required": [
                  "typebotId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/typebot/sessions": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar sessões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-typebot-sessions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de conversation."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor opaco recebido na página anterior."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar sessões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-typebot-sessions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conversationId": {
                    "type": "string"
                  },
                  "flowConfigId": {
                    "type": "string"
                  }
                },
                "required": [
                  "conversationId",
                  "flowConfigId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/typebot/sessions/{sessionId}": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Consultar sessões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-typebot-sessions-sessionId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      },
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Criar ou executar sessões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-typebot-sessions-sessionId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "end"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "COMPLETED",
                      "EXPIRED",
                      "ERROR"
                    ],
                    "default": "COMPLETED"
                  }
                },
                "required": [
                  "action"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      },
      "delete": {
        "tags": [
          "Conectores"
        ],
        "summary": "Excluir sessões",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "delete-connectors-typebot-sessions-sessionId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/typebot/start": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Iniciar typebot",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-typebot-start",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conversationId": {
                    "type": "string"
                  },
                  "flowConfigId": {
                    "type": "string"
                  }
                },
                "required": [
                  "conversationId",
                  "flowConfigId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/typebot/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-typebot-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/webhook/endpoints": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar endpoints",
        "description": "Lista os endpoints outbound configurados para a empresa.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-webhook-endpoints",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/webhook/endpoints/{id}/test": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Testar endpoints",
        "description": "Dispara uma entrega de teste para validar conectividade, autenticação e processamento.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-webhook-endpoints-id-test",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/webhook/logs": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar registros",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-webhook-logs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "event",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de event."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "success",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de success."
          },
          {
            "name": "webhookId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de webhook."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/webhook/logs/{id}": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Consultar registros",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-webhook-logs-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/connectors/webhook/logs/{id}/replay": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Reprocessar registros",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-connectors-webhook-logs-id-replay",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/connectors/webhook/status": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Listar status",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-connectors-webhook-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/contacts": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar contacts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "labelIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de label ids."
          },
          {
            "name": "orderBy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de order by."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "sortDirection",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de sort direction."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar contacts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "x-forwarded-for",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional x-forwarded-for."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "phone": {
                    "type": "string",
                    "example": "{{contactPhoneRaw}}"
                  },
                  "name": {
                    "type": "string",
                    "example": "{{contactName}}"
                  },
                  "email": {
                    "type": "string",
                    "example": "{{contactEmail}}"
                  },
                  "city": {
                    "type": "string",
                    "example": "Sao Paulo"
                  },
                  "customAttributes": {
                    "type": "object",
                    "properties": {
                      "segmento": {
                        "type": "string",
                        "example": "postman"
                      }
                    }
                  }
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Contact",
                  "value": {
                    "phone": "{{contactPhoneRaw}}",
                    "name": "{{contactName}}",
                    "email": "{{contactEmail}}",
                    "city": "Sao Paulo",
                    "customAttributes": {
                      "segmento": "postman"
                    }
                  }
                },
                "exemplo2": {
                  "summary": "Setup - Create Contact for Labels",
                  "value": {
                    "phone": "{{labelTestPhone}}",
                    "name": "Label Test Contact"
                  }
                },
                "exemplo3": {
                  "summary": "Setup - Create Contact A (Primary)",
                  "value": {
                    "phone": "{{mergePhoneA}}",
                    "name": "Merge Contact A"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/{id}": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Consultar contacts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar contacts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-contacts-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "x-forwarded-for",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional x-forwarded-for."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "phone": {
                    "type": "string",
                    "example": "{{updatedContactPhoneRaw}}"
                  },
                  "name": {
                    "type": "string",
                    "example": "{{updatedContactName}}"
                  },
                  "city": {
                    "type": "string",
                    "example": "Campinas"
                  },
                  "customAttributes": {
                    "type": "object",
                    "properties": {
                      "segmento": {
                        "type": "string",
                        "example": "enterprise"
                      }
                    }
                  },
                  "metadata": {
                    "type": "object",
                    "properties": {
                      "notes": {
                        "type": "string",
                        "example": "{{contactNotes}}"
                      }
                    }
                  }
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Contact",
                  "value": {
                    "phone": "{{updatedContactPhoneRaw}}",
                    "name": "{{updatedContactName}}",
                    "city": "Campinas",
                    "customAttributes": {
                      "segmento": "enterprise"
                    },
                    "metadata": {
                      "notes": "{{contactNotes}}"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "delete": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Excluir contacts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:delete`.",
        "operationId": "delete-contacts-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "x-forwarded-for",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional x-forwarded-for."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:delete"
      }
    },
    "/api/contacts/{id}/360": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar 360",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-id-360",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/contacts/{id}/ai-memory": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar ai memory",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-id-ai-memory",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "conversationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de conversation."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar ai memory",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts-id-ai-memory",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "conversationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de conversation."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "delete": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Excluir ai memory",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "delete-contacts-id-ai-memory",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "conversationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de conversation."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/{id}/avatar": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar avatar",
        "description": "Faz upload de uma imagem como avatar do contato. Formatos aceitos: JPEG, PNG, WebP, GIF. Tamanho maximo: 5 MB.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts-id-avatar",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "delete": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Excluir avatar",
        "description": "Remove o avatar do contato.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "delete-contacts-id-avatar",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/{id}/block": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar block",
        "description": "Bloqueia um contato no WhatsApp via Meta API. O contato nao podera mais enviar mensagens.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts-id-block",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "x-forwarded-for",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional x-forwarded-for."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "phoneNumberId": {
                    "type": "string",
                    "example": "{{phoneNumberId}}"
                  }
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Block Contact",
                  "value": {
                    "phoneNumberId": "{{phoneNumberId}}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/{id}/blocked": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar blocked",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-id-blocked",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "phoneNumberId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID do numero de telefone Meta"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/contacts/{id}/custom-field-values": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar custom field values",
        "description": "Retorna os valores dos campos customizados de um contato especifico.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-id-custom-field-values",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/contacts/{id}/labels": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar etiquetas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-id-labels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar etiquetas",
        "description": "Define as labels do contato. Acoes disponiveis: `add` (adicionar), `remove` (remover), `set` (substituir todas).\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-contacts-id-labels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "add",
                      "remove",
                      "set"
                    ]
                  },
                  "labels": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "action",
                  "labels"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Contact Labels (Set)",
                  "value": {
                    "action": "set",
                    "labels": [
                      "{{testLabelId}}"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/{id}/merge-candidates": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar merge candidates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-id-merge-candidates",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/contacts/{id}/timeline": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar timeline",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-id-timeline",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "conversationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de conversation."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor opaco recebido na página anterior."
          },
          {
            "name": "kinds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de kinds."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "since",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de since."
          },
          {
            "name": "take",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 40
            },
            "description": "Quantidade máxima de itens retornados."
          },
          {
            "name": "until",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de until."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/contacts/{id}/unblock": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Desbloquear contacts",
        "description": "Desbloqueia um contato no WhatsApp via Meta API.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts-id-unblock",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "x-forwarded-for",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional x-forwarded-for."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "phoneNumberId": {
                    "type": "string",
                    "example": "{{phoneNumberId}}"
                  }
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Unblock Contact",
                  "value": {
                    "phoneNumberId": "{{phoneNumberId}}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/bulk-actions": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar ações em massa",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts-bulk-actions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "const": "assign"
                      },
                      "contactIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "assignToUserId": {
                        "type": "string",
                        "nullable": true
                      },
                      "assignToTeamId": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "action",
                      "contactIds"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "const": "close-conversations"
                      },
                      "contactIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "action",
                      "contactIds"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "const": "reopen-conversations"
                      },
                      "contactIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "action",
                      "contactIds"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "const": "add-labels"
                      },
                      "contactIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "labelIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "action",
                      "contactIds",
                      "labelIds"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "const": "remove-labels"
                      },
                      "contactIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "labelIds": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "action",
                      "contactIds",
                      "labelIds"
                    ],
                    "additionalProperties": false
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/bulk-labels": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar bulk labels",
        "description": "Adiciona, remove ou define labels em massa para multiplos contatos. Acoes: `add`, `remove`, `set`. Labels referenciadas por UUID.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts-bulk-labels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "contactIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "add",
                      "remove",
                      "set"
                    ]
                  },
                  "labels": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "contactIds",
                  "action",
                  "labels"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Bulk Update Labels",
                  "value": {
                    "contactIds": [
                      "{{labelContactId}}"
                    ],
                    "action": "add",
                    "labels": [
                      "{{testLabelId}}"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/create": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar create",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts-create",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "x-forwarded-for",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional x-forwarded-for."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/custom-attributes": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar atributos personalizados",
        "description": "Retorna um resumo dos atributos customizados em uso, com contagem de utilização dentro do escopo resolvido.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-custom-attributes",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da credencial compatível usada para restringir o escopo desta consulta"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/contacts/custom-fields": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar campos personalizados",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-custom-fields",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar campos personalizados",
        "description": "Cria um campo customizado do tipo texto. Tipos disponiveis: `text`, `select`, `date`, `checkbox`.\n\nCria um campo customizado do tipo select com opcoes pre-definidas.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts-custom-fields",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "text",
                      "select",
                      "date",
                      "checkbox"
                    ]
                  },
                  "description": {
                    "type": "string"
                  },
                  "isRequired": {
                    "type": "boolean",
                    "default": false
                  },
                  "options": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "name",
                  "key",
                  "type",
                  "options",
                  "isRequired"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Custom Field (Text)",
                  "value": {
                    "name": "Empresa",
                    "key": "empresa",
                    "type": "text",
                    "description": "Nome da empresa do contato",
                    "isRequired": false
                  }
                },
                "exemplo2": {
                  "summary": "Create Custom Field (Select)",
                  "value": {
                    "name": "Prioridade",
                    "key": "prioridade",
                    "type": "select",
                    "description": "Nivel de prioridade do contato",
                    "options": [
                      "Baixa",
                      "Media",
                      "Alta",
                      "Urgente"
                    ],
                    "isRequired": false
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/custom-fields/{fieldId}": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Consultar campos personalizados",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-custom-fields-fieldId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "fieldId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de campo."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar campos personalizados",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-contacts-custom-fields-fieldId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "fieldId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de campo."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "isRequired": {
                    "type": "boolean"
                  },
                  "options": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Custom Field",
                  "value": {
                    "name": "Empresa (Atualizado)",
                    "description": "Nome da empresa do contato (campo atualizado via API)",
                    "isRequired": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "delete": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Excluir campos personalizados",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "delete-contacts-custom-fields-fieldId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "fieldId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de campo."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/filter": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar filter",
        "description": "Filtra contatos por criterios avancados. Suporta multiplos filtros combinados.\n\nFiltra contatos pela presenca de tags/labels.\n\nFiltra contatos por intervalo de data usando o operador `between`.\n\nFiltra contatos por valor de um campo customizado. Use o prefixo `custom.` seguido da chave do campo.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "post-contacts-filter",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channel",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filters": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "example": "filter-1"
                        },
                        "field": {
                          "type": "string",
                          "example": "name"
                        },
                        "operator": {
                          "type": "string",
                          "example": "contains"
                        },
                        "value": {
                          "type": "string",
                          "example": "Postman"
                        }
                      }
                    }
                  }
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Filter Contacts (By Name)",
                  "value": {
                    "filters": [
                      {
                        "id": "filter-1",
                        "field": "name",
                        "operator": "contains",
                        "value": "Postman"
                      }
                    ]
                  }
                },
                "exemplo2": {
                  "summary": "Filter Contacts (By Tags)",
                  "value": {
                    "filters": [
                      {
                        "id": "filter-tags",
                        "field": "tags",
                        "operator": "contains",
                        "value": "VIP"
                      }
                    ]
                  }
                },
                "exemplo3": {
                  "summary": "Filter Contacts (By Date Range)",
                  "value": {
                    "filters": [
                      {
                        "id": "filter-date",
                        "field": "createdAt",
                        "operator": "between",
                        "value": "2024-01-01",
                        "value2": "2024-12-31"
                      }
                    ]
                  }
                },
                "exemplo4": {
                  "summary": "Filter Contacts (By Custom Field)",
                  "value": {
                    "filters": [
                      {
                        "id": "filter-custom",
                        "field": "custom.empresa",
                        "operator": "equals",
                        "value": "Acme Corp"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/contacts/import": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Importar contacts",
        "description": "Importa contatos em massa a partir de um arquivo CSV ou XLSX. Esta rota continua baseada em `credentialId` como query param.\n\nO sistema detecta automaticamente as colunas pelo nome, com suporte a aliases em PT-BR e EN.\n\nLabels devem ser separadas por `|` na coluna correspondente.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts-import",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da credencial compatível usada para importar os contatos neste escopo"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/labels": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar etiquetas",
        "description": "Adiciona uma label (pelo nome) a um ou mais contatos. A label e criada automaticamente se nao existir.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts-labels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "contactIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "label": {
                    "type": "string"
                  }
                },
                "required": [
                  "contactIds",
                  "label"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Add Label to Multiple Contacts",
                  "value": {
                    "contactIds": [
                      "{{labelContactId}}"
                    ],
                    "label": "API Test Label"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "delete": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Excluir etiquetas",
        "description": "Remove uma label (pelo nome) de um ou mais contatos.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "delete-contacts-labels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "contactIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "label": {
                    "type": "string"
                  }
                },
                "required": [
                  "contactIds",
                  "label"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Remove Label from Multiple Contacts",
                  "value": {
                    "contactIds": [
                      "{{labelContactId}}"
                    ],
                    "label": "API Test Label"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/lookup": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar lookup",
        "description": "Busca um contato pelo numero de telefone. Retorna `exists: true` com dados basicos se encontrado, ou `exists: false`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-lookup",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "phone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Numero de telefone para busca"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/contacts/merge": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar merge",
        "description": "Mescla dois contatos. O `contactId` indica o contato que sera atualizado. Campos opcionais `phone` e `name` definem os valores finais.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-contacts-merge",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "x-forwarded-for",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional x-forwarded-for."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "contactId": {
                    "type": "string",
                    "example": "{{mergeContactIdA}}"
                  },
                  "name": {
                    "type": "string",
                    "example": "Merged Contact Final"
                  }
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Merge Contacts",
                  "value": {
                    "contactId": "{{mergeContactIdA}}",
                    "name": "Merged Contact Final"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/contacts/work-queue": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar work queue",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-contacts-work-queue",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "filters",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de filters."
          },
          {
            "name": "labelIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de label ids."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de sort."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/conversations": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar conversas",
        "description": "Lista conversas com filtros aplicados: apenas ativas e nao lidas.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          },
          {
            "name": "take",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade de resultados (padrao: 20)"
          },
          {
            "name": "unreadOnly",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de unread only."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}": {
      "delete": {
        "tags": [
          "Conversas"
        ],
        "summary": "Excluir conversas",
        "description": "Exclui permanentemente uma conversa. Esta acao NAO pode ser desfeita.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "delete-conversations-conversationId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "204": {
            "description": "Operação concluída sem conteúdo."
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/{conversationId}/alternatives": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar alternatives",
        "description": "Encontra outras conversas do mesmo contato em canais diferentes (ex: WhatsApp e Instagram).\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-alternatives",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/assign": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar assign",
        "description": "Atribui a conversa a um agente e/ou equipe. Deve conter pelo menos `assignedToId` ou `assignedTeamId`.\n\nAtribui a conversa a uma equipe.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-conversationId-assign",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "assignedToId": {
                    "type": "string",
                    "nullable": true
                  },
                  "notes": {
                    "type": "string"
                  },
                  "assignedTeamId": {
                    "nullable": true
                  },
                  "preserveCurrentTeam": {
                    "type": "boolean"
                  },
                  "notifyPreviousAssignee": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Assign Conversation",
                  "value": {
                    "assignedToId": "{{agentUserId}}",
                    "notes": "Atribuido via API"
                  }
                },
                "exemplo2": {
                  "summary": "Assign to Team",
                  "value": {
                    "assignedTeamId": "{{teamId}}",
                    "notes": "Encaminhado para equipe de suporte via API"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "delete": {
        "tags": [
          "Conversas"
        ],
        "summary": "Excluir assign",
        "description": "Remove todas as atribuicoes (agente e equipe) da conversa.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "delete-conversations-conversationId-assign",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/{conversationId}/business-context": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar contexto comercial",
        "description": "Retorna o contexto consolidado da conversa no escopo da conta vinculada, com dados de contato, organizacao, conversas relacionadas, disponibilidade de recursos e sinais operacionais.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-business-context",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/calls": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar chamadas",
        "description": "Lista historico de chamadas da conversa.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-calls",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor opaco recebido na página anterior."
          },
          {
            "name": "take",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20
            },
            "description": "Quantidade (1-50)"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/calls/permissions": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar permissions",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-calls-permissions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/email-attachments/{providerEmailId}/{attachmentId}": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Consultar email attachments",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-email-attachments-providerEmailId-attachmentId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "providerEmailId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de provider email."
          },
          {
            "name": "attachmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de attachment."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/export": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Exportar conversas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-export",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de format."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/internal-thread": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar conversa interna",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-internal-thread",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor opaco recebido na página anterior."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/knowledge": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar base de conhecimento",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-knowledge",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "catalog",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de catálogo."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "recommendedOnly",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de recommended only."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de type."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      },
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar base de conhecimento",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-conversationId-knowledge",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "galleryItemId": {
                    "type": "string"
                  },
                  "instructions": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "galleryItemId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/{conversationId}/knowledge/{scopeId}": {
      "patch": {
        "tags": [
          "Conversas"
        ],
        "summary": "Atualizar base de conhecimento",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "patch-conversations-conversationId-knowledge-scopeId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "scopeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de scope."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "instructions": {
                    "type": "string",
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar base de conhecimento",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-conversationId-knowledge-scopeId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "scopeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de scope."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "delete": {
        "tags": [
          "Conversas"
        ],
        "summary": "Excluir base de conhecimento",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "delete-conversations-conversationId-knowledge-scopeId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "scopeId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de scope."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/{conversationId}/knowledge/upload": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar upload",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-conversationId-knowledge-upload",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/{conversationId}/media": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar mídias",
        "description": "Lista midias compartilhadas na conversa. Tipos: `media` (fotos/videos), `links`, `docs` (documentos).\n\nLista documentos compartilhados na conversa.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-media",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor opaco recebido na página anterior."
          },
          {
            "name": "take",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 30
            },
            "description": "Quantidade máxima de itens retornados."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "media"
            },
            "description": "Tipo: media (fotos/videos), links, docs"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/messages": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar mensagens",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `messages:read`.",
        "operationId": "get-conversations-conversationId-messages",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor opaco recebido na página anterior."
          },
          {
            "name": "take",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 30
            },
            "description": "Quantidade de mensagens"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "messages:read"
      }
    },
    "/api/conversations/{conversationId}/messages/jump": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar jump",
        "description": "Pula para uma mensagem especifica retornando o contexto ao redor (mensagens antes e depois).\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-messages-jump",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "messageId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID interno da mensagem alvo"
          },
          {
            "name": "metaMessageId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de meta message."
          },
          {
            "name": "window",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 60
            },
            "description": "Janela de contexto (1-200 mensagens antes/depois)"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/messages/save": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar save",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "post-conversations-conversationId-messages-save",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/messages/saved": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar saved",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-messages-saved",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor opaco recebido na página anterior."
          },
          {
            "name": "mode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "ids"
            },
            "description": "Valor opcional de mode."
          },
          {
            "name": "take",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 50
            },
            "description": "Quantidade máxima de itens retornados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/messages/search": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar search",
        "description": "Busca mensagens dentro de uma conversa especifica. Minimo 2 caracteres no termo de busca.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-messages-search",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Termo de busca (min 2 chars)"
          },
          {
            "name": "take",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 50
            },
            "description": "Quantidade de resultados (1-100)"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/private-notes": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar notas privadas",
        "description": "Cria uma nota privada na conversa. Use `mentionedUserIds` para mencionar outros agentes.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-conversationId-private-notes",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "string"
                  },
                  "mentionedUserIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "content"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Private Note",
                  "value": {
                    "content": "Nota privada criada via API. Cliente solicitou retorno amanha.",
                    "mentionedUserIds": []
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar notas privadas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-private-notes",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/private-notes/{messageId}": {
      "patch": {
        "tags": [
          "Conversas"
        ],
        "summary": "Atualizar notas privadas",
        "description": "Atualiza o conteudo de uma nota privada existente.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "patch-conversations-conversationId-private-notes-messageId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "messageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de mensagem."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "content"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Private Note",
                  "value": {
                    "content": "Nota atualizada via API. Cliente confirmou reuniao para amanha as 14h."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/{conversationId}/read": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar read",
        "description": "Marca a conversa como lida. Quando o canal suportar recibo de leitura, a confirmação também é enviada ao provedor.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-conversationId-read",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/{conversationId}/reminders": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar lembretes",
        "description": "Cria um lembrete. Tipos: `CONVERSATION` (sobre a conversa) ou `MESSAGE` (sobre mensagem especifica, requer `targetMessageId`).\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-conversationId-reminders",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "MESSAGE",
                      "CONVERSATION"
                    ]
                  },
                  "remindAt": {
                    "type": "string"
                  },
                  "note": {
                    "type": "string",
                    "nullable": true
                  },
                  "targetMessageId": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "remindAt"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Reminder",
                  "value": {
                    "type": "CONVERSATION",
                    "remindAt": "{{reminderDate}}",
                    "note": "Lembrete: retornar ao cliente sobre proposta comercial"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar lembretes",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-conversationId-reminders",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          },
          {
            "name": "all",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de all."
          },
          {
            "name": "messageId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de message."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Filtrar por status: PENDING, TRIGGERED, CANCELLED"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/{conversationId}/status": {
      "patch": {
        "tags": [
          "Conversas"
        ],
        "summary": "Atualizar status",
        "description": "Atualiza o status da conversa. Valores: `ACTIVE`, `CLOSED`, `ARCHIVED`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "patch-conversations-conversationId-status",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "ACTIVE",
                      "CLOSED",
                      "ARCHIVED"
                    ]
                  }
                },
                "required": [
                  "status"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Conversation Status",
                  "value": {
                    "status": "CLOSED"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/{conversationId}/typing": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar typing",
        "description": "Envia indicador de digitacao. Status: `typing` (digitando) ou `paused` (parou). Rate limit: 20 requisicoes por 10 segundos.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-conversationId-typing",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "typing",
                      "paused"
                    ]
                  },
                  "sourceMessageId": {
                    "type": "string"
                  },
                  "typingType": {
                    "type": "string",
                    "enum": [
                      "text",
                      "media",
                      "interactive",
                      "template"
                    ]
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Send Typing Indicator",
                  "value": {
                    "status": "typing"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/{conversationId}/unread": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar unread",
        "description": "Marca a conversa como não lida apenas no estado interno da plataforma.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-conversationId-unread",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/assign": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar assign",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-assign",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conversationId": {
                    "type": "string"
                  },
                  "assignedToId": {
                    "nullable": true
                  },
                  "assignedTeamId": {
                    "nullable": true
                  },
                  "notes": {
                    "type": "string"
                  },
                  "preserveCurrentTeam": {
                    "type": "boolean"
                  },
                  "notifyPreviousAssignee": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "conversationId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "delete": {
        "tags": [
          "Conversas"
        ],
        "summary": "Excluir assign",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "delete-conversations-assign",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conversationId": {
                    "type": "string"
                  }
                },
                "required": [
                  "conversationId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar assign",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-assign",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de conversation."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/bulk": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar bulk",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-bulk",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "mark-read",
                      "mark-unread",
                      "assign",
                      "archive",
                      "close",
                      "delete",
                      "tag",
                      "toggle-ai-handoff"
                    ]
                  },
                  "conversationIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "assignedToId": {
                    "type": "string",
                    "nullable": true
                  },
                  "assignedTeamId": {
                    "type": "string",
                    "nullable": true
                  },
                  "tagIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "pauseAi": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "action",
                  "conversationIds"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/mentions": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar mentions",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-conversations-mentions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "conversationId": {
                    "type": "string"
                  },
                  "messageId": {},
                  "mentionedUserId": {},
                  "mentionedUserIds": {
                    "type": "array",
                    "items": {}
                  },
                  "messageContent": {
                    "type": "string"
                  }
                },
                "required": [
                  "conversationId",
                  "messageId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar mentions",
        "description": "Lista as menções do usuário autenticado em notas privadas. A resposta é um array no nível raiz.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-mentions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de conversation."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor opaco recebido na página anterior."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "unreadOnly",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Mostrar apenas mencoes nao lidas"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      },
      "patch": {
        "tags": [
          "Conversas"
        ],
        "summary": "Atualizar mentions",
        "description": "Marca uma mencao como lida.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "patch-conversations-mentions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mentionId": {
                    "type": "string"
                  },
                  "mentionIds": {
                    "type": "array",
                    "items": {}
                  },
                  "conversationId": {},
                  "all": {
                    "type": "boolean",
                    "default": false
                  },
                  "isRead": {
                    "type": "boolean"
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "read",
                      "unread"
                    ]
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Mark Mention as Read",
                  "value": {
                    "mentionId": "{{mentionId}}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/conversations/unread-count": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar contagem de não lidas",
        "description": "Retorna o total de conversas não lidas dentro do escopo visível para a API key.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-unread-count",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/conversations/unread-counts-by-credential": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar contagens por conta",
        "description": "Retorna a contagem de conversas não lidas agrupada por `credentialId`. Este endpoint ainda segue o agrupamento legado por credencial.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-conversations-unread-counts-by-credential",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/crm/deals": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar negócios",
        "description": "Lista negócios com paginação, filtros por funil, etapa, contato, responsável, status e texto livre.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-crm-deals",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de contact."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "dueFrom",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de due from."
          },
          {
            "name": "dueTo",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de due to."
          },
          {
            "name": "funnelId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de funnel."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "overdue",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de overdue."
          },
          {
            "name": "ownerId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de owner."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "priority",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de priority."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "stageId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de stage."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Aceita lista separada por vírgula: OPEN,WON,LOST"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar negócios",
        "description": "Cria um negócio vinculado a um contato visível no escopo da conta escolhida.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-crm-deals",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "value": {
                    "type": "number"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "OPEN",
                      "WON",
                      "LOST"
                    ]
                  },
                  "priority": {
                    "type": "string",
                    "enum": [
                      "LOW",
                      "MEDIUM",
                      "HIGH"
                    ]
                  },
                  "stageId": {
                    "type": "string"
                  },
                  "contactId": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  },
                  "ownerId": {
                    "type": "string"
                  },
                  "dueDate": {
                    "type": "string"
                  },
                  "closingDate": {
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "stageId",
                  "contactId"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Deal",
                  "value": {
                    "title": "Negócio API - Renovação anual",
                    "description": "Cliente avaliando expansão do contrato.",
                    "value": 1499.9,
                    "currency": "BRL",
                    "status": "OPEN",
                    "priority": "HIGH",
                    "stageId": "{{stageId}}",
                    "contactId": "{{contactId}}",
                    "credentialId": "{{credentialId}}",
                    "ownerId": "{{ownerId}}",
                    "dueDate": "2026-01-15T14:00:00.000Z",
                    "closingDate": "2026-01-31T18:00:00.000Z"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "delete": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Excluir negócios",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "delete-crm-deals",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dealIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "credentialId": {}
                },
                "required": [
                  "dealIds"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar negócios",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-crm-deals",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dealIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "credentialId": {},
                  "stageId": {},
                  "status": {
                    "type": "string",
                    "enum": [
                      "OPEN",
                      "WON",
                      "LOST"
                    ]
                  },
                  "ownerId": {
                    "nullable": true
                  }
                },
                "required": [
                  "dealIds"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/crm/deals/{id}": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Consultar negócios",
        "description": "Retorna um negócio com contato, responsável e etapa associados.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-crm-deals-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar negócios",
        "description": "Atualiza os principais campos do negócio e pode acionar automações associadas.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-crm-deals-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "OPEN",
                      "WON",
                      "LOST"
                    ]
                  },
                  "priority": {
                    "type": "string",
                    "enum": [
                      "LOW",
                      "MEDIUM",
                      "HIGH"
                    ]
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "stageId": {
                    "type": "string"
                  },
                  "value": {
                    "type": "number",
                    "nullable": true
                  },
                  "currency": {
                    "type": "string"
                  },
                  "ownerId": {
                    "type": "string",
                    "nullable": true
                  },
                  "credentialId": {
                    "type": "string"
                  },
                  "dueDate": {
                    "type": "string",
                    "nullable": true
                  },
                  "closingDate": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Deal",
                  "value": {
                    "title": "Negócio API - Proposta enviada",
                    "status": "OPEN",
                    "priority": "MEDIUM",
                    "description": "Proposta enviada e aguardando retorno do cliente.",
                    "stageId": "{{stageId}}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "delete": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Excluir negócios",
        "description": "Exclui o negócio informado. A resposta esperada é `204 No Content`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "delete-crm-deals-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "204": {
            "description": "Operação concluída sem conteúdo."
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/crm/deals/{id}/history": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar history",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-crm-deals-id-history",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/crm/deals/{id}/orders": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar pedidos",
        "description": "Lista pedidos ligados ao negócio ou ao contato associado a ele.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-crm-deals-id-orders",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 25
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "source",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de source."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/crm/deals/{id}/tasks": {
      "get": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Listar tasks",
        "description": "Lista tarefas ligadas diretamente ao negócio ou ao contato do negócio.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:read`.",
        "operationId": "get-crm-deals-id-tasks",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade de itens por página."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:read"
      },
      "post": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Criar ou executar tasks",
        "description": "Cria uma tarefa vinculada ao negócio. Além do gate de CRM, exige acesso a tarefas.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "post-crm-deals-id-tasks",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "priority": {
                    "type": "string",
                    "enum": [
                      "LOW",
                      "NORMAL",
                      "HIGH",
                      "URGENT"
                    ]
                  },
                  "dueDate": {
                    "type": "string"
                  },
                  "assignToSelf": {
                    "type": "boolean"
                  },
                  "credentialId": {
                    "type": "string"
                  },
                  "assignedToId": {
                    "type": "string"
                  },
                  "assignedTeamId": {
                    "type": "string"
                  }
                },
                "required": [
                  "title"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Deal Task",
                  "value": {
                    "title": "Retornar sobre proposta",
                    "description": "Agendar retorno com o cliente sobre a proposta comercial.",
                    "priority": "HIGH",
                    "dueDate": "2026-01-20T14:00:00.000Z",
                    "assignToSelf": true,
                    "credentialId": "{{credentialId}}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      }
    },
    "/api/crm/funnels": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar funis",
        "description": "Lista todos os funis com suas etapas ordenadas.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-crm-funnels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar funis",
        "description": "Cria um novo funil com seis etapas padrão automaticamente.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-crm-funnels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "isDefault": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Funnel",
                  "value": {
                    "name": "Funil API",
                    "description": "Funil criado para testes da documentação.",
                    "isDefault": false
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/crm/funnels/{id}": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Consultar funis",
        "description": "Retorna o funil informado com suas etapas ordenadas.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-crm-funnels-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar funis",
        "description": "Atualiza o funil e pode torná-lo padrão, desmarcando os demais.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-crm-funnels-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "isDefault": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Funnel",
                  "value": {
                    "name": "Funil API Atualizado",
                    "description": "Funil revisado pela API pública.",
                    "isDefault": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "delete": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Excluir funis",
        "description": "Exclui o funil informado. A resposta esperada é `204 No Content`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "delete-crm-funnels-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "204": {
            "description": "Operação concluída sem conteúdo."
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/crm/stages": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar etapas",
        "description": "Cria uma nova etapa em um funil existente.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-crm-stages",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "order": {
                    "type": "number"
                  },
                  "funnelId": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "order",
                  "funnelId"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Stage",
                  "value": {
                    "name": "Follow-up",
                    "description": "Cliente aguardando retorno comercial.",
                    "color": "#8b5cf6",
                    "order": 6,
                    "funnelId": "{{funnelId}}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar etapas",
        "description": "Reordena etapas em lote. A resposta esperada é `204 No Content`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-crm-stages",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "order": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "id",
                    "order"
                  ],
                  "additionalProperties": false
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Reorder Stages",
                  "value": [
                    {
                      "id": "{{stageId}}",
                      "order": 0
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "204": {
            "description": "Operação concluída sem conteúdo."
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/crm/stages/{id}": {
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar etapas",
        "description": "Atualiza nome, descrição, cor e ordem de uma etapa.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-crm-stages-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "order": {
                    "type": "number"
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Stage",
                  "value": {
                    "name": "Follow-up revisado",
                    "description": "Cliente aguardando revisão comercial.",
                    "color": "#6366f1",
                    "order": 1
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "delete": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Excluir etapas",
        "description": "Exclui a etapa informada. A resposta esperada é `204 No Content`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "delete-crm-stages-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "204": {
            "description": "Operação concluída sem conteúdo."
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/email-campaigns": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Listar campanhas de e-mail",
        "description": "Lista as campanhas de e-mail disponíveis no escopo atual.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-email-campaigns",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 20
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      },
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Criar ou executar campanhas de e-mail",
        "description": "Cria uma campanha de e-mail em rascunho usando conteúdo customizado.\n\nCria uma campanha de e-mail agendada.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-email-campaigns",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "topicId": {
                    "type": "string",
                    "nullable": true
                  },
                  "segmentId": {},
                  "contentMode": {
                    "type": "string",
                    "enum": [
                      "custom",
                      "resend_template"
                    ],
                    "default": "custom"
                  },
                  "subject": {
                    "type": "string",
                    "nullable": true
                  },
                  "previewText": {
                    "type": "string",
                    "nullable": true
                  },
                  "fromName": {
                    "type": "string",
                    "nullable": true
                  },
                  "replyToEmail": {
                    "type": "string",
                    "nullable": true
                  },
                  "htmlBody": {
                    "type": "string",
                    "nullable": true
                  },
                  "textBody": {
                    "type": "string",
                    "nullable": true
                  },
                  "audienceType": {
                    "type": "string",
                    "enum": [
                      "manual",
                      "filtered",
                      "saved_segment"
                    ],
                    "default": "manual"
                  },
                  "recipients": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "email": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string",
                          "nullable": true
                        },
                        "contactId": {
                          "type": "string",
                          "nullable": true
                        },
                        "variables": {
                          "type": "object",
                          "additionalProperties": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "number"
                              },
                              {
                                "type": "boolean"
                              },
                              {}
                            ]
                          },
                          "nullable": true
                        },
                        "source": {
                          "type": "string",
                          "enum": [
                            "manual",
                            "filtered",
                            "imported"
                          ]
                        }
                      },
                      "required": [
                        "email"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "schedule",
                      "send_now"
                    ],
                    "default": "draft"
                  },
                  "templateId": {
                    "type": "string",
                    "nullable": true
                  },
                  "audienceFilters": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "field": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string",
                          "default": ""
                        },
                        "value2": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "field",
                        "operator"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "scheduledAt": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "name",
                  "channelAccountId",
                  "topicId",
                  "segmentId",
                  "recipients"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Email Campaign (Draft)",
                  "value": {
                    "name": "Boas-vindas de novos clientes",
                    "channelAccountId": "{{channelAccountId}}",
                    "topicId": null,
                    "segmentId": null,
                    "contentMode": "custom",
                    "subject": "Boas-vindas à CloudWhats",
                    "previewText": "Veja como começar mais rápido",
                    "fromName": "Time CloudWhats",
                    "replyToEmail": "suporte@exemplo.com",
                    "htmlBody": "<p>Olá {{first_name}}</p><p>Bem-vindo(a) à CloudWhats.</p>",
                    "textBody": "Olá! Bem-vindo(a) à CloudWhats.",
                    "audienceType": "manual",
                    "recipients": [
                      {
                        "email": "cliente@example.com",
                        "name": "Cliente Exemplo",
                        "source": "manual",
                        "variables": {
                          "first_name": "Cliente"
                        }
                      }
                    ],
                    "action": "draft"
                  }
                },
                "exemplo2": {
                  "summary": "Create Email Campaign (Scheduled)",
                  "value": {
                    "name": "Newsletter semanal",
                    "channelAccountId": "{{channelAccountId}}",
                    "topicId": null,
                    "segmentId": null,
                    "contentMode": "custom",
                    "subject": "Novidades da semana",
                    "previewText": "Resumo rápido das atualizações",
                    "fromName": "Time CloudWhats",
                    "htmlBody": "<p>Confira as novidades da semana.</p>",
                    "textBody": "Confira as novidades da semana.",
                    "audienceType": "manual",
                    "recipients": [
                      {
                        "email": "cliente@example.com",
                        "name": "Cliente Exemplo",
                        "source": "manual"
                      }
                    ],
                    "action": "schedule",
                    "scheduledAt": "{{scheduledDate}}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/email-campaigns/{id}": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Consultar campanhas de e-mail",
        "description": "Retorna o detalhe completo da campanha, incluindo conta de envio, destinatários e eventos recentes.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-email-campaigns-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "eventsTake",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 25
            },
            "description": "Valor opcional de events take."
          },
          {
            "name": "recipientsTake",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 50
            },
            "description": "Valor opcional de recipients take."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      },
      "patch": {
        "tags": [
          "Disparos"
        ],
        "summary": "Atualizar campanhas de e-mail",
        "description": "Reagenda a campanha para uma nova data futura.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "patch-email-campaigns-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "scheduledAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "scheduledAt"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Reschedule Email Campaign",
                  "value": {
                    "scheduledAt": "{{scheduledDate}}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/email-campaigns/{id}/cancel": {
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Cancelar campanhas de e-mail",
        "description": "Cancela a campanha no estado atual e sincroniza o retorno disponível.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-email-campaigns-id-cancel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/email-campaigns/{id}/logs": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Listar registros",
        "description": "Lista destinatários e eventos da campanha com paginação independente para cada grupo.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-email-campaigns-id-logs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "eventsPage",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Valor opcional de events page."
          },
          {
            "name": "eventsPageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 50
            },
            "description": "Valor opcional de events page size."
          },
          {
            "name": "recipientQuery",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de recipient query."
          },
          {
            "name": "recipientStatus",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de recipient status."
          },
          {
            "name": "recipientsPage",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "description": "Valor opcional de recipients page."
          },
          {
            "name": "recipientsPageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 50
            },
            "description": "Valor opcional de recipients page size."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      }
    },
    "/api/email-campaigns/{id}/send": {
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Enviar campanhas de e-mail",
        "description": "Dispara imediatamente uma campanha elegível para envio.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-email-campaigns-id-send",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/email-marketing/segments": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Listar segments",
        "description": "Lista os segmentos disponíveis no escopo atual.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-email-marketing-segments",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "includeArchived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de include archived."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      },
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Criar ou executar segments",
        "description": "Cria um segmento de marketing por e-mail. O exemplo usa `filters: []` para evitar dependência de operadores específicos.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-email-marketing-segments",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "filters": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "field": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string",
                          "default": ""
                        },
                        "value2": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "field",
                        "operator"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "channelAccountId": {},
                  "syncNow": {
                    "type": "boolean",
                    "default": true
                  }
                },
                "required": [
                  "name",
                  "description",
                  "filters",
                  "channelAccountId"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Email Marketing Segment",
                  "value": {
                    "name": "Clientes com e-mail válido",
                    "description": "Segmento criado via API",
                    "filters": [],
                    "channelAccountId": "{{channelAccountId}}",
                    "syncNow": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/email-marketing/segments/{id}": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Consultar segments",
        "description": "Retorna o detalhe de um segmento de marketing por e-mail no escopo da conta ativa.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-email-marketing-segments-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      },
      "patch": {
        "tags": [
          "Disparos"
        ],
        "summary": "Atualizar segments",
        "description": "Atualiza nome, descrição e filtros do segmento.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "patch-email-marketing-segments-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "filters": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "field": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string",
                          "default": ""
                        },
                        "value2": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "field",
                        "operator"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "syncNow": {
                    "type": "boolean",
                    "default": true
                  }
                },
                "required": [
                  "name",
                  "description",
                  "filters"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Email Marketing Segment",
                  "value": {
                    "name": "Clientes com e-mail válido - atualizado",
                    "description": "Segmento atualizado via API",
                    "filters": [],
                    "syncNow": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      },
      "delete": {
        "tags": [
          "Disparos"
        ],
        "summary": "Excluir segments",
        "description": "Arquiva o segmento no escopo atual da conta de e-mail.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "delete-email-marketing-segments-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/email-marketing/segments/{id}/preview": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Visualizar prévia de segments",
        "description": "Mostra uma prévia dos contatos elegíveis e a contagem total estimada do segmento.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-email-marketing-segments-id-preview",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      }
    },
    "/api/email-marketing/segments/{id}/sync": {
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Sincronizar segments",
        "description": "Sincroniza o segmento com o provedor de e-mail quando necessário.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-email-marketing-segments-id-sync",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/email-marketing/topics": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Listar tópicos",
        "description": "Lista os tópicos de marketing por e-mail disponíveis para a conta ativa/resolvida.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-email-marketing-topics",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "includeArchived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de include archived."
          },
          {
            "name": "refresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de refresh."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      },
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Criar ou executar tópicos",
        "description": "Cria um tópico de marketing por e-mail.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-email-marketing-topics",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "visibility": {
                    "type": "string",
                    "enum": [
                      "PUBLIC",
                      "PRIVATE"
                    ],
                    "default": "PRIVATE"
                  },
                  "defaultSubscription": {
                    "type": "string",
                    "enum": [
                      "OPT_IN",
                      "OPT_OUT"
                    ],
                    "default": "OPT_IN"
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Email Marketing Topic",
                  "value": {
                    "name": "Novidades do produto",
                    "description": "Comunicações sobre lançamentos e melhorias",
                    "visibility": "PRIVATE",
                    "defaultSubscription": "OPT_IN"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/email-marketing/topics/{id}": {
      "patch": {
        "tags": [
          "Disparos"
        ],
        "summary": "Atualizar tópicos",
        "description": "Atualiza os dados do tópico de marketing por e-mail.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "patch-email-marketing-topics-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "defaultSubscription": {
                    "type": "string",
                    "enum": [
                      "OPT_IN",
                      "OPT_OUT"
                    ]
                  },
                  "name": {
                    "type": "string"
                  },
                  "visibility": {
                    "type": "string",
                    "enum": [
                      "PUBLIC",
                      "PRIVATE"
                    ]
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Email Marketing Topic",
                  "value": {
                    "description": "Comunicações sobre lançamentos, melhorias e avisos importantes",
                    "defaultSubscription": "OPT_IN"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      },
      "delete": {
        "tags": [
          "Disparos"
        ],
        "summary": "Excluir tópicos",
        "description": "Arquiva o tópico no escopo atual da conta ativa/resolvida.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "delete-email-marketing-topics-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/feature-requests": {
      "get": {
        "tags": [
          "Sugestões"
        ],
        "summary": "Listar sugestões de produto",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `featureRequests:read`.",
        "operationId": "get-feature-requests",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de category."
          },
          {
            "name": "onlyMine",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de only mine."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "featureRequests:read"
      },
      "post": {
        "tags": [
          "Sugestões"
        ],
        "summary": "Criar ou executar sugestões de produto",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `featureRequests:write`.",
        "operationId": "post-feature-requests",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "category": {
                    "type": "string"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "notifyOnStatusChange": {
                    "type": "boolean"
                  },
                  "tenantId": {
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "description"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "featureRequests:write"
      }
    },
    "/api/feature-requests/{id}": {
      "get": {
        "tags": [
          "Sugestões"
        ],
        "summary": "Consultar sugestões de produto",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `featureRequests:read`.",
        "operationId": "get-feature-requests-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "featureRequests:read"
      },
      "patch": {
        "tags": [
          "Sugestões"
        ],
        "summary": "Atualizar sugestões de produto",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `featureRequests:write`.",
        "operationId": "patch-feature-requests-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "BACKLOG",
                      "UNDER_REVIEW",
                      "PLANNED",
                      "IN_PROGRESS",
                      "COMPLETED",
                      "REJECTED",
                      "ON_HOLD"
                    ]
                  },
                  "priority": {
                    "type": "string",
                    "enum": [
                      "LOW",
                      "MEDIUM",
                      "HIGH",
                      "CRITICAL"
                    ]
                  },
                  "category": {
                    "type": "string"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "assignedToId": {
                    "type": "string",
                    "nullable": true
                  },
                  "estimatedEffort": {
                    "type": "string"
                  },
                  "targetVersion": {
                    "type": "string"
                  },
                  "internalNotes": {
                    "type": "string"
                  },
                  "rejectionReason": {
                    "type": "string"
                  },
                  "duplicateOfId": {
                    "type": "string",
                    "nullable": true
                  },
                  "notifyOnStatusChange": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "featureRequests:write"
      },
      "delete": {
        "tags": [
          "Sugestões"
        ],
        "summary": "Excluir sugestões de produto",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `featureRequests:write`.",
        "operationId": "delete-feature-requests-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "featureRequests:write"
      }
    },
    "/api/feature-requests/{id}/comments": {
      "get": {
        "tags": [
          "Sugestões"
        ],
        "summary": "Listar comments",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `featureRequests:read`.",
        "operationId": "get-feature-requests-id-comments",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "featureRequests:read"
      },
      "post": {
        "tags": [
          "Sugestões"
        ],
        "summary": "Criar ou executar comments",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `featureRequests:write`.",
        "operationId": "post-feature-requests-id-comments",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "string"
                  },
                  "isInternal": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "content"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "featureRequests:write"
      }
    },
    "/api/feature-requests/{id}/vote": {
      "post": {
        "tags": [
          "Sugestões"
        ],
        "summary": "Criar ou executar vote",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `featureRequests:write`.",
        "operationId": "post-feature-requests-id-vote",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "featureRequests:write"
      },
      "delete": {
        "tags": [
          "Sugestões"
        ],
        "summary": "Excluir vote",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `featureRequests:write`.",
        "operationId": "delete-feature-requests-id-vote",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "featureRequests:write"
      }
    },
    "/api/flow-endpoints": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar endpoints de fluxo",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-flow-endpoints",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "flowId": {
                    "type": "string"
                  },
                  "automationRules": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      },
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar endpoints de fluxo",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-flow-endpoints",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de flow."
          },
          {
            "name": "isActive",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de is active."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      }
    },
    "/api/flow-endpoints/{endpointId}": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Consultar endpoints de fluxo",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-flow-endpoints-endpointId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de endpoint."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      },
      "patch": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Atualizar endpoints de fluxo",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "patch-flow-endpoints-endpointId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de endpoint."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "endpointId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "automationRules": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "required": [
                  "endpointId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      },
      "delete": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Excluir endpoints de fluxo",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "delete-flow-endpoints-endpointId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de endpoint."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/flow-responses": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar flow responses",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-flow-responses",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de contact."
          },
          {
            "name": "flowId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de flow."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Valor opcional de offset."
          },
          {
            "name": "processed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de processed."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      },
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar flow responses",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-flow-responses",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/flow-responses/batch-process": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar batch process",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-flow-responses-batch-process",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/flows": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar flows",
        "description": "Lista os flows disponíveis para a conta informada.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-flows",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "dbOnly",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de db only."
          },
          {
            "name": "source",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de source."
          },
          {
            "name": "sync",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de sync."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      },
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar flows",
        "description": "Cria um flow e sincroniza com a Meta.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-flows",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "categories": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "SIGN_UP",
                        "SIGN_IN",
                        "APPOINTMENT_BOOKING",
                        "LEAD_GENERATION",
                        "CONTACT_US",
                        "CUSTOMER_SUPPORT",
                        "SURVEY",
                        "OTHER"
                      ]
                    }
                  },
                  "endpointType": {
                    "type": "string",
                    "enum": [
                      "NONE",
                      "META_PROVIDED",
                      "CUSTOM"
                    ],
                    "default": "NONE"
                  },
                  "json_version": {
                    "type": "string"
                  },
                  "endpoint_uri": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {}
                    ]
                  },
                  "useCustomEndpoint": {
                    "type": "boolean",
                    "default": false
                  },
                  "customEndpointName": {
                    "type": "string"
                  },
                  "customEndpointDescription": {
                    "type": "string"
                  },
                  "templateId": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId",
                  "name",
                  "categories",
                  "endpointType",
                  "useCustomEndpoint",
                  "json_version"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Flow",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "name": "Flow API",
                    "categories": [
                      "OTHER"
                    ],
                    "endpointType": "CLOUD",
                    "json_version": "7.1"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/flows/{flowId}": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Consultar flows",
        "description": "Retorna os metadados do flow informado.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-flows-flowId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      },
      "patch": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Atualizar flows",
        "description": "Atualiza o flow localmente e no provedor.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "patch-flows-flowId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "categories": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "SIGN_UP",
                        "SIGN_IN",
                        "APPOINTMENT_BOOKING",
                        "LEAD_GENERATION",
                        "CONTACT_US",
                        "CUSTOMER_SUPPORT",
                        "SURVEY",
                        "OTHER"
                      ]
                    }
                  },
                  "endpoint_uri": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {}
                    ]
                  },
                  "flowId": {
                    "type": "string"
                  },
                  "endpointType": {
                    "type": "string",
                    "enum": [
                      "NONE",
                      "META_PROVIDED",
                      "CUSTOM"
                    ]
                  },
                  "useCustomEndpoint": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "flowId"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Flow",
                  "value": {
                    "name": "Flow API Atualizado",
                    "categories": [
                      "OTHER"
                    ],
                    "endpoint_uri": "https://example.com/flow-endpoint"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      },
      "delete": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Excluir flows",
        "description": "Exclui o flow da base local e da Meta.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "delete-flows-flowId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/flows/{flowId}/assets": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar assets",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-flows-flowId-assets",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      },
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar assets",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-flows-flowId-assets",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/flows/{flowId}/deprecate": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Descontinuar flows",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-flows-flowId-deprecate",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/flows/{flowId}/json": {
      "get": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Listar json",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `flows:read`.",
        "operationId": "get-flows-flowId-json",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:read"
      },
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Criar ou executar json",
        "description": "Atualiza a definição JSON do flow diretamente.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-flows-flowId-json",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "json": {
                    "type": "object",
                    "properties": {
                      "version": {
                        "type": "string"
                      },
                      "data_api_version": {
                        "type": "string"
                      },
                      "routing_model": {
                        "type": "object",
                        "additionalProperties": {}
                      },
                      "screens": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "title": {
                              "type": "string"
                            },
                            "terminal": {
                              "type": "boolean"
                            },
                            "data": {
                              "type": "object",
                              "additionalProperties": {}
                            },
                            "layout": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "SingleColumnLayout"
                                  ]
                                },
                                "children": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "additionalProperties": {}
                                  }
                                }
                              },
                              "required": [
                                "type",
                                "children"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "id",
                            "layout"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "version",
                      "screens"
                    ],
                    "additionalProperties": false
                  },
                  "flowId": {
                    "type": "string"
                  }
                },
                "required": [
                  "flowId"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Flow JSON",
                  "value": {
                    "json": {
                      "screens": [],
                      "routing_model": {}
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/flows/{flowId}/publish": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Publicar flows",
        "description": "Publica o flow na Meta.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-flows-flowId-publish",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "flowId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de fluxo."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/flows/send": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Enviar flows",
        "description": "Envia uma mensagem com flow para um contato. O flow precisa estar publicado.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-flows-send",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "to": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  },
                  "flowId": {
                    "type": "string"
                  },
                  "flowCta": {
                    "type": "string"
                  },
                  "flowAction": {
                    "type": "string",
                    "enum": [
                      "navigate",
                      "data_exchange"
                    ]
                  },
                  "flowActionPayload": {
                    "type": "object",
                    "properties": {
                      "screen": {
                        "type": "string"
                      },
                      "data": {
                        "type": "object",
                        "additionalProperties": {}
                      }
                    },
                    "additionalProperties": false
                  },
                  "body": {
                    "type": "string"
                  },
                  "flowToken": {
                    "type": "string"
                  },
                  "header": {
                    "type": "string"
                  },
                  "footer": {
                    "type": "string"
                  },
                  "contextMessageId": {
                    "type": "string"
                  }
                },
                "required": [
                  "to",
                  "credentialId",
                  "flowId",
                  "flowCta",
                  "flowAction",
                  "body"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Send Flow Message",
                  "value": {
                    "to": "5511999999999",
                    "credentialId": "{{credentialId}}",
                    "flowId": "{{flowId}}",
                    "flowCta": "Abrir fluxo",
                    "flowAction": "navigate",
                    "flowActionPayload": {},
                    "body": "Confira este fluxo interativo."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/flows/sync": {
      "post": {
        "tags": [
          "Fluxos e agentes"
        ],
        "summary": "Sincronizar flows",
        "description": "Importa e sincroniza flows da Meta para a base local.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `flows:write`.",
        "operationId": "post-flows-sync",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Sync Flows",
                  "value": {
                    "credentialId": "{{credentialId}}"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "flows:write"
      }
    },
    "/api/gallery": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar gallery",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-gallery",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "folderId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de folder."
          },
          {
            "name": "isActive",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de is active."
          },
          {
            "name": "labelIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de label ids."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de type."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar gallery",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-gallery",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "aiContext": {
                    "type": "string",
                    "nullable": true
                  },
                  "folderId": {
                    "type": "string",
                    "nullable": true
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "IMAGE",
                      "VIDEO",
                      "AUDIO",
                      "DOCUMENT",
                      "LINK"
                    ]
                  },
                  "url": {
                    "type": "string"
                  },
                  "fileName": {
                    "type": "string",
                    "nullable": true
                  },
                  "mimeType": {
                    "type": "string",
                    "nullable": true
                  },
                  "fileSize": {
                    "type": "number",
                    "nullable": true
                  },
                  "thumbnailUrl": {
                    "nullable": true
                  },
                  "includeInAgentContext": {
                    "type": "boolean"
                  },
                  "inheritFolderAiContext": {
                    "type": "boolean"
                  },
                  "labelIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "name",
                  "type",
                  "url"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/gallery/{itemId}": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Consultar gallery",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-gallery-itemId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de item."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar gallery",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-gallery-itemId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de item."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "aiContext": {
                    "type": "string",
                    "nullable": true
                  },
                  "folderId": {
                    "type": "string",
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "includeInAgentContext": {
                    "type": "boolean"
                  },
                  "inheritFolderAiContext": {
                    "type": "boolean"
                  },
                  "labelIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "thumbnailUrl": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir gallery",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-gallery-itemId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de item."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/gallery/upload": {
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar upload",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-gallery-upload",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/giphy/search": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar search",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-giphy-search",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Valor opcional de offset."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/giphy/send": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Enviar giphy",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-giphy-send",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/giphy/settings": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar settings",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-giphy-settings",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/inbox/bootstrap": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar bootstrap",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-inbox-bootstrap",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/inbox/conversations/{conversationId}/bootstrap": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar bootstrap",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-inbox-conversations-conversationId-bootstrap",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/inbox/sidebar": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar sidebar",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-inbox-sidebar",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/instagram/comments": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar comments",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-instagram-comments",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor opaco recebido na página anterior."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "mediaId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de media."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      },
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar comments",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-instagram-comments",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/instagram/comments/{id}": {
      "delete": {
        "tags": [
          "Conversas"
        ],
        "summary": "Excluir comments",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "delete-instagram-comments-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/instagram/content": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Listar content",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-instagram-content",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor opaco recebido na página anterior."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      },
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Criar ou executar content",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-instagram-content",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/instagram/content/{id}": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Consultar content",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-instagram-content-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      },
      "delete": {
        "tags": [
          "Disparos"
        ],
        "summary": "Excluir content",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "delete-instagram-content-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      },
      "patch": {
        "tags": [
          "Disparos"
        ],
        "summary": "Atualizar content",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "patch-instagram-content-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/instagram/content/native": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Listar native",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-instagram-content-native",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      }
    },
    "/api/instagram/content/sync": {
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Sincronizar content",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-instagram-content-sync",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/instagram/content/upload": {
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Criar ou executar upload",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-instagram-content-upload",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/instagram/ice-breakers": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar ice breakers",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-instagram-ice-breakers",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar ice breakers",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-instagram-ice-breakers",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir ice breakers",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-instagram-ice-breakers",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/instagram/insights": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar insights",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-instagram-insights",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "mediaId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de media."
          },
          {
            "name": "since",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de since."
          },
          {
            "name": "timeframe",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "last_30_days"
            },
            "description": "Valor opcional de timeframe."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "profile"
            },
            "description": "Valor opcional de type."
          },
          {
            "name": "until",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de until."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/instagram/media": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Listar mídias",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-instagram-media",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      }
    },
    "/api/instagram/persistent-menu": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar persistent menu",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-instagram-persistent-menu",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar persistent menu",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-instagram-persistent-menu",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir persistent menu",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-instagram-persistent-menu",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/instagram/profile-sync": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar profile sync",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-instagram-profile-sync",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/instagram/quick-automations": {
      "get": {
        "tags": [
          "Automações"
        ],
        "summary": "Listar quick automations",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:read`.",
        "operationId": "get-instagram-quick-automations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:read"
      },
      "post": {
        "tags": [
          "Automações"
        ],
        "summary": "Criar ou executar quick automations",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "post-instagram-quick-automations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "recipeSlug": {
                    "type": "string"
                  },
                  "automationName": {
                    "type": "string",
                    "nullable": true
                  },
                  "keywords": {
                    "type": "string",
                    "nullable": true
                  },
                  "publicReplyMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "privateReplyMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "quickReplyMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "quickReplyOptions": {
                    "type": "string",
                    "nullable": true
                  },
                  "aiAgentId": {
                    "type": "string",
                    "nullable": true
                  },
                  "aiAgentInstructions": {
                    "type": "string",
                    "nullable": true
                  },
                  "sourceSurface": {
                    "type": "string",
                    "enum": [
                      "instagram-content-tab",
                      "instagram-publish-dialog"
                    ],
                    "default": "instagram-content-tab"
                  },
                  "instagramPublishedContentId": {
                    "type": "string",
                    "nullable": true
                  },
                  "existingMedia": {
                    "type": "object",
                    "properties": {
                      "igMediaId": {
                        "type": "string"
                      },
                      "permalink": {
                        "type": "string",
                        "nullable": true
                      },
                      "caption": {
                        "type": "string",
                        "nullable": true
                      },
                      "thumbnailUrl": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "igMediaId"
                    ],
                    "additionalProperties": false,
                    "nullable": true
                  }
                },
                "required": [
                  "credentialId",
                  "recipeSlug",
                  "sourceSurface"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/instagram/quick-automations/{id}": {
      "patch": {
        "tags": [
          "Automações"
        ],
        "summary": "Atualizar quick automations",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `automations:write`.",
        "operationId": "patch-instagram-quick-automations-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "recipeSlug": {
                    "type": "string"
                  },
                  "automationName": {
                    "type": "string",
                    "nullable": true
                  },
                  "keywords": {
                    "type": "string",
                    "nullable": true
                  },
                  "publicReplyMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "privateReplyMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "quickReplyMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "quickReplyOptions": {
                    "type": "string",
                    "nullable": true
                  },
                  "aiAgentId": {
                    "type": "string",
                    "nullable": true
                  },
                  "aiAgentInstructions": {
                    "type": "string",
                    "nullable": true
                  },
                  "existingMedia": {
                    "type": "object",
                    "properties": {
                      "igMediaId": {
                        "type": "string"
                      },
                      "permalink": {
                        "type": "string",
                        "nullable": true
                      },
                      "caption": {
                        "type": "string",
                        "nullable": true
                      },
                      "thumbnailUrl": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "igMediaId"
                    ],
                    "additionalProperties": false,
                    "nullable": true
                  }
                },
                "required": [
                  "credentialId",
                  "recipeSlug"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "automations:write"
      }
    },
    "/api/instagram/referrals": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar referrals",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-instagram-referrals",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar referrals",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-instagram-referrals",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "username": {
                    "type": "string"
                  },
                  "ref": {
                    "type": "string"
                  },
                  "campaignName": {
                    "type": "string"
                  },
                  "source": {
                    "type": "string"
                  },
                  "destination": {
                    "type": "string"
                  },
                  "expiresAt": {
                    "type": "string"
                  },
                  "metadata": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "required": [
                  "credentialId",
                  "name",
                  "username"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/instagram/referrals/{id}": {
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar referrals",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-instagram-referrals-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "ACTIVE",
                      "PAUSED",
                      "EXPIRED"
                    ]
                  },
                  "name": {
                    "type": "string"
                  },
                  "campaignName": {
                    "type": "string",
                    "nullable": true
                  },
                  "destination": {
                    "type": "string",
                    "nullable": true
                  },
                  "expiresAt": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir referrals",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-instagram-referrals-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/instagram/usage": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar usage",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-instagram-usage",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      }
    },
    "/api/internal/channels": {
      "get": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Listar channels",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:read`.",
        "operationId": "get-internal-channels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:read"
      },
      "post": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Criar ou executar channels",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:write`.",
        "operationId": "post-internal-channels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:write"
      }
    },
    "/api/internal/channels/{channelId}": {
      "get": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Consultar channels",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:read`.",
        "operationId": "get-internal-channels-channelId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de canal."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:read"
      },
      "patch": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Atualizar channels",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:write`.",
        "operationId": "patch-internal-channels-channelId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de canal."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:write"
      }
    },
    "/api/internal/channels/{channelId}/members": {
      "post": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Criar ou executar membros",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:write`.",
        "operationId": "post-internal-channels-channelId-members",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de canal."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:write"
      },
      "delete": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Excluir membros",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:write`.",
        "operationId": "delete-internal-channels-channelId-members",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de canal."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:write"
      }
    },
    "/api/internal/channels/{channelId}/messages": {
      "post": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Criar ou executar mensagens",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:write`.",
        "operationId": "post-internal-channels-channelId-messages",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de canal."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:write"
      }
    },
    "/api/internal/channels/{channelId}/messages/{messageId}": {
      "patch": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Atualizar mensagens",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:write`.",
        "operationId": "patch-internal-channels-channelId-messages-messageId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de canal."
          },
          {
            "name": "messageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de mensagem."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:write"
      },
      "delete": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Excluir mensagens",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:write`.",
        "operationId": "delete-internal-channels-channelId-messages-messageId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de canal."
          },
          {
            "name": "messageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de mensagem."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:write"
      }
    },
    "/api/internal/channels/{channelId}/reactions": {
      "post": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Criar ou executar reactions",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:write`.",
        "operationId": "post-internal-channels-channelId-reactions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de canal."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:write"
      }
    },
    "/api/internal/channels/{channelId}/read-state": {
      "patch": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Atualizar read state",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:read`.",
        "operationId": "patch-internal-channels-channelId-read-state",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de canal."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "lastReadMessageId": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:read"
      }
    },
    "/api/internal/unread-count": {
      "get": {
        "tags": [
          "Chat interno"
        ],
        "summary": "Listar contagem de não lidas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `internalChat:read`.",
        "operationId": "get-internal-unread-count",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "internalChat:read"
      }
    },
    "/api/journeys": {
      "get": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Listar journeys",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:read`.",
        "operationId": "get-journeys",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:read"
      },
      "post": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Criar ou executar journeys",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:write`.",
        "operationId": "post-journeys",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "templateId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "credentialId": {
                    "type": "string",
                    "nullable": true
                  },
                  "variables": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "activate": {
                    "type": "boolean",
                    "default": false
                  }
                },
                "required": [
                  "templateId",
                  "variables",
                  "activate"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:write"
      }
    },
    "/api/journeys/{journeyId}": {
      "get": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Consultar journeys",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:read`.",
        "operationId": "get-journeys-journeyId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:read"
      },
      "patch": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Atualizar journeys",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:write`.",
        "operationId": "patch-journeys-journeyId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "variables": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "credentialId": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:write"
      }
    },
    "/api/journeys/{journeyId}/activate": {
      "post": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Ativar journeys",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:write`.",
        "operationId": "post-journeys-journeyId-activate",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:write"
      }
    },
    "/api/journeys/{journeyId}/analytics": {
      "get": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Listar análises",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:read`.",
        "operationId": "get-journeys-journeyId-analytics",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:read"
      }
    },
    "/api/journeys/{journeyId}/archive": {
      "post": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Arquivar journeys",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:write`.",
        "operationId": "post-journeys-journeyId-archive",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:write"
      }
    },
    "/api/journeys/{journeyId}/contacts": {
      "get": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Listar contacts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:read`.",
        "operationId": "get-journeys-journeyId-contacts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:read"
      },
      "post": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Criar ou executar contacts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:write`.",
        "operationId": "post-journeys-journeyId-contacts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "contactId": {
                    "type": "string"
                  },
                  "contactIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "labelId": {
                    "type": "string"
                  },
                  "restartExisting": {
                    "type": "boolean",
                    "default": false
                  },
                  "reactivateOptedOut": {
                    "type": "boolean",
                    "default": false
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:write"
      }
    },
    "/api/journeys/{journeyId}/contacts/{enrollmentId}": {
      "patch": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Atualizar contacts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:write`.",
        "operationId": "patch-journeys-journeyId-contacts-enrollmentId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          },
          {
            "name": "enrollmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de inscrição."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "pause",
                      "resume",
                      "retry",
                      "complete",
                      "opt_out"
                    ]
                  },
                  "reason": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "action"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:write"
      }
    },
    "/api/journeys/{journeyId}/duplicate": {
      "post": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Duplicar journeys",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:write`.",
        "operationId": "post-journeys-journeyId-duplicate",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:write"
      }
    },
    "/api/journeys/{journeyId}/events": {
      "get": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Listar eventos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:read`.",
        "operationId": "get-journeys-journeyId-events",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:read"
      }
    },
    "/api/journeys/{journeyId}/pause": {
      "post": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Pausar journeys",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:write`.",
        "operationId": "post-journeys-journeyId-pause",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:write"
      }
    },
    "/api/journeys/{journeyId}/run-now": {
      "post": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Criar ou executar run now",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:read`.",
        "operationId": "post-journeys-journeyId-run-now",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional Idempotency-Key."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:read"
      }
    },
    "/api/journeys/{journeyId}/runs": {
      "get": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Listar runs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:read`.",
        "operationId": "get-journeys-journeyId-runs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de jornada."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:read"
      }
    },
    "/api/journeys/contact-options": {
      "get": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Listar contact options",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:write`.",
        "operationId": "get-journeys-contact-options",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de contact."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:write"
      }
    },
    "/api/journeys/templates": {
      "get": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Listar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:read`.",
        "operationId": "get-journeys-templates",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "custom",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de custom."
          },
          {
            "name": "includeUnpublished",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de include unpublished."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:read"
      },
      "post": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Criar ou executar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:write`.",
        "operationId": "post-journeys-templates",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "baseTemplateId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "isPublished": {
                    "type": "boolean",
                    "default": true
                  },
                  "defaultVariables": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "required": [
                  "baseTemplateId",
                  "name",
                  "isPublished",
                  "defaultVariables"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:write"
      }
    },
    "/api/journeys/templates/{templateId}": {
      "get": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Consultar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:read`.",
        "operationId": "get-journeys-templates-templateId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de template."
          },
          {
            "name": "includeUnpublished",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de include unpublished."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:read"
      },
      "patch": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Atualizar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:write`.",
        "operationId": "patch-journeys-templates-templateId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de template."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "isPublished": {
                    "type": "boolean"
                  },
                  "defaultVariables": {
                    "type": "object",
                    "additionalProperties": {}
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:write"
      }
    },
    "/api/journeys/templates/{templateId}/simulate": {
      "post": {
        "tags": [
          "Jornadas"
        ],
        "summary": "Criar ou executar simulate",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `journeys:read`.",
        "operationId": "post-journeys-templates-templateId-simulate",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "templateId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de template."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "variables": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "credentialId": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "variables"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "journeys:read"
      }
    },
    "/api/media/proxy": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar proxy",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-media-proxy",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "fallback",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de fallback."
          },
          {
            "name": "url",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de url."
          },
          {
            "name": "content-length",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional content-length."
          },
          {
            "name": "cache-control",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional cache-control."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "204": {
            "description": "Operação concluída sem conteúdo."
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/media/upload": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar upload",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-media-upload",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar upload",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-media-upload",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/messages": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar mensagens",
        "description": "Envia uma mensagem de texto simples. Use `previewUrl: true` para gerar preview de links.\n\nEnvia mensagem de texto com preview automatico do link.\n\nEnvia uma resposta citando (quote) uma mensagem anterior usando `contextMessageId`.\n\nEnvia uma imagem com legenda opcional. Formatos: JPEG, PNG. Max 5 MB.\n\nEnvia um video com legenda opcional. Formato: MP4. Max 16 MB.\n\nEnvia um audio. Formato: OGG/OPUS (audio de voz), MP3, AAC. Max 16 MB.\n\nEnvia um documento/arquivo. Formatos: PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, CSV, ZIP. Max 100 MB.\n\nEnvia uma figurinha. Formato: WebP. Max 100 KB (estatico) / 500 KB (animado).\n\nEnvia uma localizacao geografica com nome e endereco opcionais.\n\nEnvia um ou mais cartoes de contato no formato vCard.\n\nEnvia uma reacao (emoji) a uma mensagem especifica. Envie emoji vazio para remover reacao.\n\nEnvia mensagem com ate 3 botoes de resposta rapida. Cada botao tem `id` (max 256 chars) e `title` (max 20 chars).\n\nEnvia mensagem com menu em lista. Ate 10 secoes com ate 10 itens cada. Titulo do item max 24 chars, descricao max 72 chars.\n\nEnvia mensagem com botao de CTA (Call to Action) que abre uma URL.\n\nEnvia uma enquete com ate 12 opcoes. Use `allow_multiple_answers` para permitir multipla selecao.\n\nSolicita que o contato compartilhe sua localizacao.\n\nEnvia um template simples sem parametros. Ideal para templates de boas-vindas ou notificacoes fixas.\n\nEnvia um template com parametros dinamicos. Os parametros devem corresponder aos placeholders {{1}}, {{2}}, etc. do template aprovado.\n\nEnvia um template com imagem no header e parametros no body.\n\nEnvia quick replies no Instagram Direct. Use uma credencial Instagram ativa e o identificador do destinatário com prefixo `ig:`.\n\nEnvia um e-mail usando a conta de canal informada em `channelAccountId`.\n\nResponde a uma conversa de e-mail reutilizando `contextMessageId`, `inReplyTo` e `references`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `messages:send`.",
        "operationId": "post-messages",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional idempotency-key."
          },
          {
            "name": "x-idempotency-key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Header opcional x-idempotency-key."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "to": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "example": "text"
                  },
                  "text": {
                    "type": "string",
                    "example": "Ola! Esta e uma mensagem enviada via API."
                  },
                  "previewUrl": {
                    "type": "boolean",
                    "example": false
                  },
                  "clientRequestId": {
                    "type": "string"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "contextMessageId": {
                    "type": "string",
                    "nullable": true
                  },
                  "conversationId": {
                    "type": "string"
                  },
                  "channel": {
                    "type": "string"
                  },
                  "email": {
                    "type": "object",
                    "properties": {
                      "subject": {
                        "type": "string"
                      },
                      "cc": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "bcc": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "replyTo": {
                        "type": "string"
                      },
                      "fromAlias": {
                        "type": "string"
                      },
                      "includeSignature": {
                        "type": "boolean"
                      },
                      "htmlBody": {
                        "type": "string"
                      },
                      "inReplyTo": {
                        "type": "string"
                      },
                      "references": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "required": [
                  "to"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Send Text Message",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "text",
                    "text": "Ola! Esta e uma mensagem enviada via API.",
                    "previewUrl": false
                  }
                },
                "exemplo2": {
                  "summary": "Send Text with Link Preview",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "text",
                    "text": "Confira nosso site: https://example.com",
                    "previewUrl": true
                  }
                },
                "exemplo3": {
                  "summary": "Reply to Message (Quote)",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "text",
                    "text": "Esta e uma resposta citando a mensagem anterior.",
                    "contextMessageId": "{{lastMessageId}}"
                  }
                },
                "exemplo4": {
                  "summary": "Send Image",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "image",
                    "image": {
                      "link": "https://example.com/image.jpg",
                      "caption": "Legenda da imagem"
                    }
                  }
                },
                "exemplo5": {
                  "summary": "Send Video",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "video",
                    "video": {
                      "link": "https://example.com/video.mp4",
                      "caption": "Legenda do video"
                    }
                  }
                },
                "exemplo6": {
                  "summary": "Send Audio",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "audio",
                    "audio": {
                      "link": "https://example.com/audio.ogg"
                    }
                  }
                },
                "exemplo7": {
                  "summary": "Send Document",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "document",
                    "document": {
                      "link": "https://example.com/document.pdf",
                      "caption": "Proposta comercial",
                      "filename": "proposta-2024.pdf"
                    }
                  }
                },
                "exemplo8": {
                  "summary": "Send Sticker",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "sticker",
                    "sticker": {
                      "link": "https://example.com/sticker.webp"
                    }
                  }
                },
                "exemplo9": {
                  "summary": "Send Location",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "location",
                    "location": {
                      "latitude": -23.5505,
                      "longitude": -46.6333,
                      "name": "Sao Paulo",
                      "address": "Praca da Se, Sao Paulo - SP"
                    }
                  }
                },
                "exemplo10": {
                  "summary": "Send Contact Card",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "contacts",
                    "contacts": [
                      {
                        "name": {
                          "formatted_name": "Joao Silva",
                          "first_name": "Joao",
                          "last_name": "Silva"
                        },
                        "phones": [
                          {
                            "phone": "+5511999999999",
                            "type": "CELL"
                          }
                        ],
                        "emails": [
                          {
                            "email": "joao@example.com",
                            "type": "WORK"
                          }
                        ]
                      }
                    ]
                  }
                },
                "exemplo11": {
                  "summary": "Send Reaction",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "reaction",
                    "reaction": {
                      "message_id": "{{lastMessageId}}",
                      "emoji": "👍"
                    }
                  }
                },
                "exemplo12": {
                  "summary": "Send Button Message",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "interactive_button",
                    "interactive": {
                      "type": "button",
                      "body": {
                        "text": "Como voce avalia nosso atendimento?"
                      },
                      "action": {
                        "buttons": [
                          {
                            "type": "reply",
                            "reply": {
                              "id": "btn_otimo",
                              "title": "Otimo"
                            }
                          },
                          {
                            "type": "reply",
                            "reply": {
                              "id": "btn_bom",
                              "title": "Bom"
                            }
                          },
                          {
                            "type": "reply",
                            "reply": {
                              "id": "btn_ruim",
                              "title": "Ruim"
                            }
                          }
                        ]
                      }
                    }
                  }
                },
                "exemplo13": {
                  "summary": "Send List Message",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "interactive_list",
                    "interactive": {
                      "type": "list",
                      "header": {
                        "type": "text",
                        "text": "Nosso Menu"
                      },
                      "body": {
                        "text": "Selecione uma opcao abaixo:"
                      },
                      "footer": {
                        "text": "Powered by API"
                      },
                      "action": {
                        "button": "Ver Opcoes",
                        "sections": [
                          {
                            "title": "Atendimento",
                            "rows": [
                              {
                                "id": "row_suporte",
                                "title": "Suporte Tecnico",
                                "description": "Fale com nosso time de suporte"
                              },
                              {
                                "id": "row_vendas",
                                "title": "Vendas",
                                "description": "Informacoes sobre nossos planos"
                              }
                            ]
                          },
                          {
                            "title": "Informacoes",
                            "rows": [
                              {
                                "id": "row_horarios",
                                "title": "Horarios",
                                "description": "Horarios de atendimento"
                              },
                              {
                                "id": "row_faq",
                                "title": "FAQ",
                                "description": "Perguntas frequentes"
                              }
                            ]
                          }
                        ]
                      }
                    }
                  }
                },
                "exemplo14": {
                  "summary": "Send CTA URL Button",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "interactive_cta_url",
                    "interactive": {
                      "type": "cta_url",
                      "body": {
                        "text": "Acesse nosso portal para mais informacoes."
                      },
                      "action": {
                        "name": "cta_url",
                        "parameters": {
                          "display_text": "Acessar Portal",
                          "url": "https://example.com/portal"
                        }
                      }
                    }
                  }
                },
                "exemplo15": {
                  "summary": "Send Poll",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "interactive_poll",
                    "interactive": {
                      "type": "poll",
                      "body": {
                        "text": "Qual seu horario preferido para reunioes?"
                      },
                      "action": {
                        "name": "poll",
                        "parameters": {
                          "question": "Qual seu horario preferido para reunioes?",
                          "options": [
                            {
                              "title": "09:00 - 10:00"
                            },
                            {
                              "title": "14:00 - 15:00"
                            },
                            {
                              "title": "16:00 - 17:00"
                            }
                          ],
                          "allow_multiple_answers": false
                        }
                      }
                    }
                  }
                },
                "exemplo16": {
                  "summary": "Send Location Request",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "interactive_location_request",
                    "interactive": {
                      "type": "location_request_message",
                      "body": {
                        "text": "Por favor, compartilhe sua localizacao para que possamos encontrar a loja mais proxima."
                      },
                      "action": {
                        "name": "send_location"
                      }
                    }
                  }
                },
                "exemplo17": {
                  "summary": "Send Template (Simple)",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "template",
                    "template": {
                      "name": "hello_world",
                      "language": "pt_BR"
                    }
                  }
                },
                "exemplo18": {
                  "summary": "Send Template (With Parameters)",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "template",
                    "template": {
                      "name": "order_confirmation",
                      "language": "pt_BR",
                      "components": [
                        {
                          "type": "body",
                          "parameters": [
                            {
                              "type": "text",
                              "text": "Joao"
                            },
                            {
                              "type": "text",
                              "text": "#12345"
                            },
                            {
                              "type": "text",
                              "text": "R$ 199,90"
                            }
                          ]
                        }
                      ]
                    }
                  }
                },
                "exemplo19": {
                  "summary": "Send Template (With Header Image)",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "to": "{{recipientPhone}}",
                    "type": "template",
                    "template": {
                      "name": "promo_template",
                      "language": "pt_BR",
                      "components": [
                        {
                          "type": "header",
                          "parameters": [
                            {
                              "type": "image",
                              "image": {
                                "link": "https://example.com/promo-banner.jpg"
                              }
                            }
                          ]
                        },
                        {
                          "type": "body",
                          "parameters": [
                            {
                              "type": "text",
                              "text": "30%"
                            },
                            {
                              "type": "text",
                              "text": "31/12/2024"
                            }
                          ]
                        }
                      ]
                    }
                  }
                },
                "exemplo20": {
                  "summary": "Send Instagram Quick Replies",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "channel": "INSTAGRAM_DIRECT_LOGIN",
                    "to": "ig:{{instagramRecipientId}}",
                    "type": "instagram_quick_replies",
                    "text": "Como podemos ajudar hoje?",
                    "quick_replies": [
                      {
                        "title": "Ver pedidos",
                        "payload": "orders"
                      },
                      {
                        "title": "Falar com time",
                        "payload": "human_handoff"
                      },
                      {
                        "title": "Receber catálogo",
                        "payload": "catalog"
                      }
                    ]
                  }
                },
                "exemplo21": {
                  "summary": "Send Email Message (HTML)",
                  "value": {
                    "channelAccountId": "{{channelAccountId}}",
                    "channel": "EMAIL",
                    "to": "{{recipientEmail}}",
                    "type": "text",
                    "text": "Olá! Esta é a versão em texto do e-mail.",
                    "email": {
                      "subject": "Boas-vindas à CloudWhats",
                      "cc": [
                        "time@example.com"
                      ],
                      "bcc": [
                        "auditoria@example.com"
                      ],
                      "replyTo": "suporte@example.com",
                      "fromAlias": "Time CloudWhats",
                      "htmlBody": "<p>Olá!</p><p>Esta é a versão em HTML do e-mail.</p>"
                    }
                  }
                },
                "exemplo22": {
                  "summary": "Reply to Email Thread",
                  "value": {
                    "channelAccountId": "{{channelAccountId}}",
                    "channel": "EMAIL",
                    "to": "{{recipientEmail}}",
                    "contextMessageId": "{{lastMessageId}}",
                    "type": "text",
                    "text": "Retomando nosso contato por e-mail.",
                    "email": {
                      "subject": "Re: Boas-vindas à CloudWhats",
                      "replyTo": "suporte@example.com",
                      "htmlBody": "<p>Retomando nosso contato por e-mail.</p>",
                      "inReplyTo": "{{emailMessageHeaderId}}",
                      "references": [
                        "{{emailMessageHeaderId}}"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "messages:send"
      }
    },
    "/api/messages/forward": {
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar forward",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `messages:send`.",
        "operationId": "post-messages-forward",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sourceMessageId": {
                    "type": "string"
                  },
                  "targetConversationIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "sourceMessageId",
                  "targetConversationIds"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "messages:send"
      }
    },
    "/api/notes": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar notes",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-notes",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      },
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar notes",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-notes",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "clientRequestId": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string",
                    "default": ""
                  },
                  "content": {
                    "type": "string",
                    "default": ""
                  },
                  "color": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  },
                  "priority": {
                    "type": "string"
                  },
                  "labels": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "isFavorite": {
                    "type": "boolean"
                  },
                  "isHidden": {
                    "type": "boolean"
                  },
                  "isMinimized": {
                    "type": "boolean"
                  },
                  "posX": {
                    "type": "number"
                  },
                  "posY": {},
                  "width": {},
                  "height": {},
                  "zIndex": {
                    "type": "number"
                  },
                  "pinnedRoute": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "patch": {
        "tags": [
          "Conversas"
        ],
        "summary": "Atualizar notes",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "patch-notes",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "clientRequestId": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string",
                    "default": ""
                  },
                  "content": {
                    "type": "string",
                    "default": ""
                  },
                  "color": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  },
                  "priority": {
                    "type": "string"
                  },
                  "labels": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "isFavorite": {
                    "type": "boolean"
                  },
                  "isHidden": {
                    "type": "boolean"
                  },
                  "isMinimized": {
                    "type": "boolean"
                  },
                  "posX": {
                    "type": "number"
                  },
                  "posY": {},
                  "width": {},
                  "height": {},
                  "zIndex": {
                    "type": "number"
                  },
                  "pinnedRoute": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "delete": {
        "tags": [
          "Conversas"
        ],
        "summary": "Excluir notes",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "delete-notes",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "ids": {
                    "type": "array",
                    "items": {}
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/notifications": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar notificações",
        "description": "Lista notificações com paginação por cursor e filtros opcionais.\n\nRetorna somente a contagem de notificações não lidas no escopo informado.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-notifications",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "channelAccountIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account ids."
          },
          {
            "name": "countOnly",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de count only."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "credentialIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de credential ids."
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Cursor opaco recebido na página anterior."
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Início do período."
          },
          {
            "name": "isRead",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de is read."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Fim do período."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de type."
          },
          {
            "name": "types",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de types."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      },
      "patch": {
        "tags": [
          "Conversas"
        ],
        "summary": "Atualizar notificações",
        "description": "Marca como lidas todas as notificações compatíveis com os filtros informados.\n\nMarca um conjunto específico de notificações como lidas.\n\nMarca um conjunto específico de notificações como não lidas.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "patch-notifications",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "example": "markAllRead"
                  },
                  "types": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "example": "task_assigned"
                    }
                  },
                  "credentialIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "example": "{{credentialId}}"
                    }
                  },
                  "channelAccountIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "example": "{{channelAccountId}}"
                    }
                  },
                  "from": {
                    "type": "string",
                    "example": "2026-01-01T00:00:00.000Z"
                  },
                  "to": {
                    "type": "string",
                    "example": "2026-01-31T23:59:59.999Z"
                  }
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Mark All as Read",
                  "value": {
                    "action": "markAllRead",
                    "types": [
                      "task_assigned"
                    ],
                    "credentialIds": [
                      "{{credentialId}}"
                    ],
                    "channelAccountIds": [
                      "{{channelAccountId}}"
                    ],
                    "from": "2026-01-01T00:00:00.000Z",
                    "to": "2026-01-31T23:59:59.999Z"
                  }
                },
                "exemplo2": {
                  "summary": "Mark Many as Read",
                  "value": {
                    "action": "markManyRead",
                    "ids": [
                      "{{notificationId}}"
                    ]
                  }
                },
                "exemplo3": {
                  "summary": "Mark Many as Unread",
                  "value": {
                    "action": "markManyUnread",
                    "ids": [
                      "{{notificationId}}"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "delete": {
        "tags": [
          "Conversas"
        ],
        "summary": "Excluir notificações",
        "description": "Exclui notificações por lista explícita de IDs.\n\nRemove notificações com base em filtros, incluindo opção para apagar apenas as já lidas.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "delete-notifications",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "example": "{{notificationId}}"
                    }
                  }
                }
              },
              "examples": {
                "exemplo1": {
                  "summary": "Delete Many Notifications",
                  "value": {
                    "ids": [
                      "{{notificationId}}"
                    ]
                  }
                },
                "exemplo2": {
                  "summary": "Clear Notifications by Filter",
                  "value": {
                    "types": [
                      "task_assigned"
                    ],
                    "credentialIds": [
                      "{{credentialId}}"
                    ],
                    "channelAccountIds": [
                      "{{channelAccountId}}"
                    ],
                    "onlyRead": true,
                    "from": "2026-01-01T00:00:00.000Z",
                    "to": "2026-01-31T23:59:59.999Z"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/notifications/{id}": {
      "patch": {
        "tags": [
          "Conversas"
        ],
        "summary": "Atualizar notificações",
        "description": "Marca uma única notificação como lida.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "patch-notifications-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "delete": {
        "tags": [
          "Conversas"
        ],
        "summary": "Excluir notificações",
        "description": "Exclui uma única notificação e retorna `{ success: true }`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "delete-notifications-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/notifications/action-center": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar action center",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-notifications-action-center",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "channelAccountIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account ids."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "credentialIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de credential ids."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      },
      "patch": {
        "tags": [
          "Conversas"
        ],
        "summary": "Atualizar action center",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "patch-notifications-action-center",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "const": "snooze"
                      },
                      "itemId": {
                        "type": "string"
                      },
                      "until": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action",
                      "itemId",
                      "until"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "const": "dismiss"
                      },
                      "itemId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action",
                      "itemId"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "const": "restore"
                      },
                      "itemId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action",
                      "itemId"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "const": "restoreAll"
                      }
                    },
                    "required": [
                      "action"
                    ],
                    "additionalProperties": false
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/orders": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar pedidos",
        "description": "Lista pedidos usando paginação por página. A resposta traz `orders` e `pagination`.\n\nMantém compatibilidade com consumidores antigos que ainda usam cursor.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-orders",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Filtro opcional por status do pedido"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/orders/{orderId}": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Consultar pedidos",
        "description": "Retorna o pedido consolidado, incluindo alertas operacionais e possíveis dados mesclados com Nuvemshop.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-orders-orderId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de pedido."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar pedidos",
        "description": "Atualiza status, rastreio, observações internas e motivo de cancelamento. A rota pode sincronizar automaticamente com a Nuvemshop quando houver vínculo.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-orders-orderId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de pedido."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {},
                  "trackingCode": {
                    "type": "string"
                  },
                  "internalNotes": {
                    "type": "string"
                  },
                  "cancelReason": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Order",
                  "value": {
                    "status": "CONFIRMED",
                    "trackingCode": "BR123456789",
                    "internalNotes": "Pedido confirmado e em separação.",
                    "cancelReason": null
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/orders/{orderId}/enrich-products": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar enrich products",
        "description": "Enriquece os itens do pedido com nomes do catálogo Meta quando disponíveis. Em caso de indisponibilidade do catálogo, retorna fallback com os dados já salvos.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-orders-orderId-enrich-products",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de pedido."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/orders/{orderId}/export-nuvemshop": {
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Exportar pedidos",
        "description": "Exporta um pedido do WhatsApp para a Nuvemshop. Exige integração ativa e produtos compatíveis já sincronizados.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-orders-orderId-export-nuvemshop",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de pedido."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/orders/settings": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar settings",
        "description": "Consulta as configurações de resposta automática por status e o resumo de conflito com automações de integração.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-orders-settings",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar settings",
        "description": "Atualiza os textos de resposta automática por status. Cada mensagem aceita até 2000 caracteres.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-orders-settings",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "autoReplyEnabled": {
                    "type": "boolean"
                  },
                  "autoReplyOnConfirmed": {
                    "type": "string",
                    "nullable": true
                  },
                  "autoReplyOnShipped": {
                    "type": "string",
                    "nullable": true
                  },
                  "autoReplyOnPending": {
                    "type": "string",
                    "nullable": true
                  },
                  "autoReplyOnPreparing": {
                    "type": "string",
                    "nullable": true
                  },
                  "autoReplyOnDelivered": {
                    "type": "string",
                    "nullable": true
                  },
                  "autoReplyOnCancelled": {
                    "type": "string",
                    "nullable": true
                  },
                  "autoReplyOnRefunded": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Order Settings",
                  "value": {
                    "autoReplyEnabled": true,
                    "autoReplyOnConfirmed": "Olá, {customerName}! Seu pedido #{orderId} foi confirmado com sucesso.",
                    "autoReplyOnShipped": "Seu pedido #{orderId} já está a caminho. Código de rastreio: {trackingCode}."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/orders/stats": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar stats",
        "description": "Retorna contagem por status, total de pedidos, pedidos do dia, receita total e pedidos ativos.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-orders-stats",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/organizations": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar organizações",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-organizations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "lifecycle",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de lifecycle."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Valor opcional de offset."
          },
          {
            "name": "ownerId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de owner."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "segment",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de segment."
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de sort."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar organizações",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-organizations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/organizations/{organizationId}": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Consultar organizações",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-organizations-organizationId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de organização."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar organizações",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-organizations-organizationId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de organização."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "delete": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Excluir organizações",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "delete-organizations-organizationId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de organização."
          },
          {
            "name": "detach",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de detach."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/organizations/{organizationId}/360": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar 360",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-organizations-organizationId-360",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de organização."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/organizations/resolve-by-email": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar resolve by email",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-organizations-resolve-by-email",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de email."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      }
    },
    "/api/phone-numbers": {
      "get": {
        "tags": [
          "Contas conectadas"
        ],
        "summary": "Listar números de telefone",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `credentials:read`.",
        "operationId": "get-phone-numbers",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "credentials:read"
      }
    },
    "/api/quick-replies": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar respostas rápidas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-quick-replies",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de category."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Texto usado na busca."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      },
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar respostas rápidas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-quick-replies",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "shortcut": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "content": {
                    "type": "string"
                  },
                  "category": {
                    "type": "string"
                  },
                  "variables": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "isGlobal": {
                    "type": "boolean",
                    "default": false
                  }
                },
                "required": [
                  "shortcut",
                  "title",
                  "content",
                  "variables",
                  "isGlobal"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/quick-replies/{replyId}": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Consultar respostas rápidas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-quick-replies-replyId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "replyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de resposta rápida."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      },
      "patch": {
        "tags": [
          "Conversas"
        ],
        "summary": "Atualizar respostas rápidas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "patch-quick-replies-replyId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "replyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de resposta rápida."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "shortcut": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "content": {
                    "type": "string"
                  },
                  "category": {
                    "type": "string"
                  },
                  "variables": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "isGlobal": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "delete": {
        "tags": [
          "Conversas"
        ],
        "summary": "Excluir respostas rápidas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "delete-quick-replies-replyId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "replyId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de resposta rápida."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/reminders": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar lembretes",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-reminders",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "all",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de all."
          },
          {
            "name": "conversationId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de conversation."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "due",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de due."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Quantidade de itens por página."
          },
          {
            "name": "query",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de query."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de type."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      }
    },
    "/api/reminders/{reminderId}": {
      "patch": {
        "tags": [
          "Conversas"
        ],
        "summary": "Atualizar lembretes",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "patch-reminders-reminderId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "reminderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de lembrete."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "const": "cancel"
                      }
                    },
                    "required": [
                      "action"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "const": "reschedule"
                      },
                      "remindAt": {
                        "type": "string"
                      },
                      "note": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "required": [
                      "action",
                      "remindAt"
                    ],
                    "additionalProperties": false
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "delete": {
        "tags": [
          "Conversas"
        ],
        "summary": "Excluir lembretes",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "delete-reminders-reminderId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "reminderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de lembrete."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/reports": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar reports",
        "description": "Retorna o conjunto completo de relatórios: visão geral, conversas, pessoas, equipes, CRM, pedidos, tarefas, chamadas e mais.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-reports",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "endDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de end date."
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Período consolidado do relatório."
          },
          {
            "name": "startDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de start date."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/reports/{type}": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Consultar reports",
        "description": "Template genérico para testar qualquer tipo listado na variável `reportType`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-reports-type",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de type."
          },
          {
            "name": "aiAgentIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de ai agent ids."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "credentialIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de credential ids."
          },
          {
            "name": "endDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de end date."
          },
          {
            "name": "labelIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de label ids."
          },
          {
            "name": "period",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Período consolidado do relatório."
          },
          {
            "name": "startDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de start date."
          },
          {
            "name": "teamIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de team ids."
          },
          {
            "name": "userIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de user ids."
          },
          {
            "name": "widgetIds",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de widget ids."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/reports/export": {
      "post": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Exportar reports",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "post-reports-export",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "scope": {
                    "type": "string",
                    "enum": [
                      "current",
                      "all"
                    ]
                  },
                  "reportType": {
                    "type": "string",
                    "enum": [
                      "command-center",
                      "overview",
                      "conversations",
                      "users",
                      "teams",
                      "labels",
                      "phone-numbers",
                      "widget",
                      "ai",
                      "sla",
                      "satisfaction",
                      "usability",
                      "contacts",
                      "crm",
                      "orders",
                      "tasks",
                      "calls"
                    ]
                  },
                  "format": {
                    "type": "string",
                    "enum": [
                      "xlsx",
                      "csv",
                      "json",
                      "pdf"
                    ]
                  },
                  "includeCharts": {
                    "type": "boolean",
                    "default": true
                  },
                  "includeLists": {
                    "type": "boolean",
                    "default": true
                  },
                  "filters": {
                    "type": "object",
                    "properties": {
                      "period": {},
                      "startDate": {
                        "type": "string"
                      },
                      "endDate": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "period"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "scope",
                  "format"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/reports/preferences": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar preferences",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-reports-preferences",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      },
      "patch": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Atualizar preferences",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "patch-reports-preferences",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "defaultReportType": {
                    "type": "string"
                  },
                  "favoriteReportTypes": {
                    "type": "array",
                    "items": {}
                  },
                  "recentReportTypes": {
                    "type": "array",
                    "items": {}
                  },
                  "navigationHidden": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "defaultReportType",
                  "favoriteReportTypes",
                  "recentReportTypes",
                  "navigationHidden"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/scheduled-messages": {
      "get": {
        "tags": [
          "Conversas"
        ],
        "summary": "Listar mensagens agendadas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:read`.",
        "operationId": "get-scheduled-messages",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:read"
      },
      "post": {
        "tags": [
          "Conversas"
        ],
        "summary": "Criar ou executar mensagens agendadas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "post-scheduled-messages",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "to": {
                    "type": "string"
                  },
                  "scheduledFor": {
                    "type": "string"
                  },
                  "conversationId": {
                    "type": "string"
                  },
                  "email": {
                    "type": "object",
                    "properties": {
                      "subject": {
                        "type": "string"
                      },
                      "cc": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "bcc": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "replyTo": {
                        "type": "string"
                      },
                      "fromAlias": {
                        "type": "string"
                      },
                      "includeSignature": {
                        "type": "boolean"
                      },
                      "htmlBody": {
                        "type": "string"
                      },
                      "inReplyTo": {
                        "type": "string"
                      },
                      "references": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "additionalProperties": false
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "text",
                      "template",
                      "interactive",
                      "image",
                      "video",
                      "audio",
                      "document",
                      "sticker",
                      "location",
                      "contacts",
                      "reaction"
                    ]
                  },
                  "text": {
                    "type": "string"
                  },
                  "previewUrl": {
                    "type": "boolean"
                  },
                  "template": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "language": {
                        "type": "string"
                      },
                      "components": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": {}
                        }
                      }
                    },
                    "required": [
                      "name",
                      "language"
                    ],
                    "additionalProperties": false
                  },
                  "interactive": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "media": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "caption": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "link": {
                            "type": "string"
                          },
                          "caption": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "link"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  },
                  "image": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "caption": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "link": {
                            "type": "string"
                          },
                          "caption": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "link"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  },
                  "video": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "caption": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "link": {
                            "type": "string"
                          },
                          "caption": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "link"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  },
                  "audio": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "link": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "link"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  },
                  "document": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "filename": {
                            "type": "string"
                          },
                          "caption": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "link": {
                            "type": "string"
                          },
                          "filename": {
                            "type": "string"
                          },
                          "caption": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "link"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  },
                  "sticker": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "link": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "link"
                        ],
                        "additionalProperties": false
                      }
                    ]
                  },
                  "location": {
                    "type": "object",
                    "properties": {
                      "latitude": {
                        "type": "number"
                      },
                      "longitude": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "address": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "latitude",
                      "longitude"
                    ],
                    "additionalProperties": false
                  },
                  "contacts": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": {}
                    }
                  },
                  "reaction": {
                    "type": "object",
                    "properties": {
                      "message_id": {
                        "type": "string"
                      },
                      "emoji": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "message_id",
                      "emoji"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "to",
                  "scheduledFor",
                  "type"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      },
      "delete": {
        "tags": [
          "Conversas"
        ],
        "summary": "Excluir mensagens agendadas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `conversations:write`.",
        "operationId": "delete-scheduled-messages",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "conversations:write"
      }
    },
    "/api/sentinel/alerts": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar alerts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-alerts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      },
      "patch": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Atualizar alerts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:write`.",
        "operationId": "patch-sentinel-alerts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "acknowledge",
                      "resolve",
                      "dismiss"
                    ]
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  }
                },
                "required": [
                  "ids",
                  "action"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:write"
      }
    },
    "/api/sentinel/alerts/{alertId}": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Consultar alerts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-alerts-alertId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "alertId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de alerta."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      },
      "patch": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Atualizar alerts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:write`.",
        "operationId": "patch-sentinel-alerts-alertId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "alertId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de alerta."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "acknowledge",
                      "resolve",
                      "dismiss"
                    ]
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  }
                },
                "required": [
                  "action"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:write"
      }
    },
    "/api/sentinel/alerts/{alertId}/linear": {
      "post": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Criar ou executar linear",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:write`.",
        "operationId": "post-sentinel-alerts-alertId-linear",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "alertId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de alerta."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "channelAccountId": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:write"
      }
    },
    "/api/sentinel/analytics": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar análises",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-analytics",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/anomalies": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar anomalies",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-anomalies",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/anomalies/detail": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar detail",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-anomalies-detail",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/backlog-analysis": {
      "post": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Criar ou executar backlog analysis",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:write`.",
        "operationId": "post-sentinel-backlog-analysis",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:write"
      }
    },
    "/api/sentinel/briefing": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar briefing",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-briefing",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/config": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      },
      "put": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Substituir configuração",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:write`.",
        "operationId": "put-sentinel-config",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "churnThreshold": {
                    "type": "number"
                  },
                  "revenueSignalEnabled": {
                    "type": "boolean"
                  },
                  "patternDetectionEnabled": {
                    "type": "boolean"
                  },
                  "copilotEnabled": {
                    "type": "boolean"
                  },
                  "predictiveSlaEnabled": {
                    "type": "boolean"
                  },
                  "briefingEnabled": {
                    "type": "boolean"
                  },
                  "briefingEmail": {},
                  "briefingTime": {},
                  "analysisModel": {
                    "type": "string"
                  }
                },
                "required": [
                  "briefingEmail",
                  "briefingTime"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:write"
      }
    },
    "/api/sentinel/conversations/{conversationId}": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Consultar conversas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-conversations-conversationId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/cross-channel": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar cross channel",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-cross-channel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      },
      "post": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Criar ou executar cross channel",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:write`.",
        "operationId": "post-sentinel-cross-channel",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:write"
      }
    },
    "/api/sentinel/health": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar health",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-health",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/overview": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar overview",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-overview",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/patterns": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar patterns",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-patterns",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/patterns/{patternId}": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Consultar patterns",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-patterns-patternId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "patternId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de padrão."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/predictive-sla": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar predictive sla",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-predictive-sla",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/predictive-sla/{conversationId}": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Consultar predictive sla",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-predictive-sla-conversationId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "conversationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de conversa."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/recommendations": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar recommendations",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-recommendations",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/sentinel/recommendations/{recommendationId}": {
      "patch": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Atualizar recommendations",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:write`.",
        "operationId": "patch-sentinel-recommendations-recommendationId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "recommendationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de recomendação."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "ACCEPTED",
                      "DISMISSED"
                    ]
                  },
                  "outcome": {
                    "type": "string",
                    "nullable": true
                  },
                  "execute": {
                    "type": "boolean"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:write"
      }
    },
    "/api/sentinel/scores": {
      "get": {
        "tags": [
          "Relatórios"
        ],
        "summary": "Listar scores",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `reports:read`.",
        "operationId": "get-sentinel-scores",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "reports:read"
      }
    },
    "/api/settings/contacts": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar contacts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-settings-contacts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar contacts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-settings-contacts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "MERGED",
                      "SPLIT"
                    ]
                  },
                  "strategy": {
                    "type": "string",
                    "enum": [
                      "KEEP_ALL",
                      "DELETE_NOT_IN_CREDENTIAL",
                      "ASSIGN_UNLINKED_TO_CREDENTIAL"
                    ]
                  },
                  "credentialId": {
                    "type": "string"
                  }
                },
                "required": [
                  "mode"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "202": {
            "description": "Operação aceita para processamento.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/settings/contacts/jobs/{jobId}": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Consultar jobs",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-settings-contacts-jobs-jobId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de processamento."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      }
    },
    "/api/settings/flow-encryption": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar flow encryption",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-settings-flow-encryption",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar flow encryption",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-settings-flow-encryption",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir flow encryption",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-settings-flow-encryption",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/settings/privacy": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar privacy",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-settings-privacy",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar privacy",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-settings-privacy",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sendReadReceipts": {
                    "type": "boolean"
                  },
                  "sendTypingIndicators": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/settings/satisfaction": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar satisfaction",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-settings-satisfaction",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar satisfaction",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-settings-satisfaction",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "isEnabled": {
                    "type": "boolean"
                  },
                  "delayMinutes": {
                    "type": "number"
                  },
                  "messageMode": {
                    "type": "string",
                    "enum": [
                      "BUTTONS",
                      "LIST",
                      "TEXT",
                      "TEMPLATE"
                    ]
                  },
                  "questionText": {
                    "type": "string",
                    "nullable": true
                  },
                  "footerText": {
                    "type": "string",
                    "nullable": true
                  },
                  "listButtonText": {
                    "type": "string",
                    "nullable": true
                  },
                  "templateId": {
                    "type": "string",
                    "nullable": true
                  },
                  "responseOptions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string"
                        },
                        "score": {
                          "type": "number"
                        },
                        "aliases": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "label",
                        "score"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "lowScoreThreshold": {
                    "type": "number"
                  },
                  "reopenOnLowScore": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "credentialId",
                  "messageMode"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir satisfaction",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-settings-satisfaction",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/settings/satisfaction/surveys/{id}": {
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar surveys",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-settings-satisfaction-surveys-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "action": {
                    "type": "string",
                    "enum": [
                      "cancel",
                      "retry"
                    ]
                  }
                },
                "required": [
                  "credentialId",
                  "action"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/settings/sla": {
      "get": {
        "tags": [
          "SLA"
        ],
        "summary": "Listar sla",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `sla:read`.",
        "operationId": "get-settings-sla",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "sla:read"
      },
      "post": {
        "tags": [
          "SLA"
        ],
        "summary": "Criar ou executar sla",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `sla:write`.",
        "operationId": "post-settings-sla",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "firstResponseEnabled": {
                    "type": "boolean"
                  },
                  "firstResponseThreshold": {
                    "type": "number"
                  },
                  "resolutionEnabled": {
                    "type": "boolean"
                  },
                  "resolutionThreshold": {
                    "type": "number"
                  },
                  "warningThresholdPercent": {
                    "type": "number"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "notifyEmail": {
                    "type": "boolean"
                  },
                  "notifyBrowser": {
                    "type": "boolean"
                  },
                  "notifyVisual": {
                    "type": "boolean"
                  },
                  "notifyAudio": {
                    "type": "boolean"
                  },
                  "autoPrivateMessage": {
                    "type": "boolean"
                  },
                  "privateMessageTemplate": {
                    "type": "string",
                    "nullable": true
                  },
                  "emailRecipientUserIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "escalationEnabled": {
                    "type": "boolean"
                  },
                  "escalationAfterMinutes": {
                    "type": "number"
                  },
                  "escalationTargetUserId": {
                    "type": "string",
                    "nullable": true
                  },
                  "escalationTargetTeamId": {
                    "type": "string",
                    "nullable": true
                  },
                  "escalationTargetAIAgentId": {
                    "type": "string",
                    "nullable": true
                  },
                  "escalationAiFallbackAfterMinutes": {
                    "type": "number"
                  },
                  "aiEscalationPrompt": {
                    "type": "string",
                    "nullable": true
                  },
                  "timezone": {
                    "type": "string",
                    "nullable": true
                  },
                  "contactResponseEnabled": {
                    "type": "boolean"
                  },
                  "contactResponseThreshold": {
                    "type": "number"
                  },
                  "businessHoursEnabled": {
                    "type": "boolean"
                  },
                  "businessHours": {
                    "type": "object",
                    "properties": {
                      "days": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "object",
                          "properties": {
                            "enabled": {
                              "type": "boolean"
                            },
                            "start": {
                              "type": "string"
                            },
                            "end": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "enabled",
                            "start",
                            "end"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "days"
                    ],
                    "additionalProperties": false,
                    "nullable": true
                  }
                },
                "required": [
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "sla:write"
      },
      "delete": {
        "tags": [
          "SLA"
        ],
        "summary": "Excluir sla",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `sla:write`.",
        "operationId": "delete-settings-sla",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "sla:write"
      }
    },
    "/api/settings/sla/eligible-ai-agents": {
      "get": {
        "tags": [
          "SLA"
        ],
        "summary": "Listar eligible ai agents",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `sla:read`.",
        "operationId": "get-settings-sla-eligible-ai-agents",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "sla:read"
      }
    },
    "/api/settings/template-ai": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar template ai",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-settings-template-ai",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar template ai",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-settings-template-ai",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "providerKeyId": {
                    "type": "string",
                    "nullable": true
                  },
                  "model": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "enabled"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/shortcuts": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar shortcuts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-shortcuts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar shortcuts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "post-shortcuts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "PAGE",
                      "CONVERSATION",
                      "ORDER",
                      "CONTACT",
                      "TEMPLATE",
                      "AUTOMATION",
                      "CONNECTOR",
                      "CUSTOM"
                    ],
                    "default": "PAGE"
                  },
                  "label": {
                    "type": "string"
                  },
                  "icon": {
                    "type": "string",
                    "nullable": true
                  },
                  "href": {
                    "type": "string"
                  },
                  "category": {
                    "type": "string",
                    "default": "general"
                  },
                  "pinned": {
                    "type": "boolean",
                    "default": false
                  },
                  "keybinding": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "type",
                  "label",
                  "href",
                  "category",
                  "pinned"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      }
    },
    "/api/shortcuts/{id}": {
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar shortcuts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "patch-shortcuts-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  },
                  "icon": {
                    "type": "string",
                    "nullable": true
                  },
                  "href": {
                    "type": "string"
                  },
                  "category": {
                    "type": "string"
                  },
                  "pinned": {
                    "type": "boolean"
                  },
                  "keybinding": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir shortcuts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "delete-shortcuts-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      }
    },
    "/api/shortcuts/reorder": {
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar reorder",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "patch-shortcuts-reorder",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "ids"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      }
    },
    "/api/tags": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Listar tags",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-tags",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Texto usado na busca."
          },
          {
            "name": "strictCredential",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de strict credential."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "post": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Criar ou executar tags",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "post-tags",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "name",
                  "color"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/tags/{tagId}": {
      "get": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Consultar tags",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:read`.",
        "operationId": "get-tags-tagId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de tag."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:read"
      },
      "patch": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Atualizar tags",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "patch-tags-tagId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de tag."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      },
      "delete": {
        "tags": [
          "Contatos e CRM"
        ],
        "summary": "Excluir tags",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `contacts:write`.",
        "operationId": "delete-tags-tagId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "tagId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de tag."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "contacts:write"
      }
    },
    "/api/task-groups": {
      "get": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Listar grupos de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:read`.",
        "operationId": "get-task-groups",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:read"
      },
      "post": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Criar ou executar grupos de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "post-task-groups",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "projectId": {
                    "type": "string"
                  },
                  "order": {
                    "type": "number"
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      }
    },
    "/api/task-groups/{id}": {
      "patch": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Atualizar grupos de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "patch-task-groups-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "projectId": {
                    "type": "string",
                    "nullable": true
                  },
                  "order": {
                    "type": "number"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      },
      "delete": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Excluir grupos de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "delete-task-groups-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      }
    },
    "/api/task-labels": {
      "get": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Listar etiquetas de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:read`.",
        "operationId": "get-task-labels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:read"
      },
      "post": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Criar ou executar etiquetas de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "post-task-labels",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      }
    },
    "/api/task-labels/{id}": {
      "patch": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Atualizar etiquetas de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "patch-task-labels-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      },
      "delete": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Excluir etiquetas de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "delete-task-labels-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      }
    },
    "/api/task-projects": {
      "get": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Listar projetos de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:read`.",
        "operationId": "get-task-projects",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:read"
      },
      "post": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Criar ou executar projetos de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "post-task-projects",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "order": {
                    "type": "number"
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      }
    },
    "/api/task-projects/{id}": {
      "patch": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Atualizar projetos de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "patch-task-projects-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "order": {
                    "type": "number"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      },
      "delete": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Excluir projetos de tarefas",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "delete-task-projects-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      }
    },
    "/api/task-schedules": {
      "get": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Listar task schedules",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:read`.",
        "operationId": "get-task-schedules",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:read"
      },
      "post": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Criar ou executar task schedules",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "post-task-schedules",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "totalWeeks": {
                    "type": "number",
                    "default": "4"
                  },
                  "repeatCycle": {
                    "type": "boolean",
                    "default": true
                  },
                  "cycleDurationMonths": {
                    "type": "number",
                    "nullable": true
                  },
                  "startDate": {
                    "type": "string"
                  },
                  "projectId": {
                    "type": "string"
                  },
                  "assignedToId": {
                    "type": "string"
                  },
                  "assignedTeamId": {
                    "type": "string"
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "credentialId": {
                    "type": "string"
                  },
                  "contactId": {
                    "type": "string",
                    "nullable": true
                  },
                  "contactIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "metadata": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "entries": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "weekNumber": {
                          "type": "number"
                        },
                        "dayOfWeek": {
                          "type": "number"
                        },
                        "timeOfDay": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "priority": {
                          "type": "string",
                          "enum": [
                            "LOW",
                            "NORMAL",
                            "HIGH",
                            "URGENT"
                          ]
                        },
                        "labels": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "groupId": {
                          "type": "string"
                        },
                        "estimatedMinutes": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "weekNumber",
                        "dayOfWeek",
                        "timeOfDay",
                        "title"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "name",
                  "totalWeeks",
                  "repeatCycle",
                  "startDate",
                  "entries"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      }
    },
    "/api/task-schedules/{id}": {
      "get": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Consultar task schedules",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:read`.",
        "operationId": "get-task-schedules-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:read"
      },
      "patch": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Atualizar task schedules",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "patch-task-schedules-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "totalWeeks": {
                    "type": "number"
                  },
                  "repeatCycle": {
                    "type": "boolean"
                  },
                  "cycleDurationMonths": {
                    "type": "number",
                    "nullable": true
                  },
                  "startDate": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "ACTIVE",
                      "PAUSED",
                      "ARCHIVED"
                    ]
                  },
                  "projectId": {
                    "type": "string",
                    "nullable": true
                  },
                  "contactId": {
                    "type": "string",
                    "nullable": true
                  },
                  "contactIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "nullable": true
                  },
                  "assignedToId": {
                    "type": "string",
                    "nullable": true
                  },
                  "assignedTeamId": {
                    "type": "string",
                    "nullable": true
                  },
                  "metadata": {
                    "type": "object",
                    "additionalProperties": {},
                    "nullable": true
                  },
                  "entries": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "weekNumber": {
                          "type": "number"
                        },
                        "dayOfWeek": {
                          "type": "number"
                        },
                        "timeOfDay": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "priority": {
                          "type": "string",
                          "enum": [
                            "LOW",
                            "NORMAL",
                            "HIGH",
                            "URGENT"
                          ]
                        },
                        "labels": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "groupId": {
                          "type": "string",
                          "nullable": true
                        },
                        "estimatedMinutes": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "weekNumber",
                        "dayOfWeek",
                        "timeOfDay",
                        "title"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      },
      "delete": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Excluir task schedules",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "delete-task-schedules-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "generatedTasksAction": {
                    "type": "string",
                    "enum": [
                      "keep",
                      "delete"
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      }
    },
    "/api/tasks": {
      "get": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Listar tasks",
        "description": "Lista tarefas com filtros por contato, projeto, grupo, status e texto.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:read`.",
        "operationId": "get-tasks",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Conta compatível usada para resolver o escopo"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Limite máximo de itens retornados."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Página da listagem, iniciando em 1."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:read"
      },
      "post": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Criar ou executar tasks",
        "description": "Cria uma tarefa no escopo da conta selecionada. Se não houver `contactId`, informe uma forma de atribuição, como `assignToSelf`.\n\nExemplo de criação com evento no Google Calendar. Exige conector ativo e calendário configurado.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "post-tasks",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "credentialId": {},
                  "projectId": {},
                  "groupId": {},
                  "labels": {
                    "type": "array",
                    "items": {}
                  },
                  "status": {
                    "type": "string"
                  },
                  "priority": {
                    "type": "string"
                  },
                  "dueDate": {
                    "type": "string"
                  },
                  "assignToSelf": {
                    "type": "boolean"
                  },
                  "contactId": {
                    "type": "string",
                    "nullable": true
                  },
                  "contactIds": {
                    "type": "array",
                    "items": {}
                  },
                  "channelAccountId": {},
                  "crmDealId": {
                    "nullable": true
                  },
                  "conversationId": {},
                  "assignedToId": {},
                  "assignedTeamId": {},
                  "googleCalendar": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "provider": {
                        "type": "string",
                        "enum": [
                          "google",
                          "microsoft"
                        ]
                      },
                      "includeDetails": {
                        "type": "boolean"
                      },
                      "calendarId": {
                        "type": "string",
                        "nullable": true
                      },
                      "addVideoConference": {
                        "type": "boolean"
                      },
                      "addContactAsAttendee": {
                        "type": "boolean"
                      },
                      "additionalEmails": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "sendInvites": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "enabled"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "title"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Task",
                  "value": {
                    "title": "Tarefa criada via API",
                    "description": "Acompanhar cliente e registrar retorno.",
                    "credentialId": "{{credentialId}}",
                    "projectId": "{{projectId}}",
                    "groupId": "{{groupId}}",
                    "labels": [],
                    "status": "TODO",
                    "priority": "HIGH",
                    "dueDate": "2026-01-20T15:00:00.000Z",
                    "assignToSelf": true
                  }
                },
                "exemplo2": {
                  "summary": "Create Task with Google Calendar",
                  "value": {
                    "title": "Reunião com cliente",
                    "description": "Reunião comercial criada pela API.",
                    "credentialId": "{{credentialId}}",
                    "contactId": "{{contactId}}",
                    "assignToSelf": true,
                    "dueDate": "2026-01-21T14:00:00.000Z",
                    "googleCalendar": {
                      "enabled": true,
                      "provider": "google",
                      "includeDetails": true,
                      "calendarId": "{{calendarId}}",
                      "addVideoConference": true,
                      "sendInvites": true
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      }
    },
    "/api/tasks/{id}": {
      "get": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Consultar tasks",
        "description": "Busca uma tarefa específica.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:read`.",
        "operationId": "get-tasks-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:read"
      },
      "patch": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Atualizar tasks",
        "description": "Atualiza os principais campos da tarefa. A rota também pode sincronizar o evento de calendário quando necessário.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "patch-tasks-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "status": {
                    "type": "string"
                  },
                  "priority": {
                    "type": "string"
                  },
                  "assignedToId": {
                    "nullable": true
                  },
                  "assignedTeamId": {
                    "nullable": true
                  },
                  "channelAccountId": {
                    "type": "string"
                  },
                  "credentialId": {},
                  "projectId": {
                    "nullable": true
                  },
                  "groupId": {
                    "nullable": true
                  },
                  "crmDealId": {
                    "nullable": true
                  },
                  "labels": {
                    "type": "array",
                    "items": {}
                  },
                  "dueDate": {
                    "type": "string",
                    "nullable": true
                  },
                  "contactId": {
                    "nullable": true
                  },
                  "contactIds": {
                    "type": "array",
                    "items": {}
                  },
                  "googleCalendar": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "provider": {
                        "type": "string",
                        "enum": [
                          "google",
                          "microsoft"
                        ]
                      },
                      "includeDetails": {
                        "type": "boolean"
                      },
                      "calendarId": {
                        "type": "string",
                        "nullable": true
                      },
                      "addVideoConference": {
                        "type": "boolean"
                      },
                      "addContactAsAttendee": {
                        "type": "boolean"
                      },
                      "additionalEmails": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "sendInvites": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "enabled"
                    ],
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Task",
                  "value": {
                    "title": "Tarefa atualizada via API",
                    "description": "Cliente respondeu, seguir para próxima etapa.",
                    "status": "IN_PROGRESS",
                    "priority": "URGENT",
                    "assignedToId": null,
                    "assignedTeamId": null
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      },
      "delete": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Excluir tasks",
        "description": "Exclui a tarefa informada e retorna `{ success: true }`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:write`.",
        "operationId": "delete-tasks-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:write"
      }
    },
    "/api/tasks/metadata": {
      "get": {
        "tags": [
          "Tarefas"
        ],
        "summary": "Listar metadata",
        "description": "Retorna projetos, etiquetas, grupos e a capacidade de atribuir a outras pessoas no escopo atual.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `tasks:read`.",
        "operationId": "get-tasks-metadata",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "channelAccountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de channel account."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "tasks:read"
      }
    },
    "/api/team/invite": {
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar invite",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-team-invite",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "OWNER",
                      "ADMIN",
                      "AGENT"
                    ]
                  },
                  "credentialIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "name",
                  "email",
                  "role"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/team/users/{userId}": {
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar usuários",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-team-users-userId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de usuário."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "type": "string",
                    "enum": [
                      "ADMIN",
                      "AGENT"
                    ]
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir usuários",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-team-users-userId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de usuário."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/team/users/{userId}/permissions": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar permissions",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-team-users-userId-permissions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de usuário."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "put": {
        "tags": [
          "Configurações"
        ],
        "summary": "Substituir permissions",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "put-team-users-userId-permissions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de usuário."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "permissions": {}
                },
                "required": [
                  "permissions"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir permissions",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-team-users-userId-permissions",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de usuário."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/teams": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar equipes",
        "description": "Lista as equipes ativas do ambiente.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-teams",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "includeInactive",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de include inactive."
          },
          {
            "name": "includeMembers",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Quando true, inclui membros e contagens na resposta"
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Texto usado na busca."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar equipes",
        "description": "Cria uma nova equipe. Requer OWNER ou ADMIN.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-teams",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {},
                  "color": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "description"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Team",
                  "value": {
                    "name": "Equipe API",
                    "description": "Equipe criada para testar a API pública.",
                    "color": "#6366f1"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/teams/{teamId}": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Consultar equipes",
        "description": "Retorna uma equipe específica com membros e quantidade de atribuições.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-teams-teamId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de equipe."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar equipes",
        "description": "Atualiza nome, descrição, cor e estado ativo da equipe. Requer OWNER ou ADMIN.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-teams-teamId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de equipe."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {},
                  "color": {
                    "type": "string"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "description"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Team",
                  "value": {
                    "name": "Equipe API Atualizada",
                    "description": "Equipe revisada pela API.",
                    "color": "#8b5cf6",
                    "isActive": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir equipes",
        "description": "Exclui a equipe informada. Falha se ainda houver conversas atribuídas a ela.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-teams-teamId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de equipe."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/teams/{teamId}/members": {
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar membros",
        "description": "Adiciona uma pessoa à equipe. O papel pode ser `LEAD` ou `MEMBER`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-teams-teamId-members",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de equipe."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string"
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "LEAD",
                      "MEMBER"
                    ],
                    "default": "MEMBER"
                  }
                },
                "required": [
                  "userId",
                  "role"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Add Team Member",
                  "value": {
                    "userId": "{{userId}}",
                    "role": "MEMBER"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir membros",
        "description": "Remove a pessoa informada da equipe e retorna `{ success: true }`.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-teams-teamId-members",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de equipe."
          },
          {
            "name": "userId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de user."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar membros",
        "description": "Atualiza o papel de uma pessoa já vinculada à equipe.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-teams-teamId-members",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "teamId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de equipe."
          },
          {
            "name": "userId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Usuário cujo papel será atualizado"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "type": "string",
                    "enum": [
                      "LEAD",
                      "MEMBER"
                    ]
                  }
                },
                "required": [
                  "role"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Team Member Role",
                  "value": {
                    "role": "LEAD"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/templates": {
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Listar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:read`.",
        "operationId": "get-templates",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Valor opcional de after."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "force",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de force."
          },
          {
            "name": "fullSync",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de full sync."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 100
            },
            "description": "Limite máximo de itens retornados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:read"
      },
      "post": {
        "tags": [
          "Templates"
        ],
        "summary": "Criar ou executar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "post-templates",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "category": {
                    "type": "string",
                    "enum": [
                      "MARKETING",
                      "UTILITY",
                      "AUTHENTICATION"
                    ]
                  },
                  "templateType": {
                    "type": "string",
                    "enum": [
                      "STANDARD",
                      "CATALOG",
                      "MARKETING_FLOW",
                      "ORDER_DETAILS",
                      "CALL_PERMISSION",
                      "UTILITY_STANDARD",
                      "UTILITY_FLOW",
                      "ORDER_STATUS",
                      "UTILITY_ORDER_DETAILS",
                      "UTILITY_CALL_PERMISSION",
                      "OTP"
                    ]
                  },
                  "language": {
                    "type": "string"
                  },
                  "components": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "type": {
                              "const": "HEADER"
                            },
                            "format": {
                              "type": "string",
                              "enum": [
                                "TEXT",
                                "IMAGE",
                                "VIDEO",
                                "DOCUMENT",
                                "LOCATION"
                              ]
                            },
                            "text": {
                              "type": "string"
                            },
                            "example": {
                              "type": "object",
                              "properties": {
                                "header_handle": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "header_text": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "type",
                            "format"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "type": {
                              "const": "BODY"
                            },
                            "text": {
                              "type": "string"
                            },
                            "example": {
                              "type": "object",
                              "properties": {
                                "body_text": {
                                  "type": "array",
                                  "items": {
                                    "type": "array",
                                    "items": {
                                      "type": "string"
                                    }
                                  }
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "type",
                            "text"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "type": {
                              "const": "FOOTER"
                            },
                            "text": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "type",
                            "text"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "type": {
                              "const": "BUTTONS"
                            },
                            "buttons": {
                              "type": "array",
                              "items": {
                                "anyOf": [
                                  {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "const": "QUICK_REPLY"
                                      },
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type",
                                      "text"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "const": "URL"
                                      },
                                      "text": {
                                        "type": "string"
                                      },
                                      "url": {
                                        "type": "string"
                                      },
                                      "example": {
                                        "type": "array",
                                        "items": {
                                          "type": "string"
                                        }
                                      }
                                    },
                                    "required": [
                                      "type",
                                      "text",
                                      "url"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "const": "PHONE_NUMBER"
                                      },
                                      "text": {
                                        "type": "string"
                                      },
                                      "phone_number": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "type",
                                      "text",
                                      "phone_number"
                                    ],
                                    "additionalProperties": false
                                  },
                                  {
                                    "type": "object",
                                    "properties": {
                                      "type": {
                                        "const": "FLOW"
                                      },
                                      "text": {
                                        "type": "string"
                                      },
                                      "flow_id": {
                                        "type": "string"
                                      },
                                      "flow_json": {
                                        "type": "string"
                                      },
                                      "navigate_screen": {
                                        "type": "string"
                                      },
                                      "flow_action": {
                                        "type": "string",
                                        "enum": [
                                          "navigate"
                                        ]
                                      }
                                    },
                                    "required": [
                                      "type",
                                      "text"
                                    ],
                                    "additionalProperties": false
                                  }
                                ]
                              }
                            }
                          },
                          "required": [
                            "type"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "additionalProperties": {}
                        }
                      ]
                    }
                  },
                  "allowCategoryChange": {
                    "type": "boolean"
                  },
                  "linkedFlowId": {
                    "type": "string"
                  },
                  "flowButtonText": {
                    "type": "string"
                  },
                  "flowNavigateScreen": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId",
                  "name",
                  "category",
                  "language",
                  "components"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/{id}": {
      "patch": {
        "tags": [
          "Templates"
        ],
        "summary": "Atualizar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "patch-templates-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "groupId": {
                    "type": "string",
                    "nullable": true
                  },
                  "subGroupId": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      },
      "delete": {
        "tags": [
          "Templates"
        ],
        "summary": "Excluir templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "delete-templates-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/cleanup-unused": {
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Limpar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:read`.",
        "operationId": "get-templates-cleanup-unused",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:read"
      },
      "post": {
        "tags": [
          "Templates"
        ],
        "summary": "Limpar templates",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "post-templates-cleanup-unused",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "inactiveDays": {
                    "anyOf": [
                      {
                        "const": "30"
                      },
                      {
                        "const": "60"
                      },
                      {
                        "const": "90"
                      }
                    ]
                  },
                  "credentialId": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "inactiveDays"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Resposta da operação.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/drafts": {
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Listar drafts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:read`.",
        "operationId": "get-templates-drafts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 12
            },
            "description": "Limite máximo de itens retornados."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:read"
      },
      "delete": {
        "tags": [
          "Templates"
        ],
        "summary": "Excluir drafts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "delete-templates-drafts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string",
                    "nullable": true
                  },
                  "credentialId": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      },
      "post": {
        "tags": [
          "Templates"
        ],
        "summary": "Criar ou executar drafts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "post-templates-drafts",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "payload": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "credentialId": {
                    "type": "string",
                    "nullable": true
                  },
                  "conversationId": {
                    "type": "string",
                    "nullable": true
                  },
                  "source": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "payload"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/drafts/{draftId}": {
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Consultar drafts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:read`.",
        "operationId": "get-templates-drafts-draftId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "draftId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de draft."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:read"
      },
      "patch": {
        "tags": [
          "Templates"
        ],
        "summary": "Atualizar drafts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "patch-templates-drafts-draftId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "draftId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de draft."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "payload": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "credentialId": {
                    "type": "string",
                    "nullable": true
                  },
                  "conversationId": {
                    "type": "string",
                    "nullable": true
                  },
                  "source": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "payload"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      },
      "delete": {
        "tags": [
          "Templates"
        ],
        "summary": "Excluir drafts",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "delete-templates-drafts-draftId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "draftId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de draft."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/favorites": {
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Listar favorites",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:read`.",
        "operationId": "get-templates-favorites",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:read"
      },
      "post": {
        "tags": [
          "Templates"
        ],
        "summary": "Criar ou executar favorites",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:read`.",
        "operationId": "post-templates-favorites",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "templateId": {
                    "type": "string"
                  }
                },
                "required": [
                  "templateId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:read"
      },
      "delete": {
        "tags": [
          "Templates"
        ],
        "summary": "Excluir favorites",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:read`.",
        "operationId": "delete-templates-favorites",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "templateId": {
                    "type": "string"
                  }
                },
                "required": [
                  "templateId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:read"
      }
    },
    "/api/templates/generate": {
      "post": {
        "tags": [
          "Templates"
        ],
        "summary": "Criar ou executar generate",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "post-templates-generate",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "prompt": {
                    "type": "string",
                    "nullable": true
                  },
                  "presetId": {
                    "type": "string",
                    "nullable": true
                  },
                  "category": {
                    "type": "string",
                    "enum": [
                      "UTILITY",
                      "MARKETING",
                      "AUTHENTICATION"
                    ],
                    "nullable": true
                  },
                  "language": {
                    "type": "string",
                    "nullable": true
                  },
                  "consultConversation": {
                    "type": "boolean",
                    "default": false
                  },
                  "conversationId": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/groups": {
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Listar groups",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:read`.",
        "operationId": "get-templates-groups",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:read"
      },
      "post": {
        "tags": [
          "Templates"
        ],
        "summary": "Criar ou executar groups",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "post-templates-groups",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "order": {
                    "type": "number"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/groups/{groupId}": {
      "patch": {
        "tags": [
          "Templates"
        ],
        "summary": "Atualizar groups",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "patch-templates-groups-groupId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de group."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "order": {
                    "type": "number"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      },
      "delete": {
        "tags": [
          "Templates"
        ],
        "summary": "Excluir groups",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "delete-templates-groups-groupId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de group."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/link-flow": {
      "post": {
        "tags": [
          "Templates"
        ],
        "summary": "Criar ou executar link flow",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "post-templates-link-flow",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "templateId": {
                    "type": "string"
                  },
                  "flowId": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": [
                  "templateId",
                  "flowId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      },
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Listar link flow",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:read`.",
        "operationId": "get-templates-link-flow",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "flowId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de flow."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:read"
      }
    },
    "/api/templates/list": {
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Listar list",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:read`.",
        "operationId": "get-templates-list",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          },
          {
            "name": "favorites",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Valor opcional de favorites."
          },
          {
            "name": "groupId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de group."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Status usado para filtrar os resultados."
          },
          {
            "name": "subGroupId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de sub group."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:read"
      }
    },
    "/api/templates/media-handle": {
      "post": {
        "tags": [
          "Templates"
        ],
        "summary": "Criar ou executar media handle",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "post-templates-media-handle",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/organization-plan": {
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Listar organization plan",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "get-templates-organization-plan",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "credentialId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ID da conta conectada no escopo da chave."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      },
      "post": {
        "tags": [
          "Templates"
        ],
        "summary": "Criar ou executar organization plan",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "post-templates-organization-plan",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  }
                },
                "required": [
                  "credentialId"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/organization-plan/{planId}": {
      "patch": {
        "tags": [
          "Templates"
        ],
        "summary": "Atualizar organization plan",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "patch-templates-organization-plan-planId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "planId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de plan."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "string",
                    "enum": [
                      "approve",
                      "cancel"
                    ]
                  }
                },
                "required": [
                  "action"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/subgroups": {
      "get": {
        "tags": [
          "Templates"
        ],
        "summary": "Listar subgroups",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:read`.",
        "operationId": "get-templates-subgroups",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "groupId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de group."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:read"
      },
      "post": {
        "tags": [
          "Templates"
        ],
        "summary": "Criar ou executar subgroups",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "post-templates-subgroups",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "groupId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "order": {
                    "type": "number"
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "groupId",
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/templates/subgroups/{subGroupId}": {
      "patch": {
        "tags": [
          "Templates"
        ],
        "summary": "Atualizar subgroups",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "patch-templates-subgroups-subGroupId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "subGroupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sub group."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "order": {
                    "type": "number"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "groupId": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "409": {
            "description": "Conflito com o estado atual do recurso.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      },
      "delete": {
        "tags": [
          "Templates"
        ],
        "summary": "Excluir subgroups",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `templates:write`.",
        "operationId": "delete-templates-subgroups-subGroupId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "subGroupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sub group."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "templates:write"
      }
    },
    "/api/tenant/update": {
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar update",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-tenant-update",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/webhooks/test/data/{sessionId}": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Consultar data",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-webhooks-test-data-sessionId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/webhooks/test/events/{sessionId}": {
      "get": {
        "tags": [
          "Conectores"
        ],
        "summary": "Consultar eventos",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:read`.",
        "operationId": "get-webhooks-test-events-sessionId",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de sessão."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:read"
      }
    },
    "/api/webhooks/test/start": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Iniciar test",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-webhooks-test-start",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/webhooks/test/stop": {
      "post": {
        "tags": [
          "Conectores"
        ],
        "summary": "Interromper test",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `connectors:write`.",
        "operationId": "post-webhooks-test-stop",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "connectors:write"
      }
    },
    "/api/widget-campaigns": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Listar campanhas do widget",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-widget-campaigns",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "widgetConfigId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de widget config."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      },
      "post": {
        "tags": [
          "Disparos"
        ],
        "summary": "Criar ou executar campanhas do widget",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "post-widget-campaigns",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "widgetConfigId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "messageType": {
                    "type": "string",
                    "enum": [
                      "TEXT",
                      "INTERACTIVE"
                    ]
                  },
                  "interactive": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "buttons",
                          "list",
                          "cards"
                        ]
                      },
                      "header": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "text",
                              "image",
                              "video",
                              "document"
                            ]
                          },
                          "text": {
                            "type": "string",
                            "nullable": true
                          },
                          "image": {
                            "type": "object",
                            "properties": {
                              "link": {
                                "type": "string"
                              },
                              "caption": {
                                "type": "string",
                                "nullable": true
                              }
                            },
                            "required": [
                              "link"
                            ],
                            "additionalProperties": false,
                            "nullable": true
                          },
                          "video": {
                            "type": "object",
                            "properties": {
                              "link": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "link"
                            ],
                            "additionalProperties": false,
                            "nullable": true
                          },
                          "document": {
                            "type": "object",
                            "properties": {
                              "link": {
                                "type": "string"
                              },
                              "filename": {
                                "type": "string",
                                "nullable": true
                              }
                            },
                            "required": [
                              "link"
                            ],
                            "additionalProperties": false,
                            "nullable": true
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "additionalProperties": false,
                        "nullable": true
                      },
                      "body": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text"
                        ],
                        "additionalProperties": false,
                        "nullable": true
                      },
                      "footer": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text"
                        ],
                        "additionalProperties": false,
                        "nullable": true
                      },
                      "action": {
                        "type": "object",
                        "properties": {
                          "buttons": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "reply": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "string"
                                    },
                                    "title": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "title"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "reply"
                              ],
                              "additionalProperties": false
                            },
                            "nullable": true
                          },
                          "sections": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "title": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "rows": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string"
                                      },
                                      "title": {
                                        "type": "string"
                                      },
                                      "description": {
                                        "type": "string",
                                        "nullable": true
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "title"
                                    ],
                                    "additionalProperties": false
                                  }
                                }
                              },
                              "additionalProperties": false
                            },
                            "nullable": true
                          }
                        },
                        "additionalProperties": false,
                        "nullable": true
                      },
                      "cards": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "title": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string",
                              "nullable": true
                            },
                            "imageUrl": {
                              "type": "string",
                              "nullable": true
                            },
                            "actions": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "link",
                                      "postback"
                                    ]
                                  },
                                  "text": {
                                    "type": "string"
                                  },
                                  "uri": {
                                    "type": "string",
                                    "nullable": true
                                  },
                                  "payload": {
                                    "type": "string",
                                    "nullable": true
                                  }
                                },
                                "required": [
                                  "type",
                                  "text"
                                ],
                                "additionalProperties": false
                              },
                              "nullable": true
                            }
                          },
                          "required": [
                            "title"
                          ],
                          "additionalProperties": false
                        },
                        "nullable": true
                      }
                    },
                    "required": [
                      "type",
                      "action"
                    ],
                    "additionalProperties": false,
                    "nullable": true
                  },
                  "urlPatterns": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "timeOnPageSeconds": {
                    "type": "number"
                  },
                  "sentBy": {
                    "type": "string",
                    "enum": [
                      "agent",
                      "bot"
                    ],
                    "nullable": true
                  },
                  "businessHours": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "default": true
                      },
                      "start": {
                        "type": "string",
                        "nullable": true
                      },
                      "end": {
                        "type": "string",
                        "nullable": true
                      },
                      "timezone": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "additionalProperties": false,
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "widgetConfigId",
                  "name",
                  "message",
                  "urlPatterns",
                  "businessHours"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Dados semanticamente inválidos.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/widget-campaigns/{id}": {
      "get": {
        "tags": [
          "Disparos"
        ],
        "summary": "Consultar campanhas do widget",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:read`.",
        "operationId": "get-widget-campaigns-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:read"
      },
      "patch": {
        "tags": [
          "Disparos"
        ],
        "summary": "Atualizar campanhas do widget",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "patch-widget-campaigns-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "widgetConfigId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "messageType": {
                    "type": "string",
                    "enum": [
                      "TEXT",
                      "INTERACTIVE"
                    ]
                  },
                  "interactive": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "buttons",
                          "list",
                          "cards"
                        ]
                      },
                      "header": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "text",
                              "image",
                              "video",
                              "document"
                            ]
                          },
                          "text": {
                            "type": "string",
                            "nullable": true
                          },
                          "image": {
                            "type": "object",
                            "properties": {
                              "link": {
                                "type": "string"
                              },
                              "caption": {
                                "type": "string",
                                "nullable": true
                              }
                            },
                            "required": [
                              "link"
                            ],
                            "additionalProperties": false,
                            "nullable": true
                          },
                          "video": {
                            "type": "object",
                            "properties": {
                              "link": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "link"
                            ],
                            "additionalProperties": false,
                            "nullable": true
                          },
                          "document": {
                            "type": "object",
                            "properties": {
                              "link": {
                                "type": "string"
                              },
                              "filename": {
                                "type": "string",
                                "nullable": true
                              }
                            },
                            "required": [
                              "link"
                            ],
                            "additionalProperties": false,
                            "nullable": true
                          }
                        },
                        "required": [
                          "type"
                        ],
                        "additionalProperties": false,
                        "nullable": true
                      },
                      "body": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text"
                        ],
                        "additionalProperties": false,
                        "nullable": true
                      },
                      "footer": {
                        "type": "object",
                        "properties": {
                          "text": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "text"
                        ],
                        "additionalProperties": false,
                        "nullable": true
                      },
                      "action": {
                        "type": "object",
                        "properties": {
                          "buttons": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "reply": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "string"
                                    },
                                    "title": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "title"
                                  ],
                                  "additionalProperties": false
                                }
                              },
                              "required": [
                                "reply"
                              ],
                              "additionalProperties": false
                            },
                            "nullable": true
                          },
                          "sections": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "title": {
                                  "type": "string",
                                  "nullable": true
                                },
                                "rows": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "id": {
                                        "type": "string"
                                      },
                                      "title": {
                                        "type": "string"
                                      },
                                      "description": {
                                        "type": "string",
                                        "nullable": true
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "title"
                                    ],
                                    "additionalProperties": false
                                  }
                                }
                              },
                              "additionalProperties": false
                            },
                            "nullable": true
                          }
                        },
                        "additionalProperties": false,
                        "nullable": true
                      },
                      "cards": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "title": {
                              "type": "string"
                            },
                            "description": {
                              "type": "string",
                              "nullable": true
                            },
                            "imageUrl": {
                              "type": "string",
                              "nullable": true
                            },
                            "actions": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "link",
                                      "postback"
                                    ]
                                  },
                                  "text": {
                                    "type": "string"
                                  },
                                  "uri": {
                                    "type": "string",
                                    "nullable": true
                                  },
                                  "payload": {
                                    "type": "string",
                                    "nullable": true
                                  }
                                },
                                "required": [
                                  "type",
                                  "text"
                                ],
                                "additionalProperties": false
                              },
                              "nullable": true
                            }
                          },
                          "required": [
                            "title"
                          ],
                          "additionalProperties": false
                        },
                        "nullable": true
                      }
                    },
                    "required": [
                      "type",
                      "action"
                    ],
                    "additionalProperties": false,
                    "nullable": true
                  },
                  "urlPatterns": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "timeOnPageSeconds": {
                    "type": "number"
                  },
                  "sentBy": {
                    "type": "string",
                    "enum": [
                      "agent",
                      "bot"
                    ],
                    "nullable": true
                  },
                  "businessHours": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "default": true
                      },
                      "start": {
                        "type": "string",
                        "nullable": true
                      },
                      "end": {
                        "type": "string",
                        "nullable": true
                      },
                      "timezone": {
                        "type": "string",
                        "nullable": true
                      }
                    },
                    "additionalProperties": false,
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "widgetConfigId",
                  "name",
                  "message",
                  "urlPatterns",
                  "businessHours"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "422": {
            "description": "Dados semanticamente inválidos.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      },
      "delete": {
        "tags": [
          "Disparos"
        ],
        "summary": "Excluir campanhas do widget",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `broadcasts:write`.",
        "operationId": "delete-widget-campaigns-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "broadcasts:write"
      }
    },
    "/api/widgets/configs": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar configs",
        "description": "Lista as configurações de widget disponíveis.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-widgets-configs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar configs",
        "description": "Cria uma nova configuração de widget.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-widgets-configs",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credentialId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string",
                    "nullable": true
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "theme": {
                    "type": "object",
                    "additionalProperties": {},
                    "nullable": true
                  },
                  "welcomeTitle": {
                    "type": "string",
                    "nullable": true
                  },
                  "welcomeMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "allowGuestMessages": {
                    "type": "boolean"
                  },
                  "requirePreChatForm": {
                    "type": "boolean"
                  },
                  "preChatForm": {
                    "type": "object",
                    "properties": {
                      "title": {
                        "type": "string",
                        "nullable": true
                      },
                      "description": {
                        "type": "string",
                        "nullable": true
                      },
                      "submitLabel": {
                        "type": "string",
                        "nullable": true
                      },
                      "successMessage": {
                        "type": "string",
                        "nullable": true
                      },
                      "fields": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "label": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "text",
                                "email",
                                "phone",
                                "textarea",
                                "select"
                              ]
                            },
                            "required": {
                              "type": "boolean",
                              "default": false
                            },
                            "placeholder": {
                              "type": "string",
                              "nullable": true
                            },
                            "helperText": {
                              "type": "string",
                              "nullable": true
                            },
                            "options": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "value": {
                                    "type": "string"
                                  },
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "value",
                                  "label"
                                ],
                                "additionalProperties": false
                              },
                              "nullable": true
                            },
                            "mapTo": {
                              "type": "string",
                              "enum": [
                                "name",
                                "email",
                                "phone",
                                "customAttribute"
                              ]
                            },
                            "customAttributeKey": {
                              "type": "string",
                              "nullable": true
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "type"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "fields"
                    ],
                    "additionalProperties": false,
                    "nullable": true
                  },
                  "defaultTags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "allowedOrigins": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "metadata": {
                    "type": "object",
                    "additionalProperties": {},
                    "nullable": true
                  }
                },
                "required": [
                  "credentialId",
                  "name"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Widget Config",
                  "value": {
                    "credentialId": "{{credentialId}}",
                    "name": "Widget API",
                    "slug": "widget-api",
                    "description": "Configuração criada pela API.",
                    "isActive": true,
                    "theme": {
                      "primaryColor": "#6366f1"
                    },
                    "welcomeTitle": "Olá!",
                    "welcomeMessage": "Como podemos ajudar?"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/widgets/configs/{id}": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Consultar configs",
        "description": "Busca uma configuração específica do widget.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-widgets-configs-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar configs",
        "description": "Atualiza uma configuração existente do widget.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-widgets-configs-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "welcomeTitle": {
                    "type": "string",
                    "nullable": true
                  },
                  "welcomeMessage": {
                    "type": "string",
                    "nullable": true
                  },
                  "credentialId": {
                    "type": "string"
                  },
                  "slug": {
                    "type": "string",
                    "nullable": true
                  },
                  "allowGuestMessages": {
                    "type": "boolean"
                  },
                  "requirePreChatForm": {
                    "type": "boolean"
                  },
                  "preChatForm": {
                    "type": "object",
                    "properties": {
                      "title": {
                        "type": "string",
                        "nullable": true
                      },
                      "description": {
                        "type": "string",
                        "nullable": true
                      },
                      "submitLabel": {
                        "type": "string",
                        "nullable": true
                      },
                      "successMessage": {
                        "type": "string",
                        "nullable": true
                      },
                      "fields": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "label": {
                              "type": "string"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "text",
                                "email",
                                "phone",
                                "textarea",
                                "select"
                              ]
                            },
                            "required": {
                              "type": "boolean",
                              "default": false
                            },
                            "placeholder": {
                              "type": "string",
                              "nullable": true
                            },
                            "helperText": {
                              "type": "string",
                              "nullable": true
                            },
                            "options": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "value": {
                                    "type": "string"
                                  },
                                  "label": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "value",
                                  "label"
                                ],
                                "additionalProperties": false
                              },
                              "nullable": true
                            },
                            "mapTo": {
                              "type": "string",
                              "enum": [
                                "name",
                                "email",
                                "phone",
                                "customAttribute"
                              ]
                            },
                            "customAttributeKey": {
                              "type": "string",
                              "nullable": true
                            }
                          },
                          "required": [
                            "id",
                            "label",
                            "type"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "fields"
                    ],
                    "additionalProperties": false,
                    "nullable": true
                  },
                  "defaultTags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "allowedOrigins": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "theme": {
                    "type": "object",
                    "additionalProperties": {},
                    "nullable": true
                  },
                  "metadata": {
                    "type": "object",
                    "additionalProperties": {},
                    "nullable": true
                  }
                },
                "required": [
                  "credentialId",
                  "name"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Widget Config",
                  "value": {
                    "name": "Widget API Atualizado",
                    "description": "Configuração atualizada pela API.",
                    "isActive": true,
                    "welcomeTitle": "Bem-vindo!",
                    "welcomeMessage": "Estamos online para te atender."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir configs",
        "description": "Exclui a configuração do widget e seus dados associados.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-widgets-configs-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/widgets/configs/{id}/avatar": {
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar avatar",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-widgets-configs-id-avatar",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Requisição inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir avatar",
        "description": "Opera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-widgets-configs-id-avatar",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Recurso não encontrado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/widgets/tokens": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Listar tokens",
        "description": "Lista os tokens de acesso ligados a uma configuração de widget.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-widgets-tokens",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "widgetConfigId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Valor opcional de widget config."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "post": {
        "tags": [
          "Configurações"
        ],
        "summary": "Criar ou executar tokens",
        "description": "Cria um token de acesso para uso do widget/SDK.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "post-widgets-tokens",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "widgetConfigId": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "scopes": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "widget:read",
                        "widget:send"
                      ]
                    }
                  },
                  "allowedOrigins": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "expiresAt": {
                    "type": "string",
                    "nullable": true
                  },
                  "metadata": {
                    "type": "object",
                    "additionalProperties": {},
                    "nullable": true
                  },
                  "isActive": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "widgetConfigId"
                ],
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Create Widget Token",
                  "value": {
                    "widgetConfigId": "{{widgetConfigId}}",
                    "name": "Token API",
                    "scopes": [
                      "widget:read",
                      "widget:write"
                    ],
                    "allowedOrigins": [
                      "https://example.com"
                    ],
                    "expiresAt": "2026-12-31T23:59:59.999Z"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "Recurso criado com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    },
    "/api/widgets/tokens/{id}": {
      "get": {
        "tags": [
          "Configurações"
        ],
        "summary": "Consultar tokens",
        "description": "Busca um token específico. O segredo costuma vir mascarado na resposta.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:read`.",
        "operationId": "get-widgets-tokens-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:read"
      },
      "patch": {
        "tags": [
          "Configurações"
        ],
        "summary": "Atualizar tokens",
        "description": "Atualiza metadados e permissões do token.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "patch-widgets-tokens-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "nullable": true
                  },
                  "scopes": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "widget:read",
                        "widget:send"
                      ]
                    }
                  },
                  "allowedOrigins": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "expiresAt": {
                    "type": "string",
                    "nullable": true
                  },
                  "metadata": {
                    "type": "object",
                    "additionalProperties": {},
                    "nullable": true
                  }
                },
                "additionalProperties": false
              },
              "examples": {
                "exemplo1": {
                  "summary": "Update Widget Token",
                  "value": {
                    "name": "Token API Atualizado",
                    "scopes": [
                      "widget:read"
                    ],
                    "allowedOrigins": [
                      "https://example.com"
                    ],
                    "isActive": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      },
      "delete": {
        "tags": [
          "Configurações"
        ],
        "summary": "Excluir tokens",
        "description": "Revoga ou exclui um token do widget.\n\nOpera no escopo da conta vinculada à chave de API. Requer a permissão `settings:write`.",
        "operationId": "delete-widgets-tokens-id",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Identificador de id."
          },
          {
            "name": "mode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Use soft para revogar sem apagar definitivamente"
          }
        ],
        "responses": {
          "200": {
            "description": "Operação concluída com sucesso.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "401": {
            "description": "Chave de API ausente ou inválida.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "A chave não possui a permissão ou o acesso necessários.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Erro interno inesperado.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-api-permission": "settings:write"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "wcp_...",
        "description": "Chave criada em Configurações > Chaves de API."
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "details": {
            "type": [
              "object",
              "array",
              "string",
              "null"
            ]
          }
        }
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "x-documentation": {
    "route": "/docs/api",
    "source": "handlers-and-validators",
    "operationCount": 668,
    "sessionOnlyOperationCount": 75,
    "legacyPostmanRequestCount": 218
  }
}