{
  "openapi": "3.0.4",
  "info": {
    "title": "Zild API",
    "version": "v1"
  },
  "paths": {
    "/Account": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Retorna todas as contas",
        "description": "Este endpoint retorna todas as contas cadastradas.",
        "parameters": [
          {
            "name": "EnabledFilter",
            "in": "query",
            "description": "0 = All<br />1 = Enabled<br />2 = Disabled",
            "schema": {
              "$ref": "#/components/schemas/EnabledFilter"
            }
          },
          {
            "name": "Name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CustomerTenantId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar as contas",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CRM"
        ],
        "summary": "Cria uma nova conta",
        "description": "Este endpoint cria uma nova conta com os dados fornecidos no corpo da requisição.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Conta criada com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              }
            }
          }
        }
      }
    },
    "/Account/{id}": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Retorna uma conta por id",
        "description": "Este endpoint retorna os detalhes de uma conta especificada pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar a conta",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "CRM"
        ],
        "summary": "Atualiza uma conta",
        "description": "Este endpoint atualiza os dados de uma conta existente identificada pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AccountDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Conta atualizada com sucesso"
          }
        }
      },
      "delete": {
        "tags": [
          "CRM"
        ],
        "summary": "Deleta uma conta",
        "description": "Este endpoint deleta uma conta existente identificada pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Conta deletada com sucesso"
          }
        }
      }
    },
    "/Agent": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Returns all agents",
        "description": "This endpoint returns all registered agents.",
        "parameters": [
          {
            "name": "agentType",
            "in": "query",
            "description": "0 = ZildAssist<br />1 = ZildFlow<br />2 = ZildInsightChat<br />3 = ZildChat<br />4 = ZildDocs<br />5 = ZildVoice<br />6 = ZildCoach<br />7 = ZildInsightChecklist",
            "schema": {
              "$ref": "#/components/schemas/AgentType"
            }
          },
          {
            "name": "isChat",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "description",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdByUserId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "getDefaultAgents",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "includeGlobalAgents",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully returned agents",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Creates an agent",
        "description": "This endpoint creates an agent.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully created the agent",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Agent/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Returns an agent by id",
        "description": "This endpoint returns the details of an agent specified by the identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully returned the agent",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              }
            }
          },
          "404": {
            "description": "Agent not found"
          }
        }
      },
      "put": {
        "tags": [
          "Agent"
        ],
        "summary": "Updates the agent",
        "description": "This endpoint updates the agent.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully updated the agent",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentDto"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "summary": "Deletes an agent",
        "description": "This endpoint deletes an existing agent identified by id, including removal of the agent from the ElevenLabs service.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Agent deleted successfully"
          }
        }
      }
    },
    "/Agent/file": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Attaches a file to the agent",
        "description": "This endpoint adds a file to the specified agent.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "id": {
                  "style": "form"
                },
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "File attached successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "summary": "Removes a file from the agent",
        "description": "This endpoint removes a file previously attached to the agent.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDeleteFileRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDeleteFileRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDeleteFileRequestDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "File removed successfully"
          }
        }
      }
    },
    "/Agent/web-link": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Adds web page knowledge to the agent",
        "description": "This endpoint fetches the content of a web page and adds it as knowledge to the agent.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentAddWebLinkRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentAddWebLinkRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentAddWebLinkRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Web page knowledge added successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Agent"
        ],
        "summary": "Updates web page knowledge of the agent",
        "description": "This endpoint removes the old web page content and fetches the updated content, replacing it in the agent's knowledge.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentRefreshWebLinkRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentRefreshWebLinkRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentRefreshWebLinkRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Web page knowledge updated successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              }
            }
          }
        }
      }
    },
    "/Agent/create-phone-call": {
      "post": {
        "tags": [
          "Voice"
        ],
        "summary": "Creates a phone call",
        "description": "This endpoint creates a phone call for an ElevenLabs agent.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentCreateCallRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentCreateCallRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentCreateCallRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Call created successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/Agent/create-batch-call": {
      "post": {
        "tags": [
          "Voice"
        ],
        "summary": "Creates batch calls",
        "description": "This endpoint creates multiple batch phone calls for an ElevenLabs agent.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentCreateBatchCallRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentCreateBatchCallRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentCreateBatchCallRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Batch calls created successfully"
          }
        }
      }
    },
    "/Agent/voice": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Returns available voices by provider",
        "description": "This endpoint returns the available voices from a specific provider (ElevenLabs) for use with agents.",
        "parameters": [
          {
            "name": "provider",
            "in": "query",
            "description": "0 = RetellAI<br />1 = ElevenLabs",
            "schema": {
              "$ref": "#/components/schemas/VoiceProvider"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully returned voices",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoiceDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoiceDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoiceDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Agent/voice-tools": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Returns available voice tools for the current tenant",
        "parameters": [
          {
            "name": "agentId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully returned voice tools",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentVoiceToolDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentVoiceToolDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentVoiceToolDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Voice"
        ],
        "summary": "References a voice tool for the current tenant",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentVoiceToolReferenceDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentVoiceToolReferenceDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentVoiceToolReferenceDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successfully referenced voice tool",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentVoiceToolDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentVoiceToolDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentVoiceToolDto"
                }
              }
            }
          }
        }
      }
    },
    "/Agent/voice-tools/{toolId}": {
      "delete": {
        "tags": [
          "Voice"
        ],
        "summary": "Removes a voice tool reference from the current tenant",
        "parameters": [
          {
            "name": "toolId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully removed voice tool reference"
          }
        }
      }
    },
    "/Agent/elevenlabs-llms": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Returns available ElevenLabs LLMs",
        "description": "This endpoint returns the available ElevenLabs LLM models and safe capabilities for use with agents.",
        "responses": {
          "200": {
            "description": "Successfully returned LLMs",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ElevenLabsLlmDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ElevenLabsLlmDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ElevenLabsLlmDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Agent/{id}/logo-icon": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Uploads the agent logo/icon",
        "description": "This endpoint uploads a logo/icon image for the specified agent.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Logo/icon uploaded successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "summary": "Removes the agent logo/icon",
        "description": "This endpoint removes the logo/icon image of the specified agent.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Logo/icon removed successfully"
          }
        }
      }
    },
    "/Agent/conversation": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Creates a new Chat conversation with the agent",
        "description": "This endpoint creates a new conversation between a user and the agent.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentConversationRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentConversationRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentConversationRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Conversation created successfully"
          }
        }
      }
    },
    "/Agent/run": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Send an user message and runs the agent",
        "description": "This endpoint runs the agent with the provided input message.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "AgentId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "ConversationId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "UserInputMessage": {
                    "type": "string"
                  },
                  "MessageType": {
                    "$ref": "#/components/schemas/MessageType"
                  },
                  "ProgressRunId": {
                    "type": "string"
                  },
                  "DocumentId": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                },
                "AgentId": {
                  "style": "form"
                },
                "ConversationId": {
                  "style": "form"
                },
                "UserInputMessage": {
                  "style": "form"
                },
                "MessageType": {
                  "style": "form"
                },
                "ProgressRunId": {
                  "style": "form"
                },
                "DocumentId": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Execution completed successfully",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentRunTextResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentRunTextResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentRunTextResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/Knowledge": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Retorna todos os conhecimentos de agente",
        "description": "Este endpoint retorna todos os conhecimentos de agente cadastrados.",
        "responses": {
          "200": {
            "description": "Sucesso ao retornar os conhecimentos",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KnowledgeDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KnowledgeDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KnowledgeDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Cria um novo conhecimento de agente",
        "description": "Este endpoint cria um novo conhecimento de agente com os dados fornecidos.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Conhecimento criado com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeDto"
                }
              }
            }
          }
        }
      }
    },
    "/Knowledge/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Retorna um conhecimento de agente por id",
        "description": "Este endpoint retorna os detalhes de um conhecimento de agente especificado pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar o conhecimento",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Agent"
        ],
        "summary": "Atualiza um conhecimento de agente",
        "description": "Este endpoint atualiza os dados de um conhecimento de agente existente identificado pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Conhecimento atualizado com sucesso"
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "summary": "Remove um conhecimento de agente",
        "description": "Este endpoint remove um conhecimento de agente existente identificado pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Conhecimento removido com sucesso"
          }
        }
      }
    },
    "/Skill": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Retorna todas as skills visiveis",
        "description": "Este endpoint retorna as skills do tenant e as skills globais habilitadas.",
        "responses": {
          "200": {
            "description": "Sucesso ao retornar as skills",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkillDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkillDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SkillDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Cria uma nova skill",
        "description": "Este endpoint cria uma nova skill para o tenant atual.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SkillDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Skill criada com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SkillDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillDto"
                }
              }
            }
          }
        }
      }
    },
    "/Skill/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Retorna uma skill por id",
        "description": "Este endpoint retorna os detalhes de uma skill especificada pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar a skill",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SkillDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkillDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Agent"
        ],
        "summary": "Atualiza uma skill",
        "description": "Este endpoint atualiza uma skill do tenant atual.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SkillDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Skill atualizada com sucesso"
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "summary": "Remove uma skill",
        "description": "Este endpoint remove uma skill do tenant atual.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Skill removida com sucesso"
          }
        }
      }
    },
    "/AgentDataCollection/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Retorna uma variável de coleta de dados de agente por id",
        "description": "Este endpoint retorna os detalhes de uma variável de coleta de dados de agente especificada pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar a variável de coleta de dados",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDataCollectionDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDataCollectionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDataCollectionDto"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "summary": "Remove uma variável de coleta de dados de agente",
        "description": "Este endpoint remove uma variável de coleta de dados de agente existente identificada pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Ferramenta removida com sucesso"
          }
        }
      },
      "put": {
        "tags": [
          "Agent"
        ],
        "summary": "Atualiza uma variável de coleta de dados de agente",
        "description": "Este endpoint atualiza os dados de uma variável de coleta de dados de agente existente identificada pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDataCollectionDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDataCollectionDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDataCollectionDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Ferramenta atualizada com sucesso"
          }
        }
      }
    },
    "/AgentDataCollection": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Cria uma nova variável de coleta de dados de agente",
        "description": "Este endpoint cria uma nova variável de coleta de dados de agente com os dados fornecidos.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDataCollectionDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDataCollectionDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDataCollectionDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Ferramenta criada com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDataCollectionDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDataCollectionDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDataCollectionDto"
                }
              }
            }
          }
        }
      }
    },
    "/AgentDynamicVariable/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Retorna uma variável dinâmica de agente por id",
        "description": "Este endpoint retorna os detalhes de uma variável dinâmica de agente especificada pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar a variável dinâmica",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDynamicVariableDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDynamicVariableDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDynamicVariableDto"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "summary": "Remove uma variável dinâmica de agente",
        "description": "Este endpoint remove uma variável dinâmica de agente existente identificada pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Ferramenta removida com sucesso"
          }
        }
      },
      "put": {
        "tags": [
          "Agent"
        ],
        "summary": "Atualiza uma variável dinâmica de agente",
        "description": "Este endpoint atualiza os dados de uma variável dinâmica de agente existente identificada pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDynamicVariableDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDynamicVariableDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDynamicVariableDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Ferramenta atualizada com sucesso"
          }
        }
      }
    },
    "/AgentDynamicVariable": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Cria uma nova variável dinâmica de agente",
        "description": "Este endpoint cria uma nova variável dinâmica de agente com os dados fornecidos.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDynamicVariableDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDynamicVariableDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentDynamicVariableDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Ferramenta criada com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDynamicVariableDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDynamicVariableDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDynamicVariableDto"
                }
              }
            }
          }
        }
      }
    },
    "/AgentHistory/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Retorna um registro de histórico por ID",
        "description": "Este endpoint retorna os detalhes de um registro de histórico específico.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar o registro",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentHistoryDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentHistoryDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentHistoryDto"
                }
              }
            }
          },
          "404": {
            "description": "Registro não encontrado"
          }
        }
      }
    },
    "/AgentHistory/agent/{agentId}/version/{version}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Retorna uma versão específica do agente",
        "description": "Este endpoint retorna o estado do agente em uma versão específica.",
        "parameters": [
          {
            "name": "agentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar a versão",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentHistoryDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentHistoryDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentHistoryDto"
                }
              }
            }
          },
          "404": {
            "description": "Versão não encontrada"
          }
        }
      }
    },
    "/AgentHistory/filter": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Filtra o histórico de alterações com paginação",
        "description": "Este endpoint permite filtrar o histórico por agente (obrigatório), usuário, tipo de ação e período. Suporta paginação.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentHistoryFilterDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentHistoryFilterDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentHistoryFilterDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Sucesso ao retornar o histórico filtrado",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentHistoryPagedResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentHistoryPagedResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentHistoryPagedResultDto"
                }
              }
            }
          },
          "400": {
            "description": "AgentId é obrigatório"
          }
        }
      }
    },
    "/AgentHistory/rollback": {
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Reverte o agente para uma versão anterior",
        "description": "Este endpoint reverte o agente para o estado de uma versão específica.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentRollbackRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentRollbackRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentRollbackRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Sucesso ao reverter o agente",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDto"
                }
              }
            }
          },
          "400": {
            "description": "Versão inválida ou não encontrada"
          }
        }
      }
    },
    "/AgentTool/{id}": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Retorna uma ferramenta de agente por id",
        "description": "Este endpoint retorna os detalhes de uma ferramenta de agente especificada pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar a ferramenta",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentToolDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentToolDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentToolDto"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Agent"
        ],
        "summary": "Remove uma ferramenta de agente",
        "description": "Este endpoint remove uma ferramenta de agente existente identificada pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Ferramenta removida com sucesso"
          }
        }
      },
      "put": {
        "tags": [
          "Agent"
        ],
        "summary": "Atualiza uma ferramenta de agente",
        "description": "Este endpoint atualiza os dados de uma ferramenta de agente existente identificada pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentToolDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentToolDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentToolDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Ferramenta atualizada com sucesso"
          }
        }
      }
    },
    "/AgentTool": {
      "get": {
        "tags": [
          "Agent"
        ],
        "summary": "Retorna todas as ferramentas de um Agente de IA",
        "description": "Este endpoint retorna todas as ferramentas de um Agente de IA pelo identificador do Agente de IA.",
        "parameters": [
          {
            "name": "agentId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar a ferramenta",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentToolDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentToolDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AgentToolDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Agent"
        ],
        "summary": "Cria uma nova ferramenta de agente",
        "description": "Este endpoint cria uma nova ferramenta de agente com os dados fornecidos.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentToolDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AgentToolDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AgentToolDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Ferramenta criada com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AgentToolDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentToolDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentToolDto"
                }
              }
            }
          }
        }
      }
    },
    "/Checklist": {
      "get": {
        "tags": [
          "Insight"
        ],
        "summary": "Retorna todos os checklists",
        "description": "Este endpoint retorna todos os checklists cadastrados.",
        "responses": {
          "200": {
            "description": "Sucesso ao retornar os checklists",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChecklistDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChecklistDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChecklistDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Insight"
        ],
        "summary": "Cria um novo checklist",
        "description": "Este endpoint cria um novo checklist com os dados fornecidos.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Checklist criado com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistDto"
                }
              }
            }
          }
        }
      }
    },
    "/Checklist/{id}": {
      "get": {
        "tags": [
          "Insight"
        ],
        "summary": "Retorna um checklist por id",
        "description": "Este endpoint retorna os detalhes de um checklist especificado pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar o checklist",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Insight"
        ],
        "summary": "Atualiza um checklist",
        "description": "Este endpoint atualiza os dados de um checklist existente identificado pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Checklist atualizado com sucesso"
          }
        }
      }
    },
    "/ChecklistItem": {
      "get": {
        "tags": [
          "Insight"
        ],
        "summary": "Retorna itens de checklist por checklist",
        "description": "Este endpoint retorna os itens de um checklist específico.",
        "parameters": [
          {
            "name": "checklistId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar os itens",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChecklistItemDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChecklistItemDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChecklistItemDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Insight"
        ],
        "summary": "Cria um novo item de checklist",
        "description": "Este endpoint cria um novo item de checklist com os dados fornecidos.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistItemDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistItemDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistItemDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Item criado com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistItemDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistItemDto"
                }
              }
            }
          }
        }
      }
    },
    "/ChecklistItem/{id}": {
      "get": {
        "tags": [
          "Insight"
        ],
        "summary": "Retorna um item de checklist por id",
        "description": "Este endpoint retorna os detalhes de um item de checklist especificado pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar o item",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistItemDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistItemDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistItemDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Insight"
        ],
        "summary": "Atualiza um item de checklist",
        "description": "Este endpoint atualiza os dados de um item de checklist existente identificado pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistItemDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistItemDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistItemDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Item atualizado com sucesso"
          }
        }
      },
      "delete": {
        "tags": [
          "Insight"
        ],
        "summary": "Deleta um item de checklist",
        "description": "Este endpoint deleta um item de checklist. Só é possível deletar se o item não estiver vinculado a nenhuma conversa.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Item deletado com sucesso"
          },
          "400": {
            "description": "Não é possível deletar o item pois está vinculado a conversas"
          }
        }
      }
    },
    "/Contact": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Retorna todos os contatos",
        "description": "Este endpoint retorna todos os contatos cadastrados.",
        "parameters": [
          {
            "name": "EnabledFilter",
            "in": "query",
            "description": "0 = All<br />1 = Enabled<br />2 = Disabled",
            "schema": {
              "$ref": "#/components/schemas/EnabledFilter"
            }
          },
          {
            "name": "Name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar os contatos",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CRM"
        ],
        "summary": "Cria um novo contato",
        "description": "Este endpoint cria um novo contato com os dados fornecidos no corpo da requisição.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Contato criado com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ContactDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactDto"
                }
              }
            }
          }
        }
      }
    },
    "/Contact/GetByAccountId/{accountId}": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Retorna contatos por conta",
        "description": "Este endpoint retorna todos os contatos vinculados a uma conta específica.",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar os contatos",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Contact/{id}": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Retorna um contato por id",
        "description": "Este endpoint retorna os detalhes de um contato especificado pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar o contato",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ContactDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "CRM"
        ],
        "summary": "Atualiza um contato",
        "description": "Este endpoint atualiza os dados de um contato existente identificado pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ContactDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Contato atualizado com sucesso"
          }
        }
      },
      "delete": {
        "tags": [
          "CRM"
        ],
        "summary": "Exclui um contato",
        "description": "Este endpoint exclui um contato existente identificado pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Contato excluído com sucesso"
          }
        }
      }
    },
    "/Conversation/email": {
      "post": {
        "tags": [
          "Assist"
        ],
        "summary": "Recebe e responde e-mails",
        "description": "Este endpoint recebe e e-mails e envia para o Agente de IA responder.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationEmailDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationEmailDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationEmailDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Mensagem processada com sucesso"
          }
        }
      }
    },
    "/Conversation/paged": {
      "get": {
        "tags": [
          "Conversation"
        ],
        "summary": "Retorna conversas paginadas",
        "description": "Este endpoint retorna as conversas paginadas conforme o filtro informado.",
        "parameters": [
          {
            "name": "EnableFilter",
            "in": "query",
            "description": "0 = All<br />1 = Enable<br />2 = Disable",
            "schema": {
              "$ref": "#/components/schemas/ConversationFilterEnable"
            }
          },
          {
            "name": "LiveAgentFilter",
            "in": "query",
            "description": "0 = All<br />1 = Enable<br />2 = Disable",
            "schema": {
              "$ref": "#/components/schemas/ConversationFilterEnable"
            }
          },
          {
            "name": "CallSuccessfulFilter",
            "in": "query",
            "description": "0 = All<br />1 = Enable<br />2 = Disable",
            "schema": {
              "$ref": "#/components/schemas/ConversationFilterEnable"
            }
          },
          {
            "name": "MessageContent",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "UserIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          {
            "name": "BotIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          {
            "name": "TagIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          {
            "name": "Id",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "ContactId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Title",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CreatedAtStart",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "CreatedAtEnd",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "FinishedAt",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "ConversationFilterQueue",
            "in": "query",
            "description": "0 = All<br />1 = InQueueWithoutDefinedUser<br />2 = InQueueWithDefinedUser",
            "schema": {
              "$ref": "#/components/schemas/ConversationFilterQueueStatus"
            }
          },
          {
            "name": "IntegrationType",
            "in": "query",
            "description": "0 = None<br />1 = Olus<br />2 = TotalIP<br />3 = MicrosoftTeams<br />4 = Fluctus<br />5 = OpaSuite<br />6 = ChatMix<br />7 = MKBOOT<br />8 = FocusChat<br />9 = Tallos<br />10 = SZFortics<br />11 = James<br />12 = MatrixGo<br />13 = Twilio<br />14 = Native<br />15 = Internal<br />16 = RetellAI<br />17 = ElevenLabs<br />18 = Email<br />19 = WhatsAppApi<br />20 = WebChat",
            "schema": {
              "$ref": "#/components/schemas/ConversationIntegrationType"
            }
          },
          {
            "name": "ConversationEvaluationStatus",
            "in": "query",
            "description": "0 = NotStarted<br />1 = InProgress<br />2 = Success<br />3 = Error<br />4 = Ineligible",
            "schema": {
              "$ref": "#/components/schemas/ConversationEvaluationStatus"
            }
          },
          {
            "name": "QueueIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          {
            "name": "CommunicationChannels",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CommunicationChannel"
              }
            }
          },
          {
            "name": "ConversationType",
            "in": "query",
            "description": "0 = ZildAssist<br />1 = ZildInsight<br />2 = AiSdrReactive<br />3 = AiSdrProactive<br />4 = AiHrInterview<br />5 = ZildCoach<br />6 = ZildVoice<br />99 = Agent",
            "schema": {
              "$ref": "#/components/schemas/ConversationType"
            }
          },
          {
            "name": "AgentType",
            "in": "query",
            "description": "0 = ZildAssist<br />1 = ZildFlow<br />2 = ZildInsightChat<br />3 = ZildChat<br />4 = ZildDocs<br />5 = ZildVoice<br />6 = ZildCoach<br />7 = ZildInsightChecklist",
            "schema": {
              "$ref": "#/components/schemas/AgentType"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "UserId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "BotId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "TagId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationDtoPagedResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationDtoPagedResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationDtoPagedResultDto"
                }
              }
            }
          }
        }
      }
    },
    "/Conversation/export": {
      "post": {
        "tags": [
          "Conversation"
        ],
        "summary": "Exporta conversas por filtro",
        "description": "Este endpoint retorna todas as conversas que atendem ao filtro informado, com itens de checklist opcionais.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationExportFilterDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationExportFilterDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationExportFilterDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConversationExportDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConversationExportDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConversationExportDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Conversation/{id}": {
      "get": {
        "tags": [
          "Conversation"
        ],
        "summary": "Retorna uma conversa por id",
        "description": "Este endpoint retorna os detalhes de uma conversa especificada pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar a conversa",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationDto"
                }
              }
            }
          }
        }
      }
    },
    "/Conversation/reevaluate": {
      "post": {
        "tags": [
          "Insight"
        ],
        "summary": "Reavalia checklist da conversa",
        "description": "Este endpoint dispara a reavaliação do checklist de uma ou mais conversas.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Reavaliacao iniciada com sucesso"
          }
        }
      }
    },
    "/Conversation/whatsapp-proactive-conversation": {
      "post": {
        "tags": [
          "Assist"
        ],
        "summary": "Cria conversa proativa no WhatsApp",
        "description": "Este endpoint cria uma conversa proativa com os dados fornecidos.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProactiveConversationDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ProactiveConversationDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ProactiveConversationDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Conversa proativa criada com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConversationDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConversationDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConversationDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Conversation/create-phone-call-to-user": {
      "post": {
        "tags": [
          "Voice"
        ],
        "summary": "Cria ligação telefônica para usuário",
        "description": "Este endpoint cria uma ligação telefônica para um usuário interno e conecta com o cliente.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePhoneCallToUserRequestDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePhoneCallToUserRequestDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePhoneCallToUserRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Ligação criada com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePhoneCallToUserResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePhoneCallToUserResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePhoneCallToUserResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/Message": {
      "get": {
        "tags": [
          "Conversation"
        ],
        "summary": "Retorna mensagens por conversa",
        "description": "Este endpoint retorna as mensagens de uma conversa especificada pelo identificador da conversa.",
        "parameters": [
          {
            "name": "conversationId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar as mensagens",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MessageDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MessageDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MessageDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Conversation"
        ],
        "summary": "Cria uma nova mensagem",
        "description": "Este endpoint cria uma nova mensagem, opcionalmente com arquivo, para uma conversa.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "Id": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "CreatedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "From": {
                    "type": "string"
                  },
                  "To": {
                    "type": "string"
                  },
                  "Content": {
                    "type": "string"
                  },
                  "ConversationId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "Sentiment": {
                    "type": "string"
                  },
                  "Offset": {
                    "type": "string"
                  },
                  "IsNPS": {
                    "type": "boolean"
                  },
                  "ContentSid": {
                    "type": "string"
                  },
                  "MessageType": {
                    "$ref": "#/components/schemas/MessageType"
                  },
                  "ConversationTemplateId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "MediaUrl": {
                    "type": "string"
                  },
                  "MediaFileName": {
                    "type": "string"
                  },
                  "TenantId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "UserId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "ContentVariables": {
                    "type": "string"
                  },
                  "MessageSid": {
                    "type": "string"
                  },
                  "MessageStatus": {
                    "$ref": "#/components/schemas/MessageStatus"
                  },
                  "Sent": {
                    "type": "boolean"
                  },
                  "Delivered": {
                    "type": "boolean"
                  },
                  "Read": {
                    "type": "boolean"
                  },
                  "ErrorCode": {
                    "type": "string"
                  },
                  "ErrorMessage": {
                    "type": "string"
                  },
                  "IsReadByUser": {
                    "type": "boolean"
                  },
                  "DocumentId": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                },
                "Id": {
                  "style": "form"
                },
                "CreatedAt": {
                  "style": "form"
                },
                "From": {
                  "style": "form"
                },
                "To": {
                  "style": "form"
                },
                "Content": {
                  "style": "form"
                },
                "ConversationId": {
                  "style": "form"
                },
                "Sentiment": {
                  "style": "form"
                },
                "Offset": {
                  "style": "form"
                },
                "IsNPS": {
                  "style": "form"
                },
                "ContentSid": {
                  "style": "form"
                },
                "MessageType": {
                  "style": "form"
                },
                "ConversationTemplateId": {
                  "style": "form"
                },
                "MediaUrl": {
                  "style": "form"
                },
                "MediaFileName": {
                  "style": "form"
                },
                "TenantId": {
                  "style": "form"
                },
                "UserId": {
                  "style": "form"
                },
                "ContentVariables": {
                  "style": "form"
                },
                "MessageSid": {
                  "style": "form"
                },
                "MessageStatus": {
                  "style": "form"
                },
                "Sent": {
                  "style": "form"
                },
                "Delivered": {
                  "style": "form"
                },
                "Read": {
                  "style": "form"
                },
                "ErrorCode": {
                  "style": "form"
                },
                "ErrorMessage": {
                  "style": "form"
                },
                "IsReadByUser": {
                  "style": "form"
                },
                "DocumentId": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Mensagem criada com sucesso"
          }
        }
      }
    },
    "/Message/{id}": {
      "get": {
        "tags": [
          "Conversation"
        ],
        "summary": "Retorna uma mensagem por id",
        "description": "Este endpoint retorna os detalhes de uma mensagem especificada pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar a mensagem",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/MessageDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Conversation"
        ],
        "summary": "Atualiza uma mensagem",
        "description": "Este endpoint atualiza os dados de uma mensagem existente identificada pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MessageDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MessageDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MessageDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Mensagem atualizada com sucesso"
          }
        }
      }
    },
    "/Message/resend": {
      "post": {
        "tags": [
          "Conversation"
        ],
        "summary": "Reenvia uma mensagem",
        "description": "Este endpoint reenvia uma mensagem já existente pelo seu identificador.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MessageDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/MessageDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/MessageDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Mensagem reenviada com sucesso"
          }
        }
      }
    },
    "/Message/{messageId}/read": {
      "put": {
        "tags": [
          "Conversation"
        ],
        "summary": "Marca uma mensagem como lida pelo usuário",
        "description": "Este endpoint marca uma mensagem específica como lida pelo usuário.",
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Mensagem marcada como lida com sucesso"
          }
        }
      }
    },
    "/ConversationTemplate": {
      "get": {
        "tags": [
          "Assist"
        ],
        "summary": "Retorna templates de WhatsApp por filtro",
        "description": "Este endpoint retorna templates de conversa conforme os filtros informados.",
        "parameters": [
          {
            "name": "EnableFilter",
            "in": "query",
            "description": "0 = All<br />1 = Enable<br />2 = Disable",
            "schema": {
              "$ref": "#/components/schemas/ConversationTemplateFilterEnable"
            }
          },
          {
            "name": "OnlyApprovedTemplates",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "TenantId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "QueueIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar os templates",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConversationTemplateDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConversationTemplateDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConversationTemplateDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Assist"
        ],
        "summary": "Cria um novo template de WhatsApp",
        "description": "Este endpoint cria um novo template de conversa com os dados fornecidos.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTemplateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTemplateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTemplateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Template criado com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationTemplateDto"
                }
              }
            }
          }
        }
      }
    },
    "/ConversationTemplate/{id}": {
      "get": {
        "tags": [
          "Assist"
        ],
        "summary": "Retorna um template de WhatsApp por id",
        "description": "Este endpoint retorna os detalhes de um template de conversa especificado pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar o template",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationTemplateDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Assist"
        ],
        "summary": "Atualiza um template de WhatsApp",
        "description": "Este endpoint atualiza os dados de um template de conversa existente identificado pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTemplateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTemplateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationTemplateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Template atualizado com sucesso"
          }
        }
      },
      "delete": {
        "tags": [
          "Assist"
        ],
        "summary": "Deleta um template de WhatsApp",
        "description": "Este endpoint deleta template de WhatsApp.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Conta deletada com sucesso"
          }
        }
      }
    },
    "/ConversationTemplate/{id}/check-approval": {
      "post": {
        "tags": [
          "Assist"
        ],
        "summary": "Verifica manualmente o status de aprovação",
        "description": "Este endpoint dispara uma verificação manual do status de aprovação do template de conversa no provedor.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Status de aprovação verificado com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationTemplateDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationTemplateDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConversationTemplateDto"
                }
              }
            }
          }
        }
      }
    },
    "/Document/paged": {
      "get": {
        "tags": [
          "Docs"
        ],
        "summary": "Retorna documentos paginados",
        "description": "Este endpoint retorna documentos paginados conforme o filtro informado.",
        "parameters": [
          {
            "name": "Title",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CreatedAtStart",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "CreatedAtEnd",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "TenantId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Private",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "CreatedByUserId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentCreateResponseDtoPagedResultDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentCreateResponseDtoPagedResultDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentCreateResponseDtoPagedResultDto"
                }
              }
            }
          }
        }
      }
    },
    "/Document/dashboard": {
      "get": {
        "tags": [
          "Docs"
        ],
        "summary": "Retorna dashboard de documentos",
        "description": "Este endpoint retorna informações resumidas e estatísticas dos documentos para exibição em dashboard. Permite filtrar por período (createdAtStart e createdAtEnd).",
        "parameters": [
          {
            "name": "CreatedAtStart",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "CreatedAtEnd",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar o dashboard",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentDashboardDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentDashboardDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentDashboardDto"
                }
              }
            }
          }
        }
      }
    },
    "/Document/{id}": {
      "get": {
        "tags": [
          "Docs"
        ],
        "summary": "Retorna um documento por id",
        "description": "Este endpoint retorna os detalhes de um documento especificado pelo identificador.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sucesso ao retornar o documento",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentCreateResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentCreateResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentCreateResponseDto"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Docs"
        ],
        "summary": "Remove um documento",
        "description": "Este endpoint remove um documento existente identificado pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Documento removido com sucesso"
          }
        }
      }
    },
    "/Document": {
      "post": {
        "tags": [
          "Docs"
        ],
        "summary": "Cria um novo documento",
        "description": "Este endpoint cria um novo documento, opcionalmente com arquivo, com os dados fornecidos.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  },
                  "Id": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "Title": {
                    "type": "string"
                  },
                  "Description": {
                    "type": "string"
                  },
                  "FileUrl": {
                    "type": "string"
                  },
                  "DocumentStatusId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "DocumentType": {
                    "$ref": "#/components/schemas/DocumentType"
                  },
                  "DocumentChecklistId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "Private": {
                    "type": "boolean"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                },
                "Id": {
                  "style": "form"
                },
                "Title": {
                  "style": "form"
                },
                "Description": {
                  "style": "form"
                },
                "FileUrl": {
                  "style": "form"
                },
                "DocumentStatusId": {
                  "style": "form"
                },
                "DocumentType": {
                  "style": "form"
                },
                "DocumentChecklistId": {
                  "style": "form"
                },
                "Private": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Documento criado com sucesso",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentCreateResponseDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentCreateResponseDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentCreateResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/Document/{id}/reprocess": {
      "post": {
        "tags": [
          "Docs"
        ],
        "summary": "Reprocessa um documento",
        "description": "Este endpoint reprocessa um documento existente identificado pelo id.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Documento reprocessado com sucesso"
          }
        }
      }
    },
    "/Flow/dashboard": {
      "get": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "FlowId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "TaskCreatedAtStart",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "TaskCreatedAtEnd",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "TaskCompletedAtStart",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "TaskCompletedAtEnd",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "TaskStatus",
            "in": "query",
            "description": "0 = Pending<br />1 = InProgress<br />2 = Completed<br />3 = Canceled",
            "schema": {
              "$ref": "#/components/schemas/FlowTaskStatus"
            }
          },
          {
            "name": "Grouping",
            "in": "query",
            "description": "0 = Day<br />1 = Month",
            "schema": {
              "$ref": "#/components/schemas/FlowDashboardGrouping"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/Flow": {
      "get": {
        "tags": [
          "Flow"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Flow"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FlowDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/Flow/{id}": {
      "get": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FlowDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/FlowRecurringTask/{id}/occurrences": {
      "get": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/FlowRecurringTask": {
      "get": {
        "tags": [
          "Flow"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Flow"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowRecurringTaskDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowRecurringTaskDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FlowRecurringTaskDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/FlowRecurringTask/{id}": {
      "get": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowRecurringTaskDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowRecurringTaskDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FlowRecurringTaskDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/FlowStage/{id}": {
      "get": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowStageDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowStageDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FlowStageDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/FlowStage": {
      "post": {
        "tags": [
          "Flow"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowStageDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowStageDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FlowStageDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/FlowTask/{id}": {
      "get": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/FlowTask": {
      "post": {
        "tags": [
          "Flow"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/FlowTaskHistory/{id}": {
      "get": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskHistoryDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskHistoryDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskHistoryDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Flow"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/FlowTaskHistory": {
      "post": {
        "tags": [
          "Flow"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskHistoryDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskHistoryDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FlowTaskHistoryDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/Insight/audio": {
      "post": {
        "tags": [
          "Insight"
        ],
        "summary": "Importa conversa de áudio para processamento do Zild Insight",
        "description": "Este endpoint cria uma conversa a partir de um arquivo de audio e metadados.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "audio": {
                    "type": "string",
                    "format": "binary"
                  },
                  "ConversationIntegrationType": {
                    "$ref": "#/components/schemas/ConversationIntegrationType"
                  },
                  "From": {
                    "type": "string"
                  },
                  "UserId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "UserName": {
                    "type": "string"
                  },
                  "UserAgentCode": {
                    "type": "string"
                  },
                  "CommunicationChannel": {
                    "$ref": "#/components/schemas/CommunicationChannel"
                  },
                  "ChecklistId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "QueueId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "CreatedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "ConversationId": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "AudioChannels": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "encoding": {
                "audio": {
                  "style": "form"
                },
                "ConversationIntegrationType": {
                  "style": "form"
                },
                "From": {
                  "style": "form"
                },
                "UserId": {
                  "style": "form"
                },
                "UserName": {
                  "style": "form"
                },
                "UserAgentCode": {
                  "style": "form"
                },
                "CommunicationChannel": {
                  "style": "form"
                },
                "ChecklistId": {
                  "style": "form"
                },
                "QueueId": {
                  "style": "form"
                },
                "CreatedAt": {
                  "style": "form"
                },
                "ConversationId": {
                  "style": "form"
                },
                "AudioChannels": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Conversa criada com sucesso"
          }
        }
      }
    },
    "/Insight/import-ms-teams": {
      "post": {
        "tags": [
          "Insight"
        ],
        "summary": "Importa conversas do Microsoft Teams para processamento do Zild Insight",
        "description": "Este endpoint importa conversas originadas do Microsoft Teams.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationImportMicrosoftTeamsDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationImportMicrosoftTeamsDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ConversationImportMicrosoftTeamsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Importacao concluida com sucesso"
          }
        }
      }
    },
    "/SubscriptionConsumption": {
      "get": {
        "tags": [
          "SubscriptionConsumption"
        ],
        "parameters": [
          {
            "name": "StartDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "EndDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/Webhook": {
      "get": {
        "tags": [
          "Webhook"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "Webhook"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/Webhook/{id}": {
      "get": {
        "tags": [
          "Webhook"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Webhook"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "put": {
        "tags": [
          "Webhook"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "legalName": {
            "type": "string",
            "nullable": true
          },
          "site": {
            "type": "string",
            "nullable": true
          },
          "linkedInUrl": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "taxId": {
            "type": "string",
            "nullable": true
          },
          "enabled": {
            "type": "boolean"
          },
          "customerTenantId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AgentAIType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ],
        "type": "integer",
        "description": "0 = AzureOpenAI<br />1 = OpenAI<br />2 = RetellAI<br />3 = ElevenLabs<br />4 = Lovable<br />5 = n8n<br />6 = Aws<br />7 = MicrosoftCopilot<br />8 = GoogleGemini<br />9 = AnthropicClaude<br />10 = Alteryx",
        "format": "int32"
      },
      "AgentAddWebLinkRequestDto": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AgentBatchCallTaskDto": {
        "type": "object",
        "properties": {
          "contactName": {
            "type": "string",
            "nullable": true
          },
          "toNumber": {
            "type": "string",
            "nullable": true
          },
          "dynamicVariables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "metadata": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AgentConversationRequestDto": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "inputMessage": {
            "type": "string",
            "nullable": true
          },
          "messageType": {
            "$ref": "#/components/schemas/MessageType"
          },
          "mediaFileName": {
            "type": "string",
            "nullable": true
          },
          "mediaUrl": {
            "type": "string",
            "nullable": true
          },
          "documentId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AgentCreateBatchCallRequestDto": {
        "type": "object",
        "properties": {
          "batchCallName": {
            "type": "string",
            "nullable": true
          },
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "fromNumber": {
            "type": "string",
            "nullable": true
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentBatchCallTaskDto"
            },
            "nullable": true
          },
          "scheduledTime": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AgentCreateCallRequestDto": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "toNumber": {
            "type": "string",
            "nullable": true
          },
          "fromNumber": {
            "type": "string",
            "nullable": true
          },
          "metadata": {
            "nullable": true
          },
          "dynamicVariables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AgentDataCollectionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "agentId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AgentDeleteFileRequestDto": {
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string",
            "nullable": true
          },
          "agentId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AgentDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 500,
            "type": "string",
            "nullable": true
          },
          "agentType": {
            "$ref": "#/components/schemas/AgentType"
          },
          "agentFilesDtos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentFilesDto"
            },
            "nullable": true
          },
          "enabled": {
            "type": "boolean"
          },
          "isChat": {
            "type": "boolean"
          },
          "instructions": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "responseFormat": {
            "type": "string",
            "nullable": true
          },
          "vectorStoreId": {
            "type": "string",
            "nullable": true
          },
          "agentAIType": {
            "$ref": "#/components/schemas/AgentAIType"
          },
          "temperature": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "topP": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "integrationAgentId": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "$ref": "#/components/schemas/Language"
          },
          "dynamicVariables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentDynamicVariableDto"
            },
            "nullable": true
          },
          "dataCollection": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentDataCollectionDto"
            },
            "nullable": true
          },
          "communicationChannel": {
            "$ref": "#/components/schemas/CommunicationChannel"
          },
          "firstMessage": {
            "maxLength": 1000,
            "type": "string",
            "nullable": true
          },
          "checklistId": {
            "type": "integer",
            "format": "int32"
          },
          "queueId": {
            "type": "integer",
            "format": "int32"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "voiceId": {
            "type": "string",
            "nullable": true
          },
          "voiceModel": {
            "type": "string",
            "nullable": true
          },
          "voiceSpeed": {
            "type": "number",
            "format": "double"
          },
          "voiceTemperature": {
            "type": "number",
            "format": "double"
          },
          "volume": {
            "type": "number",
            "format": "double"
          },
          "phoneNumberId": {
            "type": "string",
            "nullable": true
          },
          "phoneNumberType": {
            "$ref": "#/components/schemas/PhoneNumberType"
          },
          "customToolsIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "builtInTools": {
            "$ref": "#/components/schemas/BuiltInToolsDtos"
          },
          "maxDurationSeconds": {
            "type": "integer",
            "format": "int32"
          },
          "elevenLabsReasoningEffort": {
            "type": "string",
            "nullable": true
          },
          "elevenLabsMaxTokens": {
            "type": "integer",
            "format": "int32"
          },
          "elevenLabsAsrProvider": {
            "type": "string",
            "nullable": true
          },
          "elevenLabsTurnEagerness": {
            "type": "string",
            "nullable": true
          },
          "elevenLabsSpellingPatience": {
            "type": "string",
            "nullable": true
          },
          "elevenLabsTurnTimeout": {
            "type": "number",
            "format": "double"
          },
          "elevenLabsSilenceEndCallTimeout": {
            "type": "number",
            "format": "double"
          },
          "groupAgents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupAgentDto"
            },
            "nullable": true
          },
          "currentUserPermission": {
            "$ref": "#/components/schemas/AgentPermissionType"
          },
          "agentCategoryId": {
            "type": "integer",
            "format": "int32"
          },
          "logoIconUrl": {
            "maxLength": 2000,
            "type": "string",
            "nullable": true
          },
          "webhookIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "createdByUserId": {
            "type": "integer",
            "format": "int32"
          },
          "ownedByUserId": {
            "type": "integer",
            "format": "int32"
          },
          "defaultQuestions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "agentKnowledgeIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "agentSkillIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AgentDynamicVariableDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "agentId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AgentFilesDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AgentHistoryActionType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17
        ],
        "type": "integer",
        "description": "0 = Created<br />1 = Updated<br />2 = Deleted<br />3 = FileAdded<br />4 = FileRemoved<br />5 = DynamicVariableAdded<br />6 = DynamicVariableUpdated<br />7 = DynamicVariableRemoved<br />8 = DataCollectionAdded<br />9 = DataCollectionUpdated<br />10 = DataCollectionRemoved<br />11 = ToolAdded<br />12 = ToolUpdated<br />13 = ToolRemoved<br />14 = TaskAdded<br />15 = TaskUpdated<br />16 = TaskRemoved<br />17 = PermissionChanged",
        "format": "int32"
      },
      "AgentHistoryDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "agentName": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "userName": {
            "type": "string",
            "nullable": true
          },
          "userEmail": {
            "type": "string",
            "nullable": true
          },
          "actionType": {
            "$ref": "#/components/schemas/AgentHistoryActionType"
          },
          "actionTypeDescription": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "previousState": {
            "type": "string",
            "nullable": true
          },
          "newState": {
            "type": "string",
            "nullable": true
          },
          "changedFields": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AgentHistoryFilterDto": {
        "required": [
          "agentId"
        ],
        "type": "object",
        "properties": {
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "actionType": {
            "$ref": "#/components/schemas/AgentHistoryActionType"
          },
          "createdAtStart": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAtEnd": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AgentHistoryPagedResultDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentHistoryDto"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "hasNextPage": {
            "type": "boolean",
            "readOnly": true
          },
          "hasPreviousPage": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "AgentPermissionType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "0 = View<br />1 = Edit",
        "format": "int32"
      },
      "AgentRefreshWebLinkRequestDto": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "fileId": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AgentRollbackRequestDto": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "version": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AgentRunTextResponseDto": {
        "type": "object",
        "properties": {
          "conversationId": {
            "type": "integer",
            "format": "int32"
          },
          "userMessageId": {
            "type": "integer",
            "format": "int32"
          },
          "attachmentMessageId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "assistantMessageId": {
            "type": "integer",
            "format": "int32"
          },
          "reply": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AgentToolContentType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "0 = ApplicationJson<br />1 = FormUrlEncoded<br />2 = MultipartFormData",
        "format": "int32"
      },
      "AgentToolDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "agentToolType": {
            "$ref": "#/components/schemas/AgentToolType"
          },
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "prompt": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "apiUrl": {
            "type": "string",
            "nullable": true
          },
          "agentToolHttpMethod": {
            "$ref": "#/components/schemas/AgentToolHttpMethod"
          },
          "contentType": {
            "$ref": "#/components/schemas/AgentToolContentType"
          },
          "connectorType": {
            "$ref": "#/components/schemas/ConnectorType"
          },
          "connectorId": {
            "type": "integer",
            "format": "int32"
          },
          "model": {
            "maxLength": 200,
            "type": "string",
            "nullable": true
          },
          "agentToolHeaders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentToolHeader"
            },
            "nullable": true
          },
          "agentToolQueryParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentToolQueryParameter"
            },
            "nullable": true
          },
          "agentToolPathParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentToolPathParameter"
            },
            "nullable": true
          },
          "agentToolFormParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgentToolFormParameter"
            },
            "nullable": true
          },
          "subAgentId": {
            "type": "integer",
            "format": "int32"
          },
          "handoffQueueId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "handoffUserId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "agent": {
            "$ref": "#/components/schemas/AgentDto"
          }
        },
        "additionalProperties": false
      },
      "AgentToolFormParameter": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "tenantId": {
            "type": "integer",
            "format": "int32"
          },
          "agentToolId": {
            "type": "integer",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "parentAgentToolFormParameterId": {
            "type": "integer",
            "format": "int32"
          },
          "agentToolFormParameterType": {
            "$ref": "#/components/schemas/AgentToolFormParameterType"
          },
          "agentToolVariableType": {
            "$ref": "#/components/schemas/AgentToolVariableType"
          }
        },
        "additionalProperties": false
      },
      "AgentToolFormParameterType": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "description": "0 = String<br />1 = Object<br />2 = Number<br />3 = Boolean<br />4 = Array",
        "format": "int32"
      },
      "AgentToolHeader": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "tenantId": {
            "type": "integer",
            "format": "int32"
          },
          "agentToolId": {
            "type": "integer",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "agentToolVariableType": {
            "$ref": "#/components/schemas/AgentToolVariableType"
          }
        },
        "additionalProperties": false
      },
      "AgentToolHttpMethod": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "description": "0 = GET<br />1 = POST<br />2 = PUT<br />3 = DELETE<br />4 = PATCH",
        "format": "int32"
      },
      "AgentToolPathParameter": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "tenantId": {
            "type": "integer",
            "format": "int32"
          },
          "agentToolId": {
            "type": "integer",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "agentToolVariableType": {
            "$ref": "#/components/schemas/AgentToolVariableType"
          }
        },
        "additionalProperties": false
      },
      "AgentToolQueryParameter": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "tenantId": {
            "type": "integer",
            "format": "int32"
          },
          "agentToolId": {
            "type": "integer",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "agentToolVariableType": {
            "$ref": "#/components/schemas/AgentToolVariableType"
          }
        },
        "additionalProperties": false
      },
      "AgentToolType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21,
          99
        ],
        "type": "integer",
        "description": "0 = ExecuteQuery<br />1 = CreateQuery<br />2 = WebSearch<br />3 = GoogleMapsRoute<br />4 = TaskScheduler<br />5 = TextToImage<br />6 = CreateFile<br />7 = SubAgent<br />8 = CodeInterpreter<br />9 = EndConversation<br />10 = OmieFinancialSummary<br />11 = OmieAccountsPayable<br />12 = OmieAccountsReceivable<br />13 = OmieDueTitles<br />14 = OmieTransactions<br />15 = OmieBalance<br />16 = OmieCategories<br />17 = OmieEntryDetails<br />18 = AgentMemory<br />19 = HandoffToQueue<br />20 = HandoffToUser<br />21 = SendMail<br />99 = Custom",
        "format": "int32"
      },
      "AgentToolVariableType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "0 = Prompt<br />1 = Constant",
        "format": "int32"
      },
      "AgentType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "type": "integer",
        "description": "0 = ZildAssist<br />1 = ZildFlow<br />2 = ZildInsightChat<br />3 = ZildChat<br />4 = ZildDocs<br />5 = ZildVoice<br />6 = ZildCoach<br />7 = ZildInsightChecklist",
        "format": "int32"
      },
      "AgentVoiceToolDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "isTenantReference": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "AgentVoiceToolReferenceDto": {
        "type": "object",
        "properties": {
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "toolId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApprovalStatus": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "description": "0 = NotRequested<br />1 = Received<br />2 = Pending<br />3 = Approved<br />4 = Rejected",
        "format": "int32"
      },
      "BuiltInToolsDtos": {
        "type": "object",
        "properties": {
          "endCall": {
            "$ref": "#/components/schemas/EndCall"
          },
          "transferToNumber": {
            "$ref": "#/components/schemas/TransferToNumber"
          }
        },
        "additionalProperties": false
      },
      "ChecklistDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "enable": {
            "type": "boolean"
          },
          "agentId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ChecklistItemConversationDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "checklistItemId": {
            "type": "integer",
            "format": "int32"
          },
          "checklistItemName": {
            "type": "string",
            "nullable": true
          },
          "approved": {
            "type": "boolean"
          },
          "feedback": {
            "type": "string",
            "nullable": true
          },
          "score": {
            "type": "integer",
            "format": "int32"
          },
          "notApplicable": {
            "type": "boolean"
          },
          "checklistEvaluationId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "conversationId": {
            "type": "integer",
            "format": "int32"
          },
          "tenantId": {
            "type": "integer",
            "format": "int32"
          },
          "highImportance": {
            "type": "boolean"
          },
          "maxScore": {
            "type": "integer",
            "format": "int32"
          },
          "groupName": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChecklistItemDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "enable": {
            "type": "boolean"
          },
          "prompt": {
            "type": "string",
            "nullable": true
          },
          "maxScore": {
            "type": "integer",
            "format": "int32"
          },
          "highImportance": {
            "type": "boolean"
          },
          "setScoreToZero": {
            "type": "boolean"
          },
          "checklistGroupId": {
            "type": "integer",
            "format": "int32"
          },
          "integrationId": {
            "type": "string",
            "nullable": true
          },
          "checklistId": {
            "type": "integer",
            "format": "int32"
          },
          "checklistItemGroupId": {
            "type": "integer",
            "format": "int32"
          },
          "checklistItemScriptId": {
            "type": "integer",
            "format": "int32"
          },
          "canDelete": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CommunicationChannel": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8
        ],
        "type": "integer",
        "description": "0 = Default<br />1 = WhatsApp<br />2 = Telefonia<br />3 = Email<br />4 = WebChat<br />5 = InstagramDirectMessage<br />6 = FacebookMessenger<br />7 = MicrosoftTeams<br />8 = ZildCoach",
        "format": "int32"
      },
      "ConnectorType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "type": "integer",
        "description": "0 = AnalysisService<br />1 = PostgreSQL<br />2 = MySQl<br />3 = SQLServer<br />4 = GoogleBigQuery<br />5 = AzureOpenAI<br />6 = Chart<br />7 = OracleDB<br />8 = Deepgram<br />9 = AzureSpeech<br />10 = AzureLanguageNotUsedAnymore<br />11 = AzureStorage<br />12 = RetellAI<br />13 = AzureVision<br />14 = OriginalSoftware<br />15 = GoogleApi<br />16 = OpenAI<br />17 = AzureAiDocumentIntelligence<br />18 = ElevenLabs<br />19 = Twilio<br />20 = Anthropic<br />21 = GoogleGemini<br />22 = Monday<br />23 = Omie<br />24 = MEM9",
        "format": "int32"
      },
      "ContactDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "fullName": {
            "type": "string",
            "nullable": true
          },
          "linkedInUrl": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "companyName": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "integer",
            "format": "int32"
          },
          "preferredUserId": {
            "type": "integer",
            "format": "int32"
          },
          "enabled": {
            "type": "boolean"
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "primaryEmail": {
            "type": "string",
            "nullable": true
          },
          "primaryPhone": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConversationDataCollectionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "conversationId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ConversationDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "active": {
            "type": "boolean"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "liveAgent": {
            "type": "boolean"
          },
          "from": {
            "type": "string",
            "nullable": true
          },
          "conversationId": {
            "type": "string",
            "nullable": true
          },
          "waterMark": {
            "type": "string",
            "nullable": true
          },
          "token": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "finishedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "queuedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastConversationUpdateTime": {
            "type": "string",
            "format": "date-time"
          },
          "lastMessageContent": {
            "type": "string",
            "nullable": true
          },
          "contactId": {
            "type": "integer",
            "format": "int32"
          },
          "contactName": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "userName": {
            "type": "string",
            "nullable": true
          },
          "counterpartUserId": {
            "type": "integer",
            "format": "int32"
          },
          "counterpartUserName": {
            "type": "string",
            "nullable": true
          },
          "botId": {
            "type": "integer",
            "format": "int32"
          },
          "botName": {
            "type": "string",
            "nullable": true
          },
          "fileUrl": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "tenantId": {
            "type": "integer",
            "format": "int32"
          },
          "conversationSummary": {
            "type": "string",
            "nullable": true
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MessageDto"
            },
            "nullable": true
          },
          "score": {
            "type": "integer",
            "format": "int32"
          },
          "finalScore": {
            "type": "integer",
            "format": "int32"
          },
          "checklistId": {
            "type": "integer",
            "format": "int32"
          },
          "communicationChannel": {
            "$ref": "#/components/schemas/CommunicationChannel"
          },
          "conversationIntegrationType": {
            "$ref": "#/components/schemas/ConversationIntegrationType"
          },
          "duration": {
            "type": "string",
            "format": "date-span",
            "nullable": true
          },
          "highImportanceErrorDetected": {
            "type": "boolean"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagDto"
            },
            "nullable": true
          },
          "conversationEvaluationStatus": {
            "$ref": "#/components/schemas/ConversationEvaluationStatus"
          },
          "conversationEvaluationStatusMessage": {
            "type": "string",
            "nullable": true
          },
          "queueId": {
            "type": "integer",
            "format": "int32"
          },
          "queueName": {
            "type": "string",
            "nullable": true
          },
          "conversationEndedReasonId": {
            "type": "integer",
            "format": "int32"
          },
          "agentType": {
            "$ref": "#/components/schemas/AgentType"
          },
          "conversationType": {
            "$ref": "#/components/schemas/ConversationType"
          },
          "applicationStatusId": {
            "type": "integer",
            "format": "int32"
          },
          "overallSentiment": {
            "type": "string",
            "nullable": true
          },
          "callStatus": {
            "type": "string",
            "nullable": true
          },
          "disconnectionReason": {
            "type": "string",
            "nullable": true
          },
          "callSuccessful": {
            "type": "boolean"
          },
          "totalUnreadedMessagesByUser": {
            "type": "integer",
            "format": "int32"
          },
          "dynamicVariables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConversationDynamicVariableDto"
            },
            "nullable": true
          },
          "dataCollection": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConversationDataCollectionDto"
            },
            "nullable": true
          },
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "loadingResponse": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ConversationDtoPagedResultDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConversationDto"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ConversationDynamicVariableDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "conversationId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ConversationEmailDto": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "to": {
            "type": "string",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "ccEmails": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConversationEvaluationStatus": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "description": "0 = NotStarted<br />1 = InProgress<br />2 = Success<br />3 = Error<br />4 = Ineligible",
        "format": "int32"
      },
      "ConversationExportDto": {
        "type": "object",
        "properties": {
          "conversation": {
            "$ref": "#/components/schemas/ConversationDto"
          },
          "checklistItemConversations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChecklistItemConversationDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConversationExportFilterDto": {
        "type": "object",
        "properties": {
          "enableFilter": {
            "$ref": "#/components/schemas/ConversationFilterEnable"
          },
          "liveAgentFilter": {
            "$ref": "#/components/schemas/ConversationFilterEnable"
          },
          "callSuccessfulFilter": {
            "$ref": "#/components/schemas/ConversationFilterEnable"
          },
          "messageContent": {
            "type": "string",
            "nullable": true
          },
          "userIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "botIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "tagIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "from": {
            "type": "string",
            "nullable": true
          },
          "createdAtStart": {
            "type": "string",
            "format": "date-time"
          },
          "createdAtEnd": {
            "type": "string",
            "format": "date-time"
          },
          "finishedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "conversationFilterQueue": {
            "$ref": "#/components/schemas/ConversationFilterQueueStatus"
          },
          "integrationType": {
            "$ref": "#/components/schemas/ConversationIntegrationType"
          },
          "conversationEvaluationStatus": {
            "$ref": "#/components/schemas/ConversationEvaluationStatus"
          },
          "queueIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "conversationType": {
            "$ref": "#/components/schemas/ConversationType"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "botId": {
            "type": "integer",
            "format": "int32"
          },
          "tagId": {
            "type": "integer",
            "format": "int32"
          },
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "finalScoreFrom": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "finalScoreTo": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "includeChecklistItemConversations": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ConversationFilterEnable": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "0 = All<br />1 = Enable<br />2 = Disable",
        "format": "int32"
      },
      "ConversationFilterQueueStatus": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "0 = All<br />1 = InQueueWithoutDefinedUser<br />2 = InQueueWithDefinedUser",
        "format": "int32"
      },
      "ConversationImportMicrosoftTeamsDto": {
        "type": "object",
        "properties": {
          "conversationImportRequestDto": {
            "$ref": "#/components/schemas/ConversationImportRequestDto"
          },
          "conversationImportMicrosoftTeamsEntryDtos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConversationImportMicrosoftTeamsEntryDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConversationImportMicrosoftTeamsEntryDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "speechServiceResultId": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "speakerId": {
            "type": "string",
            "nullable": true
          },
          "speakerDisplayName": {
            "type": "string",
            "nullable": true
          },
          "confidence": {
            "type": "number",
            "format": "double"
          },
          "startOffset": {
            "type": "string",
            "nullable": true
          },
          "endOffset": {
            "type": "string",
            "nullable": true
          },
          "hasBeenEdited": {
            "type": "boolean"
          },
          "roomId": {
            "type": "string",
            "nullable": true
          },
          "spokenLanguageTag": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConversationImportRequestDto": {
        "type": "object",
        "properties": {
          "checklistId": {
            "type": "integer",
            "format": "int32"
          },
          "communicationChannel": {
            "$ref": "#/components/schemas/CommunicationChannel"
          },
          "tenantId": {
            "type": "integer",
            "format": "int32"
          },
          "conversationIntegrationType": {
            "$ref": "#/components/schemas/ConversationIntegrationType"
          },
          "userEmail": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "clientName": {
            "type": "string",
            "nullable": true
          },
          "fileUrl": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "queueId": {
            "type": "integer",
            "format": "int32"
          },
          "agentType": {
            "$ref": "#/components/schemas/AgentType"
          },
          "conversationType": {
            "$ref": "#/components/schemas/ConversationType"
          },
          "applicationStatusId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ConversationIntegrationType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20
        ],
        "type": "integer",
        "description": "0 = None<br />1 = Olus<br />2 = TotalIP<br />3 = MicrosoftTeams<br />4 = Fluctus<br />5 = OpaSuite<br />6 = ChatMix<br />7 = MKBOOT<br />8 = FocusChat<br />9 = Tallos<br />10 = SZFortics<br />11 = James<br />12 = MatrixGo<br />13 = Twilio<br />14 = Native<br />15 = Internal<br />16 = RetellAI<br />17 = ElevenLabs<br />18 = Email<br />19 = WhatsAppApi<br />20 = WebChat",
        "format": "int32"
      },
      "ConversationTemplateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "active": {
            "type": "boolean"
          },
          "contentSid": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "conversationTemplateType": {
            "$ref": "#/components/schemas/ConversationTemplateType"
          },
          "contentVariables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "approvalStatus": {
            "$ref": "#/components/schemas/ApprovalStatus"
          },
          "botId": {
            "type": "integer",
            "format": "int32"
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "queueIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "groupIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConversationTemplateFilterEnable": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "0 = All<br />1 = Enable<br />2 = Disable",
        "format": "int32"
      },
      "ConversationTemplateType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "0 = Utility<br />1 = Marketing<br />2 = Authentication",
        "format": "int32"
      },
      "ConversationType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          99
        ],
        "type": "integer",
        "description": "0 = ZildAssist<br />1 = ZildInsight<br />2 = AiSdrReactive<br />3 = AiSdrProactive<br />4 = AiHrInterview<br />5 = ZildCoach<br />6 = ZildVoice<br />99 = Agent",
        "format": "int32"
      },
      "CreatePhoneCallToUserRequestDto": {
        "type": "object",
        "properties": {
          "connectorType": {
            "$ref": "#/components/schemas/ConnectorType"
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userEmail": {
            "type": "string",
            "nullable": true
          },
          "customerPhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "callerId": {
            "type": "string",
            "nullable": true
          },
          "queueId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreatePhoneCallToUserResponseDto": {
        "type": "object",
        "properties": {
          "callSid": {
            "type": "string",
            "nullable": true
          },
          "conversationId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "userEmail": {
            "type": "string",
            "nullable": true
          },
          "customerPhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "callerId": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DayOfWeek": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "description": "0 = Sunday<br />1 = Monday<br />2 = Tuesday<br />3 = Wednesday<br />4 = Thursday<br />5 = Friday<br />6 = Saturday",
        "format": "int32"
      },
      "DocumentCreateResponseDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "extractedText": {
            "type": "string",
            "nullable": true
          },
          "analysisText": {
            "type": "string",
            "nullable": true
          },
          "fileUrl": {
            "type": "string",
            "nullable": true
          },
          "documentStatusId": {
            "type": "integer",
            "format": "int32"
          },
          "documentType": {
            "$ref": "#/components/schemas/DocumentType"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "analizedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "documentChecklistId": {
            "type": "integer",
            "format": "int32"
          },
          "private": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "DocumentCreateResponseDtoPagedResultDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentCreateResponseDto"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "DocumentDailyCountDto": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "nullable": true
          },
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "new": {
            "type": "integer",
            "format": "int32"
          },
          "inProgress": {
            "type": "integer",
            "format": "int32"
          },
          "approved": {
            "type": "integer",
            "format": "int32"
          },
          "rejected": {
            "type": "integer",
            "format": "int32"
          },
          "completed": {
            "type": "integer",
            "format": "int32"
          },
          "cancelled": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "DocumentDashboardDto": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int32"
          },
          "new": {
            "type": "integer",
            "format": "int32"
          },
          "inProgress": {
            "type": "integer",
            "format": "int32"
          },
          "approved": {
            "type": "integer",
            "format": "int32"
          },
          "rejected": {
            "type": "integer",
            "format": "int32"
          },
          "completed": {
            "type": "integer",
            "format": "int32"
          },
          "cancelled": {
            "type": "integer",
            "format": "int32"
          },
          "quantityPagesProcessed": {
            "type": "integer",
            "format": "int32"
          },
          "successRate": {
            "type": "number",
            "format": "double"
          },
          "dailyExecutions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentDailyCountDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentType": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "description": "0 = Image<br />1 = Word<br />2 = PDF<br />3 = Text",
        "format": "int32"
      },
      "ElevenLabsLlmDto": {
        "type": "object",
        "properties": {
          "llm": {
            "type": "string",
            "nullable": true
          },
          "maxTokensLimit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "availableReasoningEfforts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EnabledFilter": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "0 = All<br />1 = Enabled<br />2 = Disabled",
        "format": "int32"
      },
      "EndCall": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "params": {
            "$ref": "#/components/schemas/EndCallParams"
          }
        },
        "additionalProperties": false
      },
      "EndCallParams": {
        "type": "object",
        "properties": {
          "systemToolType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FlowDashboardGrouping": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "0 = Day<br />1 = Month",
        "format": "int32"
      },
      "FlowDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FlowRecurrenceDaysOfWeek": {
        "enum": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          62,
          64,
          65,
          127
        ],
        "type": "integer",
        "description": "0 = None<br />1 = Sunday<br />2 = Monday<br />4 = Tuesday<br />8 = Wednesday<br />16 = Thursday<br />32 = Friday<br />62 = Weekdays<br />64 = Saturday<br />65 = WeekendDays<br />127 = All",
        "format": "int32"
      },
      "FlowRecurrencePatternType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "type": "integer",
        "description": "0 = Minutely<br />1 = Hourly<br />2 = Daily<br />3 = Weekly<br />4 = AbsoluteMonthly<br />5 = RelativeMonthly<br />6 = AbsoluteYearly<br />7 = RelativeYearly",
        "format": "int32"
      },
      "FlowRecurrenceRangeType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "0 = NoEnd<br />1 = EndDate<br />2 = Numbered",
        "format": "int32"
      },
      "FlowRecurrenceRelativeDayType": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "description": "0 = SpecificDays<br />1 = Day<br />2 = Weekday<br />3 = WeekendDay",
        "format": "int32"
      },
      "FlowRecurrenceWeekIndex": {
        "enum": [
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "description": "1 = First<br />2 = Second<br />3 = Third<br />4 = Fourth<br />5 = Last",
        "format": "int32"
      },
      "FlowRecurringTaskDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "flowId": {
            "type": "integer",
            "format": "int32"
          },
          "flowStageId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "payload": {
            "type": "string",
            "nullable": true
          },
          "dueInMinutes": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "patternType": {
            "$ref": "#/components/schemas/FlowRecurrencePatternType"
          },
          "interval": {
            "type": "integer",
            "format": "int32"
          },
          "daysOfWeek": {
            "$ref": "#/components/schemas/FlowRecurrenceDaysOfWeek"
          },
          "firstDayOfWeek": {
            "$ref": "#/components/schemas/DayOfWeek"
          },
          "dayOfMonth": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "weekIndex": {
            "$ref": "#/components/schemas/FlowRecurrenceWeekIndex"
          },
          "relativeDayType": {
            "$ref": "#/components/schemas/FlowRecurrenceRelativeDayType"
          },
          "month": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "format": "date"
          },
          "startTime": {
            "type": "string",
            "format": "time"
          },
          "timeZoneId": {
            "type": "string",
            "nullable": true
          },
          "rangeType": {
            "$ref": "#/components/schemas/FlowRecurrenceRangeType"
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "nullable": true
          },
          "numberOfOccurrences": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "nextOccurrenceAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastOccurrenceAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "generatedOccurrences": {
            "type": "integer",
            "format": "int32"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "FlowStageDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "flowId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "order": {
            "type": "integer",
            "format": "int32"
          },
          "responsibleUserId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "responsibleAgentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isInitial": {
            "type": "boolean"
          },
          "isFinal": {
            "type": "boolean"
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "wipLimit": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FlowTaskDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "flowId": {
            "type": "integer",
            "format": "int32"
          },
          "currentFlowStageId": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/FlowTaskStatus"
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "payload": {
            "type": "string",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "canceledAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "flowRecurringTaskId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "recurringOccurrenceAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "scheduledOccurrenceAtUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FlowTaskHistoryDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "flowTaskId": {
            "type": "integer",
            "format": "int32"
          },
          "eventType": {
            "$ref": "#/components/schemas/FlowTaskHistoryEventType"
          },
          "fromFlowStageId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "toFlowStageId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "agentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "payload": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FlowTaskHistoryEventType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9
        ],
        "type": "integer",
        "description": "0 = Created<br />1 = StageChanged<br />2 = Assigned<br />3 = Completed<br />4 = Rejected<br />5 = Reopened<br />6 = Commented<br />7 = ExecutedByAgent<br />8 = EscalatedToHuman<br />9 = ExecutionFailed",
        "format": "int32"
      },
      "FlowTaskStatus": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "description": "0 = Pending<br />1 = InProgress<br />2 = Completed<br />3 = Canceled",
        "format": "int32"
      },
      "GroupAgentDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "groupId": {
            "type": "integer",
            "format": "int32"
          },
          "agentId": {
            "type": "integer",
            "format": "int32"
          },
          "permissionType": {
            "$ref": "#/components/schemas/AgentPermissionType"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "tenantId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "KnowledgeDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "groupIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Language": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19
        ],
        "type": "integer",
        "description": "0 = PtBr<br />1 = EnUS<br />2 = EsES<br />3 = FrFR<br />4 = DeDE<br />5 = ItIT<br />6 = ZhCN<br />7 = ZhTW<br />8 = JaJP<br />9 = KoKR<br />10 = RuRU<br />11 = ArSA<br />12 = HiIN<br />13 = NlNL<br />14 = PlPL<br />15 = TrTR<br />16 = ViVN<br />17 = ThTH<br />18 = IdID<br />19 = SvSE",
        "format": "int32"
      },
      "MessageDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "from": {
            "type": "string",
            "nullable": true
          },
          "to": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "conversationId": {
            "type": "integer",
            "format": "int32"
          },
          "sentiment": {
            "type": "string",
            "nullable": true
          },
          "offset": {
            "type": "string",
            "nullable": true
          },
          "isNPS": {
            "type": "boolean"
          },
          "contentSid": {
            "type": "string",
            "nullable": true
          },
          "messageType": {
            "$ref": "#/components/schemas/MessageType"
          },
          "conversationTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "mediaUrl": {
            "type": "string",
            "nullable": true
          },
          "mediaFileName": {
            "type": "string",
            "nullable": true
          },
          "tenantId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "contentVariables": {
            "type": "string",
            "nullable": true
          },
          "messageSid": {
            "type": "string",
            "nullable": true
          },
          "messageStatus": {
            "$ref": "#/components/schemas/MessageStatus"
          },
          "sent": {
            "type": "boolean"
          },
          "delivered": {
            "type": "boolean"
          },
          "read": {
            "type": "boolean"
          },
          "errorCode": {
            "type": "string",
            "nullable": true
          },
          "errorMessage": {
            "type": "string",
            "nullable": true
          },
          "isReadByUser": {
            "type": "boolean"
          },
          "documentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MessageStatus": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11
        ],
        "type": "integer",
        "description": "0 = Queued<br />1 = Sending<br />2 = Sent<br />3 = Delivered<br />4 = Receiving<br />5 = Received<br />6 = Accepted<br />7 = Scheduled<br />8 = Read<br />9 = Undelivered<br />10 = Canceled<br />11 = Failed",
        "format": "int32"
      },
      "MessageType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9
        ],
        "type": "integer",
        "description": "0 = Text<br />1 = Image<br />2 = File<br />3 = Audio<br />4 = Video<br />5 = Internal<br />6 = TemplateMarketing<br />7 = TemplateUtility<br />8 = Location<br />9 = Contact",
        "format": "int32"
      },
      "PhoneNumberType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "0 = Twilio<br />1 = SipTrunk",
        "format": "int32"
      },
      "ProactiveConversationDto": {
        "type": "object",
        "properties": {
          "communicationChannel": {
            "$ref": "#/components/schemas/CommunicationChannel"
          },
          "botId": {
            "type": "integer",
            "format": "int32"
          },
          "recipient": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "liveAgent": {
            "type": "boolean"
          },
          "conversationTemplateId": {
            "type": "integer",
            "format": "int32"
          },
          "counterpartUserId": {
            "type": "integer",
            "format": "int32"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "queueId": {
            "type": "integer",
            "format": "int32"
          },
          "contentVariables": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "accountIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "contactIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true
          },
          "conversationIntegrationType": {
            "$ref": "#/components/schemas/ConversationIntegrationType"
          }
        },
        "additionalProperties": false
      },
      "SkillDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "tenantId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 64,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 1024,
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "TagDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "tenantId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "TransferDestination": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "sipUri": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TransferItem": {
        "type": "object",
        "properties": {
          "condition": {
            "type": "string",
            "nullable": true
          },
          "transferDestination": {
            "$ref": "#/components/schemas/TransferDestination"
          },
          "transferType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TransferParams": {
        "type": "object",
        "properties": {
          "transfers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransferItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TransferToNumber": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "params": {
            "$ref": "#/components/schemas/TransferParams"
          }
        },
        "additionalProperties": false
      },
      "VoiceDto": {
        "type": "object",
        "properties": {
          "voiceId": {
            "type": "string",
            "nullable": true
          },
          "voiceName": {
            "type": "string",
            "nullable": true
          },
          "provider": {
            "type": "string",
            "nullable": true
          },
          "accent": {
            "type": "string",
            "nullable": true
          },
          "gender": {
            "type": "string",
            "nullable": true
          },
          "age": {
            "type": "string",
            "nullable": true
          },
          "previewAudioUrl": {
            "type": "string",
            "nullable": true
          },
          "category": {
            "type": "string",
            "nullable": true
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VoiceProvider": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "0 = RetellAI<br />1 = ElevenLabs",
        "format": "int32"
      },
      "WebhookDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "enable": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "webhookType": {
            "$ref": "#/components/schemas/WebhookType"
          },
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WebhookType": {
        "enum": [
          0,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ],
        "type": "integer",
        "description": "0 = EvaluationResult<br />2 = ConversationEnded<br />3 = ConversationDeleted<br />4 = CallTransferred<br />5 = DocumentNew<br />6 = DocumentInProgress<br />7 = DocumentTextExtracted<br />8 = DocumentError<br />9 = DocumentCompleted<br />10 = DocumentCancelled",
        "format": "int32"
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "description": "Insira sua chave de API de usuário. Ela possui os mesmos acessos do usuário que a gerou.",
        "name": "X-API-Key",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "ApiKey": [ ]
    }
  ]
}
